]> Creatis software - creaCLI.git/blobdiff - bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.h
The following boxxes compilated with no errors
[creaCLI.git] / bbtk_Slicer_PKG / src / bbSlicerMRIBiasFieldCorrection.h
diff --git a/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.h b/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.h
new file mode 100644 (file)
index 0000000..7b491ff
--- /dev/null
@@ -0,0 +1,76 @@
+#ifndef __bbSlicerMRIBiasFieldCorrection_h_INCLUDED__
+#define __bbSlicerMRIBiasFieldCorrection_h_INCLUDED__
+
+#include "bbSlicer_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+
+#include <vector>
+#include <cstdlib>
+#include <dlfcn.h>
+#include <sstream>
+#include <fstream>
+#include <iostream>
+
+#include <ModuleDescriptionUtilities.h>
+#include <ModuleDescriptionParser.h>
+#include <ModuleParameterGroup.h>
+#include <ModuleDescription.h>
+#include <ModuleParameter.h>
+
+#include "CreationTool.h"
+
+namespace bbSlicer {
+
+    class bbSlicer_EXPORT MRIBiasFieldCorrection
+    :
+    public bbtk::AtomicBlackBox {
+        BBTK_BLACK_BOX_INTERFACE ( MRIBiasFieldCorrection , bbtk::AtomicBlackBox ) ;
+
+        // GENERATED ARGS        
+        
+BBTK_DECLARE_INPUT ( InputImage , std::string );
+BBTK_DECLARE_INPUT ( InputMask , std::string );
+BBTK_DECLARE_INPUT ( OutputImage , std::string );
+BBTK_DECLARE_INPUT ( AlgorithmType , std::string );
+BBTK_DECLARE_INPUT ( ShrinkFactor , int );
+BBTK_DECLARE_INPUT ( MaximumNumberOfIterations , int );
+BBTK_DECLARE_INPUT ( NumberOfFittingLevels , int );
+BBTK_DECLARE_INPUT ( WienerFilterNoise , double );
+BBTK_DECLARE_INPUT ( FullWidthAtHalfMaximum , double );
+BBTK_DECLARE_INPUT ( ConvergenceThreshold , double );
+
+        // EO GENERATED ARGS
+
+        BBTK_PROCESS ( Process ) ;
+        void Process ( ) ;
+    private:
+        void execute ( std::string lib , int _argc , char * _argv[] ) ;
+    } ;
+
+    BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MRIBiasFieldCorrection , bbtk::AtomicBlackBox ) ;
+    BBTK_NAME ( "MRIBiasFieldCorrection" ) ;
+    BBTK_AUTHOR ( "Sylvain Jaume (MIT)" ) ;
+    BBTK_DESCRIPTION ( "Corrects 3D MRI images corrupted by MRI gain field effect.  This module removes the slow-varying intensity variation from a 3D image.  The output image has a higher contrast locally and the visualization and reading of the image are improved.  This is an important pre-processinbg step for image operations requiring intensity perfect images, such as the Expectation Maximization segmentation (see EMSegment module). The N3 and N4 methods are described in N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction, Tustison N., Gee J., Insight Journal, 2009. http://hdl.handle.net/10380/3053 The Slicer code was contributed by Sylvain Jaume (MIT) for NA-MIC (http://na-mic.org)." ) ;
+    BBTK_CATEGORY ( "Legacy.Filtering" ) ;
+
+    // GENERATED DESCRPTION
+    
+BBTK_INPUT(MRIBiasFieldCorrection , InputImage , "InputImage" , std::string, "");
+BBTK_INPUT(MRIBiasFieldCorrection , InputMask , "InputMask" , std::string, "");
+BBTK_INPUT(MRIBiasFieldCorrection , OutputImage , "OutputImage" , std::string, "");
+BBTK_INPUT(MRIBiasFieldCorrection , AlgorithmType , "AlgorithmType" , std::string, "");
+BBTK_INPUT(MRIBiasFieldCorrection , ShrinkFactor , "ShrinkFactor" , int, "");
+BBTK_INPUT(MRIBiasFieldCorrection , MaximumNumberOfIterations , "MaximumNumberOfIterations" , int, "");
+BBTK_INPUT(MRIBiasFieldCorrection , NumberOfFittingLevels , "NumberOfFittingLevels" , int, "");
+BBTK_INPUT(MRIBiasFieldCorrection , WienerFilterNoise , "WienerFilterNoise" , double, "");
+BBTK_INPUT(MRIBiasFieldCorrection , FullWidthAtHalfMaximum , "FullWidthAtHalfMaximum" , double, "");
+BBTK_INPUT(MRIBiasFieldCorrection , ConvergenceThreshold , "ConvergenceThreshold" , double, "");
+
+    // EO GENERATED DESCRIPTION
+
+    BBTK_END_DESCRIBE_BLACK_BOX ( MRIBiasFieldCorrection ) ;
+}
+
+#endif // __bbSlicerMRIBiasFieldCorrection_h_INCLUDED__
+
+