00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkForwardDifferenceOperator_h
00018
#define __itkForwardDifferenceOperator_h
00019
00020
#include "itkNeighborhoodOperator.h"
00021
#include "itkExceptionObject.h"
00022
00023
namespace itk {
00024
00038
template<
class TPixel,
unsigned int VDimension=2,
00039
class TAllocator = NeighborhoodAllocator<TPixel> >
00040 class ITK_EXPORT ForwardDifferenceOperator
00041 :
public NeighborhoodOperator<TPixel, VDimension, TAllocator>
00042 {
00043
public:
00045
typedef ForwardDifferenceOperator
Self;
00046 typedef NeighborhoodOperator<TPixel, VDimension, TAllocator> Superclass;
00047
00048
typedef typename Superclass::PixelType
PixelType;
00049
00051 ForwardDifferenceOperator() {}
00052
00054 ForwardDifferenceOperator(
const Self& other)
00055 :
NeighborhoodOperator<TPixel, VDimension, TAllocator>(other)
00056 { }
00057
00059 Self &operator=(
const Self& other)
00060 {
00061 Superclass::operator=(other);
00062
return *
this;
00063 }
00064
00065
protected:
00067
typedef typename Superclass::CoefficientVector CoefficientVector;
00068
00070 CoefficientVector GenerateCoefficients();
00071
00073
void Fill(
const CoefficientVector &coeff)
00074
00075 { this->FillCenteredDirectional(coeff); }
00076
00077 };
00078
00079
00080 }
00081
00082
#ifndef ITK_MANUAL_INSTANTIATION
00083
#include "itkForwardDifferenceOperator.txx"
00084
#endif
00085
00086
#endif
00087
00088