]> Creatis software - creaCLI.git/blobdiff - ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / ModuleCall / GenSrc / bbSlicerUnbiasedNonLocalMeansfilterforDWI.h
diff --git a/ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h b/ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h
new file mode 100644 (file)
index 0000000..29ca6a8
--- /dev/null
@@ -0,0 +1,70 @@
+#ifndef __bbSlicerUnbiasedNonLocalMeansfilterforDWI_h_INCLUDED__
+#define __bbSlicerUnbiasedNonLocalMeansfilterforDWI_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 UnbiasedNonLocalMeansfilterforDWI
+    :
+    public bbtk::AtomicBlackBox {
+        BBTK_BLACK_BOX_INTERFACE ( UnbiasedNonLocalMeansfilterforDWI , bbtk::AtomicBlackBox ) ;
+
+        // GENERATED ARGS        
+        
+BBTK_DECLARE_INPUT ( iRadiusSearch , std::vector<int> );
+BBTK_DECLARE_INPUT ( iRadiusComp , std::vector<int> );
+BBTK_DECLARE_INPUT ( iH , float );
+BBTK_DECLARE_INPUT ( iNumNeighbors , int );
+BBTK_DECLARE_INPUT ( iRadiusEstimation , std::vector<int> );
+BBTK_DECLARE_INPUT ( inputVolume , 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 ( UnbiasedNonLocalMeansfilterforDWI , bbtk::AtomicBlackBox ) ;
+    BBTK_NAME ( "UnbiasedNonLocalMeansfilterforDWI" ) ;
+    BBTK_AUTHOR ( "Antonio Tristan Vega, Santiago Aja Fernandez. University of Valladolid SPAIN. Partially founded by grant number TEC2007-67073/TCM from the Comision Interministerial de Ciencia y Tecnologia Spain." ) ;
+    BBTK_DESCRIPTION ( "This module reduces noise or unwanted detail on a set of diffusion weighted images. For this, it filters the images using a Unbiased Non Local Means for Rician noise algorithm. It exploits not only the spatial redundancy, but the redundancy in similar gradient directions as well; it takes into account the N closest gradient directions to the direction being processed a maximum of 5 gradient directions is allowed to keep a reasonable computational load, since we do not use neither similarity maps nor block-wise implementation.The noise parameter is automatically estimated in the same way as in the jointLMMSE module.A complete description of the algorithm may be found in:Antonio Tristan-Vega and Santiago Aja-Fernandez, DWI filtering using joint information for DTI and HARDI, Medical Image Analysis, Volume 14, Issue 2, Pages 205-218. 2010.Please, note that the execution of this filter is extremely slow, son only very conservative parameters block size and search size as small as possible should be used. Even so, its execution may take several hours. The advantage of this filter over joint LMMSE is its better preservation of edges and fine structures." ) ;
+    BBTK_CATEGORY ( "Legacy.Diffusion.Denoising" ) ;
+
+    // GENERATED DESCRPTION
+    
+BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iRadiusSearch , "iRadiusSearch" , std::vector<int>, "");
+BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iRadiusComp , "iRadiusComp" , std::vector<int>, "");
+BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iH , "iH" , float, "");
+BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iNumNeighbors , "iNumNeighbors" , int, "");
+BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iRadiusEstimation , "iRadiusEstimation" , std::vector<int>, "");
+BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , inputVolume , "inputVolume" , std::string, "");
+BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , outputVolume , "outputVolume" , std::string, "");
+
+    // EO GENERATED DESCRIPTION
+
+    BBTK_END_DESCRIBE_BLACK_BOX ( UnbiasedNonLocalMeansfilterforDWI ) ;
+}
+
+#endif // __bbSlicerUnbiasedNonLocalMeansfilterforDWI_h_INCLUDED__
+
+