]> Creatis software - creaCLI.git/blob - ModuleCall/GenSrc/bbSlicerN4ITKMRIBiascorrection.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / ModuleCall / GenSrc / bbSlicerN4ITKMRIBiascorrection.h
1 #ifndef __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__
2 #define __bbSlicerN4ITKMRIBiascorrection_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 N4ITKMRIBiascorrection
25     :
26     public bbtk::AtomicBlackBox {
27         BBTK_BLACK_BOX_INTERFACE ( N4ITKMRIBiascorrection , bbtk::AtomicBlackBox ) ;
28
29         // GENERATED ARGS        
30         
31 BBTK_DECLARE_INPUT ( inputImageName , std::string );
32 BBTK_DECLARE_INPUT ( maskImageName , std::string );
33 BBTK_DECLARE_INPUT ( outputImageName , std::string );
34 BBTK_DECLARE_INPUT ( outputBiasFieldName , std::string );
35 BBTK_DECLARE_INPUT ( numberOfIterations , std::vector<int> );
36 BBTK_DECLARE_INPUT ( convergenceThreshold , float );
37 BBTK_DECLARE_INPUT ( initialMeshResolution , std::vector<float> );
38 BBTK_DECLARE_INPUT ( splineDistance , float );
39 BBTK_DECLARE_INPUT ( shrinkFactor , int );
40 BBTK_DECLARE_INPUT ( bsplineOrder , int );
41 BBTK_DECLARE_INPUT ( weightImageName , std::string );
42 BBTK_DECLARE_INPUT ( histogramSharpening , std::vector<float> );
43
44         // EO GENERATED ARGS
45
46         BBTK_PROCESS ( Process ) ;
47         void Process ( ) ;
48     private:
49         void execute ( std::string lib , int _argc , char * _argv[] ) ;
50     } ;
51
52     BBTK_BEGIN_DESCRIBE_BLACK_BOX ( N4ITKMRIBiascorrection , bbtk::AtomicBlackBox ) ;
53     BBTK_NAME ( "N4ITKMRIBiascorrection" ) ;
54     BBTK_AUTHOR ( "Nick Tustison algorithm and ITK implementation, Andrey Fedorov Slicer wrapping, Ron Kikinis PI" ) ;
55     BBTK_DESCRIPTION ( "Performs MRI bias correction using N4 algorithm. This module is based on the ITK filters contributed in the following publication:  Tustison N, Gee J 'N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction', The Insight Journal 2009 January-June, http://hdl.handle.net/10380/3053" ) ;
56     BBTK_CATEGORY ( "Filtering" ) ;
57
58     // GENERATED DESCRPTION
59     
60 BBTK_INPUT(N4ITKMRIBiascorrection , inputImageName , "inputImageName" , std::string, "");
61 BBTK_INPUT(N4ITKMRIBiascorrection , maskImageName , "maskImageName" , std::string, "");
62 BBTK_INPUT(N4ITKMRIBiascorrection , outputImageName , "outputImageName" , std::string, "");
63 BBTK_INPUT(N4ITKMRIBiascorrection , outputBiasFieldName , "outputBiasFieldName" , std::string, "");
64 BBTK_INPUT(N4ITKMRIBiascorrection , numberOfIterations , "numberOfIterations" , std::vector<int>, "");
65 BBTK_INPUT(N4ITKMRIBiascorrection , convergenceThreshold , "convergenceThreshold" , float, "");
66 BBTK_INPUT(N4ITKMRIBiascorrection , initialMeshResolution , "initialMeshResolution" , std::vector<float>, "");
67 BBTK_INPUT(N4ITKMRIBiascorrection , splineDistance , "splineDistance" , float, "");
68 BBTK_INPUT(N4ITKMRIBiascorrection , shrinkFactor , "shrinkFactor" , int, "");
69 BBTK_INPUT(N4ITKMRIBiascorrection , bsplineOrder , "bsplineOrder" , int, "");
70 BBTK_INPUT(N4ITKMRIBiascorrection , weightImageName , "weightImageName" , std::string, "");
71 BBTK_INPUT(N4ITKMRIBiascorrection , histogramSharpening , "histogramSharpening" , std::vector<float>, "");
72
73     // EO GENERATED DESCRIPTION
74
75     BBTK_END_DESCRIBE_BLACK_BOX ( N4ITKMRIBiascorrection ) ;
76 }
77
78 #endif // __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__
79
80