00001 /*========================================================================= 00002 00003 Program: 3DMed 00004 Date: $Date: 2014-02-25 18:30:00 +0800 $ 00005 Version: $Version: 4.6.0 $ 00006 Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences 00007 00008 =========================================================================*/ 00009 00010 00011 #ifndef __mitkCubicInterpolateFilter_h 00012 #define __mitkCubicInterpolateFilter_h 00013 00014 #include "mitkInterpolateFilter.h" 00015 00028 00029 class MITK_REGISTRATION_API mitkCubicInterpolateFilter : public mitkInterpolateFilter 00030 { 00031 public: 00032 MITK_TYPE(mitkCubicInterpolateFilter, mitkInterpolateFilter) 00033 virtual void PrintSelf(ostream &os); 00034 00038 mitkCubicInterpolateFilter(); 00039 00040 protected: 00041 virtual ~mitkCubicInterpolateFilter(); 00042 virtual void _interpolation(const ScalarParameterType* index, ScalarPixelType* value); 00043 virtual void _interpolation(const ScalarParameterType* index, ScalarPixelType& value); 00044 00045 unsigned int i,j,k,ch; 00046 int indexGrid[3]; 00047 ScalarParameterType dx[3]; 00048 ScalarParameterType w[3][4]; 00049 ScalarParameterType w0, w1; 00050 ScalarPixelType neighbors[64]; 00051 00052 private: 00053 mitkCubicInterpolateFilter(const mitkCubicInterpolateFilter&); 00054 void operator = (const mitkCubicInterpolateFilter&); 00055 00056 }; 00057 00058 00059 //#define DEFINED_mitkCubicInterpolateFilter 00060 00061 00062 00063 #endif 00064