]> Creatis software - creaCLI.git/blob - ModuleCall/GenSrc/bbSlicerRicianLMMSEImageFilter.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / ModuleCall / GenSrc / bbSlicerRicianLMMSEImageFilter.h
1 #ifndef __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__
2 #define __bbSlicerRicianLMMSEImageFilter_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 RicianLMMSEImageFilter
25     :
26     public bbtk::AtomicBlackBox {
27         BBTK_BLACK_BOX_INTERFACE ( RicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ;
28
29         // GENERATED ARGS        
30         
31 BBTK_DECLARE_INPUT ( iIterations , int );
32 BBTK_DECLARE_INPUT ( iRadiusEstimation , std::vector<int> );
33 BBTK_DECLARE_INPUT ( iRadiusFiltering , std::vector<int> );
34 BBTK_DECLARE_INPUT ( iMinimumNumberOfUsedVoxelsF , int );
35 BBTK_DECLARE_INPUT ( iMinimumNumberOfUsedVoxelsE , int );
36 BBTK_DECLARE_INPUT ( dMinSTD , int );
37 BBTK_DECLARE_INPUT ( dMaxSTD , int );
38 BBTK_DECLARE_INPUT ( dResFact , double );
39 BBTK_DECLARE_INPUT ( bUseAbsoluteValue , bool );
40 BBTK_DECLARE_INPUT ( inputVolume , std::string );
41 BBTK_DECLARE_INPUT ( outputVolume , std::string );
42
43         // EO GENERATED ARGS
44
45         BBTK_PROCESS ( Process ) ;
46         void Process ( ) ;
47     private:
48         void execute ( std::string lib , int _argc , char * _argv[] ) ;
49     } ;
50
51     BBTK_BEGIN_DESCRIBE_BLACK_BOX ( RicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ;
52     BBTK_NAME ( "RicianLMMSEImageFilter" ) ;
53     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." ) ;
54     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." ) ;
55     BBTK_CATEGORY ( "Diffusion.Denoising" ) ;
56
57     // GENERATED DESCRPTION
58     
59 BBTK_INPUT(RicianLMMSEImageFilter , iIterations , "iIterations" , int, "");
60 BBTK_INPUT(RicianLMMSEImageFilter , iRadiusEstimation , "iRadiusEstimation" , std::vector<int>, "");
61 BBTK_INPUT(RicianLMMSEImageFilter , iRadiusFiltering , "iRadiusFiltering" , std::vector<int>, "");
62 BBTK_INPUT(RicianLMMSEImageFilter , iMinimumNumberOfUsedVoxelsF , "iMinimumNumberOfUsedVoxelsF" , int, "");
63 BBTK_INPUT(RicianLMMSEImageFilter , iMinimumNumberOfUsedVoxelsE , "iMinimumNumberOfUsedVoxelsE" , int, "");
64 BBTK_INPUT(RicianLMMSEImageFilter , dMinSTD , "dMinSTD" , int, "");
65 BBTK_INPUT(RicianLMMSEImageFilter , dMaxSTD , "dMaxSTD" , int, "");
66 BBTK_INPUT(RicianLMMSEImageFilter , dResFact , "dResFact" , double, "");
67 BBTK_INPUT(RicianLMMSEImageFilter , bUseAbsoluteValue , "bUseAbsoluteValue" , bool, "");
68 BBTK_INPUT(RicianLMMSEImageFilter , inputVolume , "inputVolume" , std::string, "");
69 BBTK_INPUT(RicianLMMSEImageFilter , outputVolume , "outputVolume" , std::string, "");
70
71     // EO GENERATED DESCRIPTION
72
73     BBTK_END_DESCRIBE_BLACK_BOX ( RicianLMMSEImageFilter ) ;
74 }
75
76 #endif // __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__
77
78