itkDifferenceOfGaussiansGradientImageFilter.h
Go to the documentation of this file.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);
00079
00080 #ifdef ITK_USE_CONCEPT_CHECKING
00081
00082 itkConceptMacro(DataTypeHasNumericTraitsCheck,
00083 (Concept::HasNumericTraits<TDataType>));
00084
00086 #endif
00087
00088 protected:
00089 DifferenceOfGaussiansGradientImageFilter();
00090 virtual ~DifferenceOfGaussiansGradientImageFilter() {};
00091 void PrintSelf(std::ostream& os, Indent indent) const;
00092
00094 void GenerateData();
00095
00096 private:
00097 DifferenceOfGaussiansGradientImageFilter(const Self&);
00098 void operator=(const Self&);
00099
00100 unsigned int m_Width;
00101
00102 };
00103
00104 }
00105
00106 #ifndef ITK_MANUAL_INSTANTIATION
00107 #include "itkDifferenceOfGaussiansGradientImageFilter.txx"
00108 #endif
00109
00110 #endif
00111