/vol/vipdata/irtk/image++/include/irtkResampling.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _IRTKRESAMPLING_H
00014
00015 #define _IRTKRESAMPLING_H
00016
00017 #include <irtkImageToImage.h>
00018
00019 #include <irtkImageFunction.h>
00020
00021 #ifdef HAS_TBB
00022
00023 template <class VoxelType> class irtkMultiThreadedResampling;
00024
00025 #endif
00026
00036 template <class VoxelType> class irtkResampling : public irtkImageToImage<VoxelType>
00037 {
00038
00039 #ifdef HAS_TBB
00040
00041 friend class irtkMultiThreadedResampling<VoxelType>;
00042
00043 #endif
00044
00045 protected:
00046
00048 double _XSize;
00049 double _YSize;
00050 double _ZSize;
00051
00053 irtkImageFunction *_Interpolator;
00054
00056 virtual Bool RequiresBuffering();
00057
00059 virtual const char *NameOfClass();
00060
00062 virtual void Initialize();
00063
00064 public:
00065
00067 irtkResampling(double, double, double);
00068
00070 SetMacro(XSize, double);
00071
00073 GetMacro(XSize, double);
00074
00076 SetMacro(YSize, double);
00077
00079 GetMacro(YSize, double);
00080
00082 SetMacro(ZSize, double);
00083
00085 GetMacro(ZSize, double);
00086
00088 SetMacro(Interpolator, irtkImageFunction *);
00089
00091 virtual void Run();
00092
00093 };
00094
00095 #include <irtkResamplingWithPadding.h>
00096
00097 #endif