]> Creatis software - creaCLI.git/blob - bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / bbtk_Slicer_PKG / src / bbSlicerFastRigidregistration.h
1 #ifndef __bbSlicerFastRigidregistration_h_INCLUDED__
2 #define __bbSlicerFastRigidregistration_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 FastRigidregistration
25     :
26     public bbtk::AtomicBlackBox {
27         BBTK_BLACK_BOX_INTERFACE ( FastRigidregistration , bbtk::AtomicBlackBox ) ;
28
29         // GENERATED ARGS        
30         
31 BBTK_DECLARE_INPUT ( FixedImageSmoothingFactor , int );
32 BBTK_DECLARE_INPUT ( MovingImageSmoothingFactor , int );
33 BBTK_DECLARE_INPUT ( TestingMode , bool );
34 BBTK_DECLARE_INPUT ( HistogramBins , int );
35 BBTK_DECLARE_INPUT ( SpatialSamples , int );
36 BBTK_DECLARE_INPUT ( Iterations , std::vector<int> );
37 BBTK_DECLARE_INPUT ( LearningRate , std::vector<double> );
38 BBTK_DECLARE_INPUT ( TranslationScale , double );
39 BBTK_DECLARE_INPUT ( InitialTransform , std::string );
40 BBTK_DECLARE_INPUT ( FixedImageFileName , std::string );
41 BBTK_DECLARE_INPUT ( MovingImageFileName , std::string );
42 BBTK_DECLARE_INPUT ( OutputTransform , std::string );
43 BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string );
44
45         // EO GENERATED ARGS
46
47         BBTK_PROCESS ( Process ) ;
48         void Process ( ) ;
49     private:
50         void execute ( std::string lib , int _argc , char * _argv[] ) ;
51     } ;
52
53     BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FastRigidregistration , bbtk::AtomicBlackBox ) ;
54     BBTK_NAME ( "FastRigidregistration" ) ;
55     BBTK_AUTHOR ( "Daniel Blezek" ) ;
56     BBTK_DESCRIPTION ( "Registers two images together using a rigid transform and mutual information.This module was originally distributed as 'Linear registration' but has been renamed to eliminate confusion with the 'Affine registration' module.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." ) ;
57     BBTK_CATEGORY ( "Legacy.Registration" ) ;
58
59     // GENERATED DESCRPTION
60     
61 BBTK_INPUT(FastRigidregistration , FixedImageSmoothingFactor , "FixedImageSmoothingFactor" , int, "");
62 BBTK_INPUT(FastRigidregistration , MovingImageSmoothingFactor , "MovingImageSmoothingFactor" , int, "");
63 BBTK_INPUT(FastRigidregistration , TestingMode , "TestingMode" , bool, "");
64 BBTK_INPUT(FastRigidregistration , HistogramBins , "HistogramBins" , int, "");
65 BBTK_INPUT(FastRigidregistration , SpatialSamples , "SpatialSamples" , int, "");
66 BBTK_INPUT(FastRigidregistration , Iterations , "Iterations" , std::vector<int>, "");
67 BBTK_INPUT(FastRigidregistration , LearningRate , "LearningRate" , std::vector<double>, "");
68 BBTK_INPUT(FastRigidregistration , TranslationScale , "TranslationScale" , double, "");
69 BBTK_INPUT(FastRigidregistration , InitialTransform , "InitialTransform" , std::string, "");
70 BBTK_INPUT(FastRigidregistration , FixedImageFileName , "FixedImageFileName" , std::string, "");
71 BBTK_INPUT(FastRigidregistration , MovingImageFileName , "MovingImageFileName" , std::string, "");
72 BBTK_INPUT(FastRigidregistration , OutputTransform , "OutputTransform" , std::string, "");
73 BBTK_INPUT(FastRigidregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, "");
74
75     // EO GENERATED DESCRIPTION
76
77     BBTK_END_DESCRIBE_BLACK_BOX ( FastRigidregistration ) ;
78 }
79
80 #endif // __bbSlicerFastRigidregistration_h_INCLUDED__
81
82