00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __itkBSplineCenteredResampleImageFilterBase_h
00022 #define __itkBSplineCenteredResampleImageFilterBase_h
00023
00024 #include "itkBSplineResampleImageFilterBase.h"
00025 #include <vector>
00026
00027
00028 namespace itk
00029 {
00056 class ProgressReporter;
00057
00058 template <class TInputImage, class TOutputImage>
00059 class ITK_EXPORT BSplineCenteredResampleImageFilterBase :
00060 public BSplineResampleImageFilterBase<TInputImage, TOutputImage>
00061 {
00062 public:
00064 typedef BSplineCenteredResampleImageFilterBase Self;
00065 typedef BSplineResampleImageFilterBase<TInputImage, TOutputImage> Superclass;
00066 typedef SmartPointer<Self> Pointer;
00067 typedef SmartPointer<const Self> ConstPointer;
00068
00070 itkTypeMacro(BSplineCenteredResampleImageFilterBase, BSplineResampleImageFilterBase);
00071
00072
00074 itkNewMacro( Self );
00075
00077 typedef typename Superclass::OutputImagePixelType OutputImagePixelType;
00078
00080 typedef typename Superclass::OutputImageIterator OutputImageIterator;
00081
00082 protected:
00083
00084 virtual void InitializePyramidSplineFilter(int SplineOrder);
00085 virtual void Reduce1DImage(
00086 const std::vector<double> & In,
00087 OutputImageIterator & Iter,
00088 unsigned int traverseSize,
00089 ProgressReporter &progress
00090 );
00091
00092 virtual void Expand1DImage(
00093 const std::vector<double> & In,
00094 OutputImageIterator & Iter,
00095 unsigned int traverseSize,
00096 ProgressReporter &progress
00097 );
00098
00099 protected:
00100 BSplineCenteredResampleImageFilterBase();
00101 virtual ~BSplineCenteredResampleImageFilterBase() {};
00102 void PrintSelf(std::ostream& os, Indent indent) const;
00103
00104
00105 private:
00106 BSplineCenteredResampleImageFilterBase( const Self& );
00107 void operator=( const Self& );
00108
00109 };
00110
00111 }
00112
00113 #ifndef ITK_MANUAL_INSTANTIATION
00114 #include "itkBSplineCenteredResampleImageFilterBase.txx"
00115 #endif
00116
00117 #endif