00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkDifferenceOfGaussiansGradientImageFilter_h
00018 #define __itkDifferenceOfGaussiansGradientImageFilter_h
00019
00020 #include "itkImageToImageFilter.h"
00021 #include "itkImage.h"
00022 #include "itkCovariantVector.h"
00023
00024 namespace itk
00025 {
00026
00034 template<typename TInputImage, typename TDataType>
00035 class ITK_EXPORT DifferenceOfGaussiansGradientImageFilter :
00036 public ImageToImageFilter<TInputImage,
00037 Image< CovariantVector<TDataType, ::itk::GetImageDimension<TInputImage>::ImageDimension>,
00038 ::itk::GetImageDimension<TInputImage>::ImageDimension> >
00039 {
00040 public:
00042 itkStaticConstMacro(NDimensions, unsigned int, TInputImage::ImageDimension);
00043
00045 typedef DifferenceOfGaussiansGradientImageFilter Self;
00046
00049 typedef Image<CovariantVector<TDataType, itkGetStaticConstMacro(NDimensions)>, itkGetStaticConstMacro(NDimensions)>
00050 TOutputImage;
00051
00053 typedef ImageToImageFilter<TInputImage, TOutputImage> Superclass;
00054 typedef SmartPointer<Self> Pointer;
00055 typedef SmartPointer<const Self> ConstPointer;
00056
00058 itkNewMacro(Self);
00059
00061 itkTypeMacro( DifferenceOfGaussiansGradientImageFilter, ImageToImageFilter );
00062
00064 typedef Size<itkGetStaticConstMacro(NDimensions)> SizeType;
00065
00067 typedef typename TInputImage::IndexType IndexType;
00068
00070 typedef typename TInputImage::PixelType PixelType;
00071
00073 typedef typename TInputImage::RegionType OutputImageRegionType;
00074
00076 itkGetMacro(Width, unsigned int);
00077 itkSetMacro(Width, unsigned int);
00078
00079 protected:
00080 DifferenceOfGaussiansGradientImageFilter();
00081 virtual ~DifferenceOfGaussiansGradientImageFilter() {};
00082 void PrintSelf(std::ostream& os, Indent indent) const;
00083
00085 void GenerateData();
00086
00087 private:
00088 DifferenceOfGaussiansGradientImageFilter(const Self&);
00089 void operator=(const Self&);
00090
00091 unsigned int m_Width;
00092
00093 };
00094
00095 }
00096
00097 #ifndef ITK_MANUAL_INSTANTIATION
00098 #include "itkDifferenceOfGaussiansGradientImageFilter.txx"
00099 #endif
00100
00101 #endif