15 #ifndef itkLewisGriffinRecursiveGaussianImageFilter_h
16 #define itkLewisGriffinRecursiveGaussianImageFilter_h
18 #include <itkImageToImageFilter.h>
19 #include <itkNumericTraits.h>
29 template <
typename TInputImage,
typename TOutputImage=TInputImage>
31 public ImageToImageFilter<TInputImage,TOutputImage>
36 typedef ImageToImageFilter<TInputImage,TOutputImage>
Superclass;
47 itkStaticConstMacro(ImageDimension,
unsigned int, TInputImage::ImageDimension);
59 typedef typename NumericTraits<InputPixelType>::RealType
RealType;
60 typedef typename NumericTraits<InputPixelType>::ScalarRealType
ScalarRealType;
71 itkGetConstMacro(Direction,
unsigned int);
74 itkSetMacro(Direction,
unsigned int);
77 void SetInputImage(
const TInputImage * );
80 const TInputImage * GetInputImage(
void );
84 typedef typename itk::Image<MaskPixelType, ImageDimension>
MaskImageType;
88 itkSetObjectMacro( Mask, MaskImageType );
93 itkGetConstMacro( Sigma, ScalarRealType );
94 itkSetMacro( Sigma, ScalarRealType );
99 typedef enum {
ZeroOrder, FirstOrder, SecondOrder } OrderEnumType;
107 itkSetMacro( Order, OrderEnumType );
108 itkGetConstMacro( Order, OrderEnumType );
114 void SetFirstOrder();
117 void SetSecondOrder();
127 void operator=(
const Self&);
129 void PrintSelf(std::ostream& os, Indent indent)
const;
141 void BeforeThreadedGenerateData();
142 void GenerateData(
void);
143 void ThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread, ThreadIdType threadId );
145 int SplitRequestedRegion(
int i,
int num, OutputImageRegionType& splitRegion);
155 void EnlargeOutputRequestedRegion(DataObject *output);
161 virtual void SetUp(ScalarRealType spacing);
165 void FilterDataArray(RealType *outs, RealType *
data,
int ln);
168 RealType GaussianZeroOrder(RealType
x, RealType sigma);
170 RealType GaussianFirstOrder(RealType
x, RealType sigma);
172 RealType GaussianSecondOrder(RealType
x, RealType sigma);
197 #ifndef ITK_MANUAL_INSTANTIATION
198 #include "itkLewisGriffinRecursiveGaussianImageFilter.txx"
TInputImage::PixelType InputPixelType
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:58
TInputImage::ConstPointer InputImageConstPointer
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:51
Definition: niftkITKAffineResampleImage.cxx:74
GLint GLenum GLsizei GLint GLsizei const GLvoid * data
Definition: glew.h:1363
MaskImageType::Pointer MaskImagePointer
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:85
RealType * m_Kernel
The Gaussian kernel.
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:185
unsigned int m_Direction
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:176
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:99
NumericTraits< InputPixelType >::ScalarRealType ScalarRealType
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:60
unsigned char MaskPixelType
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:83
ScalarRealType m_Sigma
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:179
Lewis Griffin's implementation of a recursive Gaussian filter which does not produce the oscillations...
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:30
LewisGriffinRecursiveGaussianImageFilter * Filter
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:134
GLuint num
Definition: glew.h:2607
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
LewisGriffinRecursiveGaussianImageFilter Self
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:35
NumericTraits< InputPixelType >::RealType RealType
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:59
void SetSingleThreadedExecution(void)
For debugging purposes, set single threaded execution.
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:120
OrderEnumType m_Order
Gaussian kernel order.
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:182
MaskImagePointer m_Mask
Optional mask image.
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:191
GLint GLint GLint GLint GLint x
Definition: glew.h:1236
TInputImage InputImageType
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:65
bool m_FlagMultiThreadedExecution
Flag to turn multithreading on or off.
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:138
TOutputImage OutputImageType
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:68
SmartPointer< const Self > ConstPointer
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:38
unsigned int m_KernelSize
The size of the kernel.
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:188
SmartPointer< Self > Pointer
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:37
TInputImage::Pointer InputImagePointer
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:50
OrderEnumType
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:99
TOutputImage::RegionType OutputImageRegionType
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:62
ImageToImageFilter< TInputImage, TOutputImage > Superclass
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:36
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:132
itk::Image< MaskPixelType, ImageDimension > MaskImageType
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:84