1 #ifndef __clitkGenericVectorInterpolator_h
2 #define __clitkGenericVectorInterpolator_h
3 #include "clitkImageCommon.h"
6 #include "itkVectorNearestNeighborInterpolateImageFunction.h"
7 #include "itkVectorLinearInterpolateImageFunction.h"
8 #include "clitkVectorBSplineInterpolateImageFunction.h"
9 #include "clitkVectorBSplineInterpolateImageFunctionWithLUT.h"
13 Requires at least the following section is the .ggo file
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"
24 template <class args_info_type, class ImageType, class TCoordRep >
25 class GenericVectorInterpolator : public itk::LightObject
28 //==============================================
29 typedef GenericVectorInterpolator Self;
30 typedef itk::LightObject Superclass;
31 typedef itk::SmartPointer<Self> Pointer;
32 typedef itk::SmartPointer<const Self> ConstPointer;
34 typedef itk::VectorInterpolateImageFunction<ImageType, TCoordRep> InterpolatorType;
35 typedef typename InterpolatorType::Pointer InterpolatorPointer;
37 /** Method for creation through the object factory. */
40 //==============================================
42 void SetArgsInfo(args_info_type args_info)
44 m_ArgsInfo= args_info;
45 m_Verbose=m_ArgsInfo.verbose_flag;
48 //==============================================
50 InterpolatorPointer GetInterpolatorPointer(void);
52 //==============================================
54 GenericVectorInterpolator();
55 ~GenericVectorInterpolator() {};
58 args_info_type m_ArgsInfo;
59 InterpolatorPointer m_Interpolator;
63 } // end namespace clitk
64 #ifndef ITK_MANUAL_INSTANTIATION
65 #include "clitkGenericVectorInterpolator.txx"
68 #endif // #define __clitkGenericVectorInterpolator_h