]> Creatis software - creaCLI.git/blob - bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / bbtk_Slicer_PKG / src / bbSlicerResampleScalarVolume.h
1 #ifndef __bbSlicerResampleScalarVolume_h_INCLUDED__
2 #define __bbSlicerResampleScalarVolume_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 ResampleScalarVolume
25     :
26     public bbtk::AtomicBlackBox {
27         BBTK_BLACK_BOX_INTERFACE ( ResampleScalarVolume , bbtk::AtomicBlackBox ) ;
28
29         // GENERATED ARGS        
30         
31 BBTK_DECLARE_INPUT ( outputPixelSpacing , std::vector<float> );
32 BBTK_DECLARE_INPUT ( interpolationType , std::string );
33 BBTK_DECLARE_INPUT ( InputVolume , std::string );
34 BBTK_DECLARE_INPUT ( OutputVolume , std::string );
35
36         // EO GENERATED ARGS
37
38         BBTK_PROCESS ( Process ) ;
39         void Process ( ) ;
40     private:
41         void execute ( std::string lib , int _argc , char * _argv[] ) ;
42     } ;
43
44     BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ResampleScalarVolume , bbtk::AtomicBlackBox ) ;
45     BBTK_NAME ( "ResampleScalarVolume" ) ;
46     BBTK_AUTHOR ( "Bill Lorensen" ) ;
47     BBTK_DESCRIPTION ( "Resampling an image is an important task in image analysis. It is especially important in the frame of image registration. This module implements image resampling through the use of itk Transforms. This module uses an Identity Transform. The resampling is controlled by the Output Spacing. 'Resampling' is performed in space coordinates, not pixel/grid coordinates. It is quite important to ensure that image spacing is properly set on the images involved. The interpolator is required since the mapping from one space to the other will often require evaluation of the intensity of the image at non-grid positions. Several interpolators are available: linear, nearest neighbor, bspline and five flavors of sinc. The sinc interpolators, although more precise, are much slower than the linear and nearest neighbor interpolator. To resample label volumnes, nearest neighbor interpolation should be used exclusively." ) ;
48     BBTK_CATEGORY ( "Legacy.Filtering" ) ;
49
50     // GENERATED DESCRPTION
51     
52 BBTK_INPUT(ResampleScalarVolume , outputPixelSpacing , "outputPixelSpacing" , std::vector<float>, "");
53 BBTK_INPUT(ResampleScalarVolume , interpolationType , "interpolationType" , std::string, "");
54 BBTK_INPUT(ResampleScalarVolume , InputVolume , "InputVolume" , std::string, "");
55 BBTK_INPUT(ResampleScalarVolume , OutputVolume , "OutputVolume" , std::string, "");
56
57     // EO GENERATED DESCRIPTION
58
59     BBTK_END_DESCRIBE_BLACK_BOX ( ResampleScalarVolume ) ;
60 }
61
62 #endif // __bbSlicerResampleScalarVolume_h_INCLUDED__
63
64