]> Creatis software - creaCLI.git/blob - bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / bbtk_Slicer_PKG / src / bbSlicerDemonRegistrationBRAINS.h
1 #ifndef __bbSlicerDemonRegistrationBRAINS_h_INCLUDED__
2 #define __bbSlicerDemonRegistrationBRAINS_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 DemonRegistrationBRAINS
25     :
26     public bbtk::AtomicBlackBox {
27         BBTK_BLACK_BOX_INTERFACE ( DemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ;
28
29         // GENERATED ARGS        
30         
31 BBTK_DECLARE_INPUT ( movingVolume , std::string );
32 BBTK_DECLARE_INPUT ( fixedVolume , 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 ( maskProcessingMode , std::string );
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 ( gradientType , int );
64 BBTK_DECLARE_INPUT ( smoothingUp , double );
65 BBTK_DECLARE_INPUT ( maxStepLength , double );
66 BBTK_DECLARE_INPUT ( turnOffDiffeomorph , bool );
67 BBTK_DECLARE_INPUT ( UseDebugImageViewer , bool );
68 BBTK_DECLARE_INPUT ( PromptAfterImageSend , bool );
69 BBTK_DECLARE_INPUT ( numberOfBCHApproximationTerms , int );
70 BBTK_DECLARE_INPUT ( numberOfThreads , int );
71
72         // EO GENERATED ARGS
73
74         BBTK_PROCESS ( Process ) ;
75         void Process ( ) ;
76     private:
77         void execute ( std::string lib , int _argc , char * _argv[] ) ;
78     } ;
79
80     BBTK_BEGIN_DESCRIBE_BLACK_BOX ( DemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ;
81     BBTK_NAME ( "DemonRegistrationBRAINS" ) ;
82     BBTK_AUTHOR ( "This tool was developed by Hans J. Johnson and Greg Harris." ) ;
83     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." ) ;
84     BBTK_CATEGORY ( "Registration.Specialized" ) ;
85
86     // GENERATED DESCRPTION
87     
88 BBTK_INPUT(DemonRegistrationBRAINS , movingVolume , "movingVolume" , std::string, "");
89 BBTK_INPUT(DemonRegistrationBRAINS , fixedVolume , "fixedVolume" , std::string, "");
90 BBTK_INPUT(DemonRegistrationBRAINS , inputPixelType , "inputPixelType" , std::string, "");
91 BBTK_INPUT(DemonRegistrationBRAINS , outputVolume , "outputVolume" , std::string, "");
92 BBTK_INPUT(DemonRegistrationBRAINS , outputDisplacementFieldVolume , "outputDisplacementFieldVolume" , std::string, "");
93 BBTK_INPUT(DemonRegistrationBRAINS , outputPixelType , "outputPixelType" , std::string, "");
94 BBTK_INPUT(DemonRegistrationBRAINS , interpolationMode , "interpolationMode" , std::string, "");
95 BBTK_INPUT(DemonRegistrationBRAINS , registrationFilterType , "registrationFilterType" , std::string, "");
96 BBTK_INPUT(DemonRegistrationBRAINS , smoothDisplacementFieldSigma , "smoothDisplacementFieldSigma" , double, "");
97 BBTK_INPUT(DemonRegistrationBRAINS , numberOfPyramidLevels , "numberOfPyramidLevels" , int, "");
98 BBTK_INPUT(DemonRegistrationBRAINS , minimumFixedPyramid , "minimumFixedPyramid" , std::vector<int>, "");
99 BBTK_INPUT(DemonRegistrationBRAINS , minimumMovingPyramid , "minimumMovingPyramid" , std::vector<int>, "");
100 BBTK_INPUT(DemonRegistrationBRAINS , arrayOfPyramidLevelIterations , "arrayOfPyramidLevelIterations" , std::vector<int>, "");
101 BBTK_INPUT(DemonRegistrationBRAINS , histogramMatch , "histogramMatch" , bool, "");
102 BBTK_INPUT(DemonRegistrationBRAINS , numberOfHistogramBins , "numberOfHistogramBins" , int, "");
103 BBTK_INPUT(DemonRegistrationBRAINS , numberOfMatchPoints , "numberOfMatchPoints" , int, "");
104 BBTK_INPUT(DemonRegistrationBRAINS , medianFilterSize , "medianFilterSize" , std::vector<int>, "");
105 BBTK_INPUT(DemonRegistrationBRAINS , initializeWithDisplacementField , "initializeWithDisplacementField" , std::string, "");
106 BBTK_INPUT(DemonRegistrationBRAINS , initializeWithTransform , "initializeWithTransform" , std::string, "");
107 BBTK_INPUT(DemonRegistrationBRAINS , maskProcessingMode , "maskProcessingMode" , std::string, "");
108 BBTK_INPUT(DemonRegistrationBRAINS , fixedBinaryVolume , "fixedBinaryVolume" , std::string, "");
109 BBTK_INPUT(DemonRegistrationBRAINS , movingBinaryVolume , "movingBinaryVolume" , std::string, "");
110 BBTK_INPUT(DemonRegistrationBRAINS , lowerThresholdForBOBF , "lowerThresholdForBOBF" , int, "");
111 BBTK_INPUT(DemonRegistrationBRAINS , upperThresholdForBOBF , "upperThresholdForBOBF" , int, "");
112 BBTK_INPUT(DemonRegistrationBRAINS , backgroundFillValue , "backgroundFillValue" , int, "");
113 BBTK_INPUT(DemonRegistrationBRAINS , seedForBOBF , "seedForBOBF" , std::vector<int>, "");
114 BBTK_INPUT(DemonRegistrationBRAINS , neighborhoodForBOBF , "neighborhoodForBOBF" , std::vector<int>, "");
115 BBTK_INPUT(DemonRegistrationBRAINS , outputDisplacementFieldPrefix , "outputDisplacementFieldPrefix" , std::string, "");
116 BBTK_INPUT(DemonRegistrationBRAINS , outputCheckerboardVolume , "outputCheckerboardVolume" , std::string, "");
117 BBTK_INPUT(DemonRegistrationBRAINS , checkerboardPatternSubdivisions , "checkerboardPatternSubdivisions" , std::vector<int>, "");
118 BBTK_INPUT(DemonRegistrationBRAINS , outputNormalized , "outputNormalized" , bool, "");
119 BBTK_INPUT(DemonRegistrationBRAINS , outputDebug , "outputDebug" , bool, "");
120 BBTK_INPUT(DemonRegistrationBRAINS , gradientType , "gradientType" , int, "");
121 BBTK_INPUT(DemonRegistrationBRAINS , smoothingUp , "smoothingUp" , double, "");
122 BBTK_INPUT(DemonRegistrationBRAINS , maxStepLength , "maxStepLength" , double, "");
123 BBTK_INPUT(DemonRegistrationBRAINS , turnOffDiffeomorph , "turnOffDiffeomorph" , bool, "");
124 BBTK_INPUT(DemonRegistrationBRAINS , UseDebugImageViewer , "UseDebugImageViewer" , bool, "");
125 BBTK_INPUT(DemonRegistrationBRAINS , PromptAfterImageSend , "PromptAfterImageSend" , bool, "");
126 BBTK_INPUT(DemonRegistrationBRAINS , numberOfBCHApproximationTerms , "numberOfBCHApproximationTerms" , int, "");
127 BBTK_INPUT(DemonRegistrationBRAINS , numberOfThreads , "numberOfThreads" , int, "");
128
129     // EO GENERATED DESCRIPTION
130
131     BBTK_END_DESCRIBE_BLACK_BOX ( DemonRegistrationBRAINS ) ;
132 }
133
134 #endif // __bbSlicerDemonRegistrationBRAINS_h_INCLUDED__
135
136