]> Creatis software - creaCLI.git/blob - bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / bbtk_Slicer_PKG / src / bbSlicerExpertAutomatedRegistration.h
1 #ifndef __bbSlicerExpertAutomatedRegistration_h_INCLUDED__
2 #define __bbSlicerExpertAutomatedRegistration_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 ExpertAutomatedRegistration
25     :
26     public bbtk::AtomicBlackBox {
27         BBTK_BLACK_BOX_INTERFACE ( ExpertAutomatedRegistration , bbtk::AtomicBlackBox ) ;
28
29         // GENERATED ARGS        
30         
31 BBTK_DECLARE_INPUT ( fixedImage , std::string );
32 BBTK_DECLARE_INPUT ( movingImage , std::string );
33 BBTK_DECLARE_INPUT ( resampledImage , std::string );
34 BBTK_DECLARE_INPUT ( loadTransform , std::string );
35 BBTK_DECLARE_INPUT ( saveTransform , std::string );
36 BBTK_DECLARE_INPUT ( initialization , std::string );
37 BBTK_DECLARE_INPUT ( registration , std::string );
38 BBTK_DECLARE_INPUT ( metric , std::string );
39 BBTK_DECLARE_INPUT ( expectedOffset , float );
40 BBTK_DECLARE_INPUT ( expectedRotation , float );
41 BBTK_DECLARE_INPUT ( expectedScale , float );
42 BBTK_DECLARE_INPUT ( expectedSkew , float );
43 BBTK_DECLARE_INPUT ( verbosityLevel , std::string );
44 BBTK_DECLARE_INPUT ( sampleFromOverlap , bool );
45 BBTK_DECLARE_INPUT ( fixedImageMask , std::string );
46 BBTK_DECLARE_INPUT ( randomNumberSeed , int );
47 BBTK_DECLARE_INPUT ( numberOfThreads , int );
48 BBTK_DECLARE_INPUT ( minimizeMemory , bool );
49 BBTK_DECLARE_INPUT ( interpolation , std::string );
50 BBTK_DECLARE_INPUT ( fixedLandmarks , std::vector<std::vector<float> > );
51 BBTK_DECLARE_INPUT ( movingLandmarks , std::vector<std::vector<float> > );
52 BBTK_DECLARE_INPUT ( rigidMaxIterations , int );
53 BBTK_DECLARE_INPUT ( rigidSamplingRatio , float );
54 BBTK_DECLARE_INPUT ( affineMaxIterations , int );
55 BBTK_DECLARE_INPUT ( affineSamplingRatio , float );
56 BBTK_DECLARE_INPUT ( bsplineMaxIterations , int );
57 BBTK_DECLARE_INPUT ( bsplineSamplingRatio , float );
58 BBTK_DECLARE_INPUT ( controlPointSpacing , int );
59
60         // EO GENERATED ARGS
61
62         BBTK_PROCESS ( Process ) ;
63         void Process ( ) ;
64     private:
65         void execute ( std::string lib , int _argc , char * _argv[] ) ;
66     } ;
67
68     BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ExpertAutomatedRegistration , bbtk::AtomicBlackBox ) ;
69     BBTK_NAME ( "ExpertAutomatedRegistration" ) ;
70     BBTK_AUTHOR ( "Stephen R Aylward, Casey B Goodlett" ) ;
71     BBTK_DESCRIPTION ( "Provides rigid, affine, and BSpline registration methods via a simple GUI" ) ;
72     BBTK_CATEGORY ( "Legacy.Registration" ) ;
73
74     // GENERATED DESCRPTION
75     
76 BBTK_INPUT(ExpertAutomatedRegistration , fixedImage , "fixedImage" , std::string, "");
77 BBTK_INPUT(ExpertAutomatedRegistration , movingImage , "movingImage" , std::string, "");
78 BBTK_INPUT(ExpertAutomatedRegistration , resampledImage , "resampledImage" , std::string, "");
79 BBTK_INPUT(ExpertAutomatedRegistration , loadTransform , "loadTransform" , std::string, "");
80 BBTK_INPUT(ExpertAutomatedRegistration , saveTransform , "saveTransform" , std::string, "");
81 BBTK_INPUT(ExpertAutomatedRegistration , initialization , "initialization" , std::string, "");
82 BBTK_INPUT(ExpertAutomatedRegistration , registration , "registration" , std::string, "");
83 BBTK_INPUT(ExpertAutomatedRegistration , metric , "metric" , std::string, "");
84 BBTK_INPUT(ExpertAutomatedRegistration , expectedOffset , "expectedOffset" , float, "");
85 BBTK_INPUT(ExpertAutomatedRegistration , expectedRotation , "expectedRotation" , float, "");
86 BBTK_INPUT(ExpertAutomatedRegistration , expectedScale , "expectedScale" , float, "");
87 BBTK_INPUT(ExpertAutomatedRegistration , expectedSkew , "expectedSkew" , float, "");
88 BBTK_INPUT(ExpertAutomatedRegistration , verbosityLevel , "verbosityLevel" , std::string, "");
89 BBTK_INPUT(ExpertAutomatedRegistration , sampleFromOverlap , "sampleFromOverlap" , bool, "");
90 BBTK_INPUT(ExpertAutomatedRegistration , fixedImageMask , "fixedImageMask" , std::string, "");
91 BBTK_INPUT(ExpertAutomatedRegistration , randomNumberSeed , "randomNumberSeed" , int, "");
92 BBTK_INPUT(ExpertAutomatedRegistration , numberOfThreads , "numberOfThreads" , int, "");
93 BBTK_INPUT(ExpertAutomatedRegistration , minimizeMemory , "minimizeMemory" , bool, "");
94 BBTK_INPUT(ExpertAutomatedRegistration , interpolation , "interpolation" , std::string, "");
95 BBTK_INPUT(ExpertAutomatedRegistration , fixedLandmarks , "fixedLandmarks" , std::vector<std::vector<float> >, "");
96 BBTK_INPUT(ExpertAutomatedRegistration , movingLandmarks , "movingLandmarks" , std::vector<std::vector<float> >, "");
97 BBTK_INPUT(ExpertAutomatedRegistration , rigidMaxIterations , "rigidMaxIterations" , int, "");
98 BBTK_INPUT(ExpertAutomatedRegistration , rigidSamplingRatio , "rigidSamplingRatio" , float, "");
99 BBTK_INPUT(ExpertAutomatedRegistration , affineMaxIterations , "affineMaxIterations" , int, "");
100 BBTK_INPUT(ExpertAutomatedRegistration , affineSamplingRatio , "affineSamplingRatio" , float, "");
101 BBTK_INPUT(ExpertAutomatedRegistration , bsplineMaxIterations , "bsplineMaxIterations" , int, "");
102 BBTK_INPUT(ExpertAutomatedRegistration , bsplineSamplingRatio , "bsplineSamplingRatio" , float, "");
103 BBTK_INPUT(ExpertAutomatedRegistration , controlPointSpacing , "controlPointSpacing" , int, "");
104
105     // EO GENERATED DESCRIPTION
106
107     BBTK_END_DESCRIBE_BLACK_BOX ( ExpertAutomatedRegistration ) ;
108 }
109
110 #endif // __bbSlicerExpertAutomatedRegistration_h_INCLUDED__
111
112