]> Creatis software - creaCLI.git/blob - bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / bbtk_Slicer_PKG / src / bbSlicerFastAffineregistration.h
1 #ifndef __bbSlicerFastAffineregistration_h_INCLUDED__
2 #define __bbSlicerFastAffineregistration_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 FastAffineregistration
25     :
26     public bbtk::AtomicBlackBox {
27         BBTK_BLACK_BOX_INTERFACE ( FastAffineregistration , bbtk::AtomicBlackBox ) ;
28
29         // GENERATED ARGS        
30         
31 BBTK_DECLARE_INPUT ( FixedImageSmoothingFactor , int );
32 BBTK_DECLARE_INPUT ( MovingImageSmoothingFactor , int );
33 BBTK_DECLARE_INPUT ( HistogramBins , int );
34 BBTK_DECLARE_INPUT ( SpatialSamples , int );
35 BBTK_DECLARE_INPUT ( Iterations , int );
36 BBTK_DECLARE_INPUT ( TranslationScale , double );
37 BBTK_DECLARE_INPUT ( InitialTransform , std::string );
38 BBTK_DECLARE_INPUT ( FixedImageFileName , std::string );
39 BBTK_DECLARE_INPUT ( MovingImageFileName , std::string );
40 BBTK_DECLARE_INPUT ( OutputTransform , std::string );
41 BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string );
42
43         // EO GENERATED ARGS
44
45         BBTK_PROCESS ( Process ) ;
46         void Process ( ) ;
47     private:
48         void execute ( std::string lib , int _argc , char * _argv[] ) ;
49     } ;
50
51     BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FastAffineregistration , bbtk::AtomicBlackBox ) ;
52     BBTK_NAME ( "FastAffineregistration" ) ;
53     BBTK_AUTHOR ( "Daniel Blezek" ) ;
54     BBTK_DESCRIPTION ( "Registers two images together using an affine transform and mutual information. This module is often used to align images of different subjects or images of the same subject from different modalities.This module can smooth images prior to registration to mitigate noise and improve convergence. Many of the registration parameters require a working knowledge of the algorithm although the default parameters are sufficient for many registration tasks." ) ;
55     BBTK_CATEGORY ( "Legacy.Registration" ) ;
56
57     // GENERATED DESCRPTION
58     
59 BBTK_INPUT(FastAffineregistration , FixedImageSmoothingFactor , "FixedImageSmoothingFactor" , int, "");
60 BBTK_INPUT(FastAffineregistration , MovingImageSmoothingFactor , "MovingImageSmoothingFactor" , int, "");
61 BBTK_INPUT(FastAffineregistration , HistogramBins , "HistogramBins" , int, "");
62 BBTK_INPUT(FastAffineregistration , SpatialSamples , "SpatialSamples" , int, "");
63 BBTK_INPUT(FastAffineregistration , Iterations , "Iterations" , int, "");
64 BBTK_INPUT(FastAffineregistration , TranslationScale , "TranslationScale" , double, "");
65 BBTK_INPUT(FastAffineregistration , InitialTransform , "InitialTransform" , std::string, "");
66 BBTK_INPUT(FastAffineregistration , FixedImageFileName , "FixedImageFileName" , std::string, "");
67 BBTK_INPUT(FastAffineregistration , MovingImageFileName , "MovingImageFileName" , std::string, "");
68 BBTK_INPUT(FastAffineregistration , OutputTransform , "OutputTransform" , std::string, "");
69 BBTK_INPUT(FastAffineregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, "");
70
71     // EO GENERATED DESCRIPTION
72
73     BBTK_END_DESCRIBE_BLACK_BOX ( FastAffineregistration ) ;
74 }
75
76 #endif // __bbSlicerFastAffineregistration_h_INCLUDED__
77
78