]> Creatis software - creaCLI.git/blobdiff - ModuleCall/GenSrc/bbSlicerHistogramMatching.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / ModuleCall / GenSrc / bbSlicerHistogramMatching.h
diff --git a/ModuleCall/GenSrc/bbSlicerHistogramMatching.h b/ModuleCall/GenSrc/bbSlicerHistogramMatching.h
new file mode 100644 (file)
index 0000000..efdcef4
--- /dev/null
@@ -0,0 +1,68 @@
+#ifndef __bbSlicerHistogramMatching_h_INCLUDED__
+#define __bbSlicerHistogramMatching_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 HistogramMatching
+    :
+    public bbtk::AtomicBlackBox {
+        BBTK_BLACK_BOX_INTERFACE ( HistogramMatching , bbtk::AtomicBlackBox ) ;
+
+        // GENERATED ARGS        
+        
+BBTK_DECLARE_INPUT ( numberOfHistogramLevels , int );
+BBTK_DECLARE_INPUT ( numberOfMatchPoints , int );
+BBTK_DECLARE_INPUT ( thresholdAtMeanIntensity , bool );
+BBTK_DECLARE_INPUT ( inputVolume , std::string );
+BBTK_DECLARE_INPUT ( referenceVolume , std::string );
+BBTK_DECLARE_INPUT ( outputVolume , std::string );
+
+        // EO GENERATED ARGS
+
+        BBTK_PROCESS ( Process ) ;
+        void Process ( ) ;
+    private:
+        void execute ( std::string lib , int _argc , char * _argv[] ) ;
+    } ;
+
+    BBTK_BEGIN_DESCRIBE_BLACK_BOX ( HistogramMatching , bbtk::AtomicBlackBox ) ;
+    BBTK_NAME ( "HistogramMatching" ) ;
+    BBTK_AUTHOR ( "Bill Lorensen" ) ;
+    BBTK_DESCRIPTION ( "Normalizes the grayscale values of a source image based on the grayscale values of a reference image.  This filter uses a histogram matching technique where the histograms of the two images are matched only at a specified number of quantile values.The filter was orginally designed to normalize MR images of the sameMR protocol and same body part. The algorithm works best if background pixels are excluded from both the source and reference histograms.  A simple background exclusion method is to exclude all pixels whose grayscale values are smaller than the mean grayscale value. ThresholdAtMeanIntensity switches on this simple background exclusion method.Number of match points governs the number of quantile values to be matched.The filter assumes that both the source and reference are of the same type and that the input and output image type have the same number of dimension and have scalar pixel types." ) ;
+    BBTK_CATEGORY ( "Filtering" ) ;
+
+    // GENERATED DESCRPTION
+    
+BBTK_INPUT(HistogramMatching , numberOfHistogramLevels , "numberOfHistogramLevels" , int, "");
+BBTK_INPUT(HistogramMatching , numberOfMatchPoints , "numberOfMatchPoints" , int, "");
+BBTK_INPUT(HistogramMatching , thresholdAtMeanIntensity , "thresholdAtMeanIntensity" , bool, "");
+BBTK_INPUT(HistogramMatching , inputVolume , "inputVolume" , std::string, "");
+BBTK_INPUT(HistogramMatching , referenceVolume , "referenceVolume" , std::string, "");
+BBTK_INPUT(HistogramMatching , outputVolume , "outputVolume" , std::string, "");
+
+    // EO GENERATED DESCRIPTION
+
+    BBTK_END_DESCRIBE_BLACK_BOX ( HistogramMatching ) ;
+}
+
+#endif // __bbSlicerHistogramMatching_h_INCLUDED__
+
+