]> Creatis software - creaCLI.git/blobdiff - bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / bbtk_Slicer_PKG / src / bbSlicerRicianLMMSEImageFilter.h
diff --git a/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.h b/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.h
new file mode 100644 (file)
index 0000000..b734698
--- /dev/null
@@ -0,0 +1,78 @@
+#ifndef __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__
+#define __bbSlicerRicianLMMSEImageFilter_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 RicianLMMSEImageFilter
+    :
+    public bbtk::AtomicBlackBox {
+        BBTK_BLACK_BOX_INTERFACE ( RicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ;
+
+        // GENERATED ARGS        
+        
+BBTK_DECLARE_INPUT ( iIterations , int );
+BBTK_DECLARE_INPUT ( iRadiusEstimation , std::vector<int> );
+BBTK_DECLARE_INPUT ( iRadiusFiltering , std::vector<int> );
+BBTK_DECLARE_INPUT ( iMinimumNumberOfUsedVoxelsF , int );
+BBTK_DECLARE_INPUT ( iMinimumNumberOfUsedVoxelsE , int );
+BBTK_DECLARE_INPUT ( dMinSTD , int );
+BBTK_DECLARE_INPUT ( dMaxSTD , int );
+BBTK_DECLARE_INPUT ( dResFact , double );
+BBTK_DECLARE_INPUT ( bUseAbsoluteValue , bool );
+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 ( RicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ;
+    BBTK_NAME ( "RicianLMMSEImageFilter" ) ;
+    BBTK_AUTHOR ( "Antonio Tristan Vega, Santiago Aja Fernandez and Marc Niethammer. 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 image in the mean squared error sense using a Rician noise model. Images corresponding to each gradient direction, including baseline, are processed individually. The noise parameter is automatically estimated noise estimation improved but slower.Note that this is a general purpose filter for MRi images. The module jointLMMSE has been specifically designed for DWI volumes and shows a better performance, so its use is recommended instead.A complete description of the algorithm in this module can be found in:S. Aja-Fernandez, M. Niethammer, M. Kubicki, M. Shenton, and C.-F. Westin. Restoration of DWI data using a Rician LMMSE estimator. IEEE Transactions on Medical Imaging, 2710: pp. 1389-1403, Oct. 2008." ) ;
+    BBTK_CATEGORY ( "Diffusion.Denoising" ) ;
+
+    // GENERATED DESCRPTION
+    
+BBTK_INPUT(RicianLMMSEImageFilter , iIterations , "iIterations" , int, "");
+BBTK_INPUT(RicianLMMSEImageFilter , iRadiusEstimation , "iRadiusEstimation" , std::vector<int>, "");
+BBTK_INPUT(RicianLMMSEImageFilter , iRadiusFiltering , "iRadiusFiltering" , std::vector<int>, "");
+BBTK_INPUT(RicianLMMSEImageFilter , iMinimumNumberOfUsedVoxelsF , "iMinimumNumberOfUsedVoxelsF" , int, "");
+BBTK_INPUT(RicianLMMSEImageFilter , iMinimumNumberOfUsedVoxelsE , "iMinimumNumberOfUsedVoxelsE" , int, "");
+BBTK_INPUT(RicianLMMSEImageFilter , dMinSTD , "dMinSTD" , int, "");
+BBTK_INPUT(RicianLMMSEImageFilter , dMaxSTD , "dMaxSTD" , int, "");
+BBTK_INPUT(RicianLMMSEImageFilter , dResFact , "dResFact" , double, "");
+BBTK_INPUT(RicianLMMSEImageFilter , bUseAbsoluteValue , "bUseAbsoluteValue" , bool, "");
+BBTK_INPUT(RicianLMMSEImageFilter , inputVolume , "inputVolume" , std::string, "");
+BBTK_INPUT(RicianLMMSEImageFilter , outputVolume , "outputVolume" , std::string, "");
+
+    // EO GENERATED DESCRIPTION
+
+    BBTK_END_DESCRIBE_BLACK_BOX ( RicianLMMSEImageFilter ) ;
+}
+
+#endif // __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__
+
+