]> Creatis software - clitk.git/blob - itk/clitkGenericVectorInterpolator.h
removed headers
[clitk.git] / itk / clitkGenericVectorInterpolator.h
1 #ifndef __clitkGenericVectorInterpolator_h
2 #define __clitkGenericVectorInterpolator_h
3 #include "clitkImageCommon.h"
4
5 //itk include
6 #include "itkVectorNearestNeighborInterpolateImageFunction.h"
7 #include "itkVectorLinearInterpolateImageFunction.h"
8 #include "clitkVectorBSplineInterpolateImageFunction.h"
9 #include "clitkVectorBSplineInterpolateImageFunctionWithLUT.h"
10
11 /*
12
13 Requires at least the following section is the .ggo file
14
15 option "interpVF"               -       "Interpolation: 0=NN, 1=Linear, 2=BSpline, 3=BLUT"      int     no  default="1"
16 option "interpVFOrder"  -       "Order if BLUT or BSpline (0-5)"                        int     no  default="3"
17 option "interpVFSF"     -       "Sampling factor if BLUT"                               int     no  default="20"
18
19 */
20
21 namespace clitk
22 {
23   
24   template <class args_info_type,   class ImageType,  class TCoordRep >  
25   class GenericVectorInterpolator : public itk::LightObject
26   {
27   public:
28     //==============================================
29     typedef GenericVectorInterpolator     Self;
30     typedef itk::LightObject     Superclass;
31     typedef itk::SmartPointer<Self>            Pointer;
32     typedef itk::SmartPointer<const Self>      ConstPointer;
33
34     typedef itk::VectorInterpolateImageFunction<ImageType, TCoordRep> InterpolatorType;
35     typedef typename InterpolatorType::Pointer InterpolatorPointer;   
36      
37     /** Method for creation through the object factory. */
38     itkNewMacro(Self);  
39   
40     //============================================== 
41     //Set members
42     void SetArgsInfo(args_info_type args_info)
43     {
44       m_ArgsInfo= args_info;
45       m_Verbose=m_ArgsInfo.verbose_flag;
46     }
47
48     //============================================== 
49     //Get members
50     InterpolatorPointer GetInterpolatorPointer(void);
51     
52     //==============================================
53   protected:
54     GenericVectorInterpolator();
55     ~GenericVectorInterpolator() {};
56
57   private:
58     args_info_type m_ArgsInfo;
59     InterpolatorPointer m_Interpolator;
60     bool m_Verbose;
61   };
62
63 } // end namespace clitk
64 #ifndef ITK_MANUAL_INSTANTIATION
65 #include "clitkGenericVectorInterpolator.txx"
66 #endif
67
68 #endif // #define __clitkGenericVectorInterpolator_h