00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkBackwardDifferenceOperator_h
00018 #define __itkBackwardDifferenceOperator_h
00019
00020 #include "itkNeighborhoodOperator.h"
00021 #include "itkExceptionObject.h"
00022
00023 namespace itk {
00024
00039 template<class TPixel, unsigned int TDimension=2,
00040 class TAllocator = NeighborhoodAllocator<TPixel> >
00041 class ITK_EXPORT BackwardDifferenceOperator
00042 : public NeighborhoodOperator<TPixel, TDimension, TAllocator>
00043 {
00044 public:
00045
00047 typedef BackwardDifferenceOperator Self;
00048 typedef NeighborhoodOperator<TPixel, TDimension, TAllocator> Superclass;
00049
00051 typedef typename Superclass::PixelType PixelType;
00052
00054 BackwardDifferenceOperator() {}
00055
00056 protected:
00058 typedef typename Superclass::CoefficientVector CoefficientVector;
00059
00061 CoefficientVector GenerateCoefficients();
00062
00064 void Fill(const CoefficientVector &coeff)
00065 { this->FillCenteredDirectional(coeff); }
00066
00067 private:
00068 BackwardDifferenceOperator(const Self& other);
00069 Self &operator=(const Self& other);
00070
00071 };
00072
00073 }
00074
00075 #ifndef ITK_MANUAL_INSTANTIATION
00076 #include "itkBackwardDifferenceOperator.txx"
00077 #endif
00078
00079 #endif
00080