]> Creatis software - creaCLI.git/blob - bbtk_Slicer_PKG/src/bbSlicerVectorDemonRegistrationBRAINS.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / bbtk_Slicer_PKG / src / bbSlicerVectorDemonRegistrationBRAINS.h
1 #ifndef __bbSlicerVectorDemonRegistrationBRAINS_h_INCLUDED__
2 #define __bbSlicerVectorDemonRegistrationBRAINS_h_INCLUDED__
3
4 #include "bbSlicer_EXPORT.h"
5 #include "bbtkAtomicBlackBox.h"
6
7 #include <vector>
8 #include <cstdlib>
9 #include <dlfcn.h>
10 #include <sstream>
11 #include <fstream>
12 #include <iostream>
13
14 #include <ModuleDescriptionUtilities.h>
15 #include <ModuleDescriptionParser.h>
16 #include <ModuleParameterGroup.h>
17 #include <ModuleDescription.h>
18 #include <ModuleParameter.h>
19
20 #include "CreationTool.h"
21
22 namespace bbSlicer {
23
24     class bbSlicer_EXPORT VectorDemonRegistrationBRAINS
25     :
26     public bbtk::AtomicBlackBox {
27         BBTK_BLACK_BOX_INTERFACE ( VectorDemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ;
28
29         // GENERATED ARGS        
30         
31 BBTK_DECLARE_INPUT ( movingVolume , std::vector<std::string> );
32 BBTK_DECLARE_INPUT ( fixedVolume , std::vector<std::string> );
33 BBTK_DECLARE_INPUT ( inputPixelType , std::string );
34 BBTK_DECLARE_INPUT ( outputVolume , std::string );
35 BBTK_DECLARE_INPUT ( outputDisplacementFieldVolume , std::string );
36 BBTK_DECLARE_INPUT ( outputPixelType , std::string );
37 BBTK_DECLARE_INPUT ( interpolationMode , std::string );
38 BBTK_DECLARE_INPUT ( registrationFilterType , std::string );
39 BBTK_DECLARE_INPUT ( smoothDisplacementFieldSigma , double );
40 BBTK_DECLARE_INPUT ( numberOfPyramidLevels , int );
41 BBTK_DECLARE_INPUT ( minimumFixedPyramid , std::vector<int> );
42 BBTK_DECLARE_INPUT ( minimumMovingPyramid , std::vector<int> );
43 BBTK_DECLARE_INPUT ( arrayOfPyramidLevelIterations , std::vector<int> );
44 BBTK_DECLARE_INPUT ( histogramMatch , bool );
45 BBTK_DECLARE_INPUT ( numberOfHistogramBins , int );
46 BBTK_DECLARE_INPUT ( numberOfMatchPoints , int );
47 BBTK_DECLARE_INPUT ( medianFilterSize , std::vector<int> );
48 BBTK_DECLARE_INPUT ( initializeWithDisplacementField , std::string );
49 BBTK_DECLARE_INPUT ( initializeWithTransform , std::string );
50 BBTK_DECLARE_INPUT ( makeBOBF , bool );
51 BBTK_DECLARE_INPUT ( fixedBinaryVolume , std::string );
52 BBTK_DECLARE_INPUT ( movingBinaryVolume , std::string );
53 BBTK_DECLARE_INPUT ( lowerThresholdForBOBF , int );
54 BBTK_DECLARE_INPUT ( upperThresholdForBOBF , int );
55 BBTK_DECLARE_INPUT ( backgroundFillValue , int );
56 BBTK_DECLARE_INPUT ( seedForBOBF , std::vector<int> );
57 BBTK_DECLARE_INPUT ( neighborhoodForBOBF , std::vector<int> );
58 BBTK_DECLARE_INPUT ( outputDisplacementFieldPrefix , std::string );
59 BBTK_DECLARE_INPUT ( outputCheckerboardVolume , std::string );
60 BBTK_DECLARE_INPUT ( checkerboardPatternSubdivisions , std::vector<int> );
61 BBTK_DECLARE_INPUT ( outputNormalized , bool );
62 BBTK_DECLARE_INPUT ( outputDebug , bool );
63 BBTK_DECLARE_INPUT ( weightFactors , std::vector<float> );
64 BBTK_DECLARE_INPUT ( gradientType , int );
65 BBTK_DECLARE_INPUT ( smoothingUp , double );
66 BBTK_DECLARE_INPUT ( maxStepLength , double );
67 BBTK_DECLARE_INPUT ( turnOffDiffeomorph , bool );
68 BBTK_DECLARE_INPUT ( UseDebugImageViewer , bool );
69 BBTK_DECLARE_INPUT ( PromptAfterImageSend , bool );
70 BBTK_DECLARE_INPUT ( numberOfBCHApproximationTerms , int );
71 BBTK_DECLARE_INPUT ( numberOfThreads , int );
72
73         // EO GENERATED ARGS
74
75         BBTK_PROCESS ( Process ) ;
76         void Process ( ) ;
77     private:
78         void execute ( std::string lib , int _argc , char * _argv[] ) ;
79     } ;
80
81     BBTK_BEGIN_DESCRIBE_BLACK_BOX ( VectorDemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ;
82     BBTK_NAME ( "VectorDemonRegistrationBRAINS" ) ;
83     BBTK_AUTHOR ( "This tool was developed by Hans J. Johnson and Greg Harris." ) ;
84     BBTK_DESCRIPTION ( "This program finds a deformation field to warp a moving image onto a fixed image.  The images must be of the same signal kind, and contain an image of the same kind of object.  This program uses the Thirion Demons warp software in ITK, the Insight Toolkit.  Additional information is available at: http://www.nitrc.org/projects/brainsdemonwarp." ) ;
85     BBTK_CATEGORY ( "Registration.Specialized" ) ;
86
87     // GENERATED DESCRPTION
88     
89 BBTK_INPUT(VectorDemonRegistrationBRAINS , movingVolume , "movingVolume" , std::vector<std::string>, "");
90 BBTK_INPUT(VectorDemonRegistrationBRAINS , fixedVolume , "fixedVolume" , std::vector<std::string>, "");
91 BBTK_INPUT(VectorDemonRegistrationBRAINS , inputPixelType , "inputPixelType" , std::string, "");
92 BBTK_INPUT(VectorDemonRegistrationBRAINS , outputVolume , "outputVolume" , std::string, "");
93 BBTK_INPUT(VectorDemonRegistrationBRAINS , outputDisplacementFieldVolume , "outputDisplacementFieldVolume" , std::string, "");
94 BBTK_INPUT(VectorDemonRegistrationBRAINS , outputPixelType , "outputPixelType" , std::string, "");
95 BBTK_INPUT(VectorDemonRegistrationBRAINS , interpolationMode , "interpolationMode" , std::string, "");
96 BBTK_INPUT(VectorDemonRegistrationBRAINS , registrationFilterType , "registrationFilterType" , std::string, "");
97 BBTK_INPUT(VectorDemonRegistrationBRAINS , smoothDisplacementFieldSigma , "smoothDisplacementFieldSigma" , double, "");
98 BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfPyramidLevels , "numberOfPyramidLevels" , int, "");
99 BBTK_INPUT(VectorDemonRegistrationBRAINS , minimumFixedPyramid , "minimumFixedPyramid" , std::vector<int>, "");
100 BBTK_INPUT(VectorDemonRegistrationBRAINS , minimumMovingPyramid , "minimumMovingPyramid" , std::vector<int>, "");
101 BBTK_INPUT(VectorDemonRegistrationBRAINS , arrayOfPyramidLevelIterations , "arrayOfPyramidLevelIterations" , std::vector<int>, "");
102 BBTK_INPUT(VectorDemonRegistrationBRAINS , histogramMatch , "histogramMatch" , bool, "");
103 BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfHistogramBins , "numberOfHistogramBins" , int, "");
104 BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfMatchPoints , "numberOfMatchPoints" , int, "");
105 BBTK_INPUT(VectorDemonRegistrationBRAINS , medianFilterSize , "medianFilterSize" , std::vector<int>, "");
106 BBTK_INPUT(VectorDemonRegistrationBRAINS , initializeWithDisplacementField , "initializeWithDisplacementField" , std::string, "");
107 BBTK_INPUT(VectorDemonRegistrationBRAINS , initializeWithTransform , "initializeWithTransform" , std::string, "");
108 BBTK_INPUT(VectorDemonRegistrationBRAINS , makeBOBF , "makeBOBF" , bool, "");
109 BBTK_INPUT(VectorDemonRegistrationBRAINS , fixedBinaryVolume , "fixedBinaryVolume" , std::string, "");
110 BBTK_INPUT(VectorDemonRegistrationBRAINS , movingBinaryVolume , "movingBinaryVolume" , std::string, "");
111 BBTK_INPUT(VectorDemonRegistrationBRAINS , lowerThresholdForBOBF , "lowerThresholdForBOBF" , int, "");
112 BBTK_INPUT(VectorDemonRegistrationBRAINS , upperThresholdForBOBF , "upperThresholdForBOBF" , int, "");
113 BBTK_INPUT(VectorDemonRegistrationBRAINS , backgroundFillValue , "backgroundFillValue" , int, "");
114 BBTK_INPUT(VectorDemonRegistrationBRAINS , seedForBOBF , "seedForBOBF" , std::vector<int>, "");
115 BBTK_INPUT(VectorDemonRegistrationBRAINS , neighborhoodForBOBF , "neighborhoodForBOBF" , std::vector<int>, "");
116 BBTK_INPUT(VectorDemonRegistrationBRAINS , outputDisplacementFieldPrefix , "outputDisplacementFieldPrefix" , std::string, "");
117 BBTK_INPUT(VectorDemonRegistrationBRAINS , outputCheckerboardVolume , "outputCheckerboardVolume" , std::string, "");
118 BBTK_INPUT(VectorDemonRegistrationBRAINS , checkerboardPatternSubdivisions , "checkerboardPatternSubdivisions" , std::vector<int>, "");
119 BBTK_INPUT(VectorDemonRegistrationBRAINS , outputNormalized , "outputNormalized" , bool, "");
120 BBTK_INPUT(VectorDemonRegistrationBRAINS , outputDebug , "outputDebug" , bool, "");
121 BBTK_INPUT(VectorDemonRegistrationBRAINS , weightFactors , "weightFactors" , std::vector<float>, "");
122 BBTK_INPUT(VectorDemonRegistrationBRAINS , gradientType , "gradientType" , int, "");
123 BBTK_INPUT(VectorDemonRegistrationBRAINS , smoothingUp , "smoothingUp" , double, "");
124 BBTK_INPUT(VectorDemonRegistrationBRAINS , maxStepLength , "maxStepLength" , double, "");
125 BBTK_INPUT(VectorDemonRegistrationBRAINS , turnOffDiffeomorph , "turnOffDiffeomorph" , bool, "");
126 BBTK_INPUT(VectorDemonRegistrationBRAINS , UseDebugImageViewer , "UseDebugImageViewer" , bool, "");
127 BBTK_INPUT(VectorDemonRegistrationBRAINS , PromptAfterImageSend , "PromptAfterImageSend" , bool, "");
128 BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfBCHApproximationTerms , "numberOfBCHApproximationTerms" , int, "");
129 BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfThreads , "numberOfThreads" , int, "");
130
131     // EO GENERATED DESCRIPTION
132
133     BBTK_END_DESCRIBE_BLACK_BOX ( VectorDemonRegistrationBRAINS ) ;
134 }
135
136 #endif // __bbSlicerVectorDemonRegistrationBRAINS_h_INCLUDED__
137
138