NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage > Class Template Reference

Lewis Griffin's implementation of a recursive Gaussian filter which does not produce the oscillations that itk::RecursiveSeparableImageFilter does. More...

Inheritance diagram for itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >:
Inheritance graph
[legend]
Collaboration diagram for itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >:
Collaboration graph
[legend]

Classes

struct  LewisGriffinRecursiveGaussianImageFilterStruct
 

Public Types

enum  OrderEnumType { ZeroOrder, FirstOrder, SecondOrder }
 
typedef
LewisGriffinRecursiveGaussianImageFilter 
Self
 
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef TInputImage::Pointer InputImagePointer
 
typedef TInputImage::ConstPointer InputImageConstPointer
 
typedef TInputImage::PixelType InputPixelType
 
typedef NumericTraits
< InputPixelType >::RealType 
RealType
 
typedef NumericTraits
< InputPixelType >
::ScalarRealType 
ScalarRealType
 
typedef TOutputImage::RegionType OutputImageRegionType
 
typedef TInputImage InputImageType
 
typedef TOutputImage OutputImageType
 
typedef unsigned char MaskPixelType
 
typedef itk::Image
< MaskPixelType,
ImageDimension > 
MaskImageType
 
typedef MaskImageType::Pointer MaskImagePointer
 

Public Member Functions

virtual const char * GetClassName () const
 
 itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension)
 
virtual unsigned int GetDirection () const
 
virtual void SetDirection (unsigned int _arg)
 
void SetInputImage (const TInputImage *)
 
const TInputImage * GetInputImage (void)
 
virtual void SetMask (MaskImageType *_arg)
 Set an optional mask image. More...
 
virtual ScalarRealType GetSigma () const
 
virtual void SetSigma (ScalarRealType _arg)
 
virtual void SetOrder (OrderEnumType _arg)
 
virtual OrderEnumType GetOrder () const
 
void SetZeroOrder ()
 
void SetFirstOrder ()
 
void SetSecondOrder ()
 
void SetSingleThreadedExecution (void)
 For debugging purposes, set single threaded execution. More...
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 LewisGriffinRecursiveGaussianImageFilter ()
 
virtual ~LewisGriffinRecursiveGaussianImageFilter ()
 
 LewisGriffinRecursiveGaussianImageFilter (const Self &)
 
void operator= (const Self &)
 
void PrintSelf (std::ostream &os, Indent indent) const
 
void BeforeThreadedGenerateData ()
 
void GenerateData (void)
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
 
int SplitRequestedRegion (int i, int num, OutputImageRegionType &splitRegion)
 
void EnlargeOutputRequestedRegion (DataObject *output)
 
virtual void SetUp (ScalarRealType spacing)
 
void FilterDataArray (RealType *outs, RealType *data, int ln)
 
RealType GaussianZeroOrder (RealType x, RealType sigma)
 Zero order Gaussian. More...
 
RealType GaussianFirstOrder (RealType x, RealType sigma)
 First order Gaussian. More...
 
RealType GaussianSecondOrder (RealType x, RealType sigma)
 Second order Gaussian. More...
 

Protected Attributes

bool m_FlagMultiThreadedExecution
 Flag to turn multithreading on or off. More...
 
unsigned int m_Direction
 
ScalarRealType m_Sigma
 
OrderEnumType m_Order
 Gaussian kernel order. More...
 
RealTypem_Kernel
 The Gaussian kernel. More...
 
unsigned int m_KernelSize
 The size of the kernel. More...
 
MaskImagePointer m_Mask
 Optional mask image. More...
 

Detailed Description

template<typename TInputImage, typename TOutputImage = TInputImage>
class itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >

Lewis Griffin's implementation of a recursive Gaussian filter which does not produce the oscillations that itk::RecursiveSeparableImageFilter does.

Member Typedef Documentation

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef SmartPointer<const Self> itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::ConstPointer
template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TInputImage::ConstPointer itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::InputImageConstPointer
template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TInputImage::Pointer itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::InputImagePointer

Smart pointer typedef support.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TInputImage itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::InputImageType

Type of the input image

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TInputImage::PixelType itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::InputPixelType

Real type to be used in internal computations. RealType in general is templated over the pixel type. (For example for vector or tensor pixels, RealType is a vector or a tensor of doubles.) ScalarRealType is a type meant for scalars.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef MaskImageType::Pointer itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::MaskImagePointer
template<typename TInputImage , typename TOutputImage = TInputImage>
typedef itk::Image<MaskPixelType, ImageDimension> itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::MaskImageType
template<typename TInputImage , typename TOutputImage = TInputImage>
typedef unsigned char itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::MaskPixelType

Optional mask image

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TOutputImage::RegionType itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::OutputImageRegionType
template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TOutputImage itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::OutputImageType

Type of the output image

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef SmartPointer<Self> itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::Pointer
template<typename TInputImage , typename TOutputImage = TInputImage>
typedef NumericTraits<InputPixelType>::RealType itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::RealType
template<typename TInputImage , typename TOutputImage = TInputImage>
typedef NumericTraits<InputPixelType>::ScalarRealType itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::ScalarRealType
template<typename TInputImage , typename TOutputImage = TInputImage>
typedef LewisGriffinRecursiveGaussianImageFilter itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::Self

Standard class typedefs.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef ImageToImageFilter<TInputImage,TOutputImage> itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::Superclass

Member Enumeration Documentation

template<typename TInputImage , typename TOutputImage = TInputImage>
enum itk::LewisGriffinRecursiveGaussianImageFilter::OrderEnumType

Enum type that indicates if the filter applies the equivalent operation of convolving with a gaussian, first derivative of a gaussian or the second derivative of a gaussian.

Enumerator
ZeroOrder 
FirstOrder 
SecondOrder 

Constructor & Destructor Documentation

template<typename TInputImage , typename TOutputImage = TInputImage>
itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::LewisGriffinRecursiveGaussianImageFilter ( )
protected
template<typename TInputImage , typename TOutputImage = TInputImage>
virtual itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::~LewisGriffinRecursiveGaussianImageFilter ( )
protectedvirtual
template<typename TInputImage , typename TOutputImage = TInputImage>
itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::LewisGriffinRecursiveGaussianImageFilter ( const Self )
protected

Member Function Documentation

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData ( )
protected

GenerateData (apply) the filter.

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion ( DataObject *  output)
protected

LewisGriffinRecursiveGaussianImageFilter needs all of the input only in the "Direction" dimension. Therefore we enlarge the output's RequestedRegion to this. Then the superclass's GenerateInputRequestedRegion method will copy the output region to the input.

See also
ImageToImageFilter::GenerateInputRequestedRegion()
template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::FilterDataArray ( RealType outs,
RealType data,
int  ln 
)
protected

Apply the Recursive Filter to an array of data. This method is called for each line of the volume.

template<typename TInputImage , typename TOutputImage = TInputImage>
RealType itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GaussianFirstOrder ( RealType  x,
RealType  sigma 
)
protected

First order Gaussian.

template<typename TInputImage , typename TOutputImage = TInputImage>
RealType itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GaussianSecondOrder ( RealType  x,
RealType  sigma 
)
protected

Second order Gaussian.

template<typename TInputImage , typename TOutputImage = TInputImage>
RealType itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GaussianZeroOrder ( RealType  x,
RealType  sigma 
)
protected

Zero order Gaussian.

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GenerateData ( void  )
protected
template<typename TInputImage , typename TOutputImage = TInputImage>
virtual const char* itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetClassName ( ) const
virtual

Type macro that defines a name for this class.

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual unsigned int itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetDirection ( ) const
virtual

Get the direction in which the filter is to be applied.

template<typename TInputImage , typename TOutputImage = TInputImage>
const TInputImage* itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetInputImage ( void  )

Get Input Image.

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual OrderEnumType itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetOrder ( ) const
virtual
template<typename TInputImage , typename TOutputImage = TInputImage>
virtual ScalarRealType itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetSigma ( ) const
virtual

Set/Get the Sigma, measured in world coordinates, of the Gaussian kernel. The default is 1.0.

template<typename TInputImage , typename TOutputImage = TInputImage>
itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
TInputImage::ImageDimension   
)

ImageDimension enumeration.

template<typename TInputImage , typename TOutputImage = TInputImage>
static Pointer itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::New ( )
static

Method for creation through the object factory.

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::operator= ( const Self )
protected
template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<typename TInputImage , typename TOutputImage = TInputImage>
virtual void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetDirection ( unsigned int  _arg)
virtual

Set the direction in which the filter is to be applied.

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetFirstOrder ( )

Explicitly set a first order derivative.

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetInputImage ( const TInputImage *  )

Set Input Image.

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetMask ( MaskImageType _arg)
virtual

Set an optional mask image.

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetOrder ( OrderEnumType  _arg)
virtual

Set/Get the Order of the Gaussian to convolve with.

  • ZeroOrder is equivalent to convolving with a Gaussian. This is the default.
  • FirstOrder is equivalent to convolving with the first derivative of a Gaussian.
  • SecondOrder is equivalent to convolving with the second derivative of a Gaussian.
template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetSecondOrder ( )

Explicitly set a second order derivative.

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetSigma ( ScalarRealType  _arg)
virtual
template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetSingleThreadedExecution ( void  )
inline

For debugging purposes, set single threaded execution.

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetUp ( ScalarRealType  spacing)
protectedvirtual

Set up the coefficients of the filter to approximate a specific kernel. Typically it can be used to approximate a Gaussian or one of its derivatives. Parameter is the spacing along the dimension to filter.

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetZeroOrder ( )

Explicitly set a zeroth order derivative.

template<typename TInputImage , typename TOutputImage = TInputImage>
int itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SplitRequestedRegion ( int  i,
int  num,
OutputImageRegionType splitRegion 
)
protected
template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
)
protected

Member Data Documentation

template<typename TInputImage , typename TOutputImage = TInputImage>
unsigned int itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_Direction
protected

Direction in which the filter is to be applied this should be in the range [0,ImageDimension-1].

template<typename TInputImage , typename TOutputImage = TInputImage>
bool itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_FlagMultiThreadedExecution
protected

Flag to turn multithreading on or off.

template<typename TInputImage , typename TOutputImage = TInputImage>
RealType* itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_Kernel
protected

The Gaussian kernel.

template<typename TInputImage , typename TOutputImage = TInputImage>
unsigned int itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_KernelSize
protected

The size of the kernel.

template<typename TInputImage , typename TOutputImage = TInputImage>
MaskImagePointer itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_Mask
protected

Optional mask image.

template<typename TInputImage , typename TOutputImage = TInputImage>
OrderEnumType itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_Order
protected

Gaussian kernel order.

template<typename TInputImage , typename TOutputImage = TInputImage>
ScalarRealType itk::LewisGriffinRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_Sigma
protected

Sigma of the gaussian kernel.


The documentation for this class was generated from the following file: