ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions
itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter > Class Template Reference

A separable filter for filter which are using radius. More...

#include <itkMiniPipelineSeparableImageFilter.h>

Inheritance diagram for itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >:
Collaboration diagram for itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >:

List of all members.

Public Types

typedef CastImageFilter
< InputImageType,
OutputImageType
CastType
typedef SmartPointer< const SelfConstPointer
typedef TFilter FilterType
typedef TInputImage::IndexType IndexType
typedef TInputImage InputImageType
typedef TInputImage::OffsetType OffsetType
typedef TOutputImage OutputImageType
typedef TOutputImage::PixelType OutputPixelType
typedef TInputImage::PixelType PixelType
typedef SmartPointer< SelfPointer
typedef TInputImage::SizeType RadiusType
typedef TInputImage::RegionType RegionType
typedef
MiniPipelineSeparableImageFilter 
Self
typedef TInputImage::SizeType SizeType
typedef BoxImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
virtual void Modified () const
virtual void SetNumberOfThreads (ThreadIdType nb)
virtual void SetRadius (const SizeValueType &radius)
virtual void SetRadius (const RadiusType &)

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Protected Member Functions

void GenerateData ()
 MiniPipelineSeparableImageFilter ()
 ~MiniPipelineSeparableImageFilter ()

Protected Attributes

CastType::Pointer m_Cast
FilterType::Pointer m_Filters [ImageDimension]

Private Member Functions

 MiniPipelineSeparableImageFilter (const Self &)
void operator= (const Self &)

Detailed Description

template<class TInputImage, class TOutputImage, class TFilter>
class itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >

A separable filter for filter which are using radius.

This filter takes a non separable implementation of a neighborhood filter, and run it several times (one per dimension) to implement the same separable transform. This filter can be used with the filter for which the neighborhood is defined by the SetRadius() method, like the BoxImageFilter and its subcalsses.

This code was contributed in the Insight Journal paper: "Efficient implementation of kernel filtering" by Beare R., Lehmann G http://hdl.handle.net/1926/555 http://www.insight-journal.org/browse/publication/160

Author:
Gaetan Lehmann
Richard Beare

Definition at line 50 of file itkMiniPipelineSeparableImageFilter.h.


Member Typedef Documentation

template<class TInputImage, class TOutputImage, class TFilter>
typedef CastImageFilter< InputImageType, OutputImageType > itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::CastType

Definition at line 79 of file itkMiniPipelineSeparableImageFilter.h.

template<class TInputImage, class TOutputImage, class TFilter>
typedef SmartPointer< const Self > itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::ConstPointer
template<class TInputImage, class TOutputImage, class TFilter>
typedef TFilter itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::FilterType
template<class TInputImage, class TOutputImage, class TFilter>
typedef TInputImage::IndexType itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::IndexType
template<class TInputImage, class TOutputImage, class TFilter>
typedef TInputImage itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::InputImageType
template<class TInputImage, class TOutputImage, class TFilter>
typedef TInputImage::OffsetType itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::OffsetType
template<class TInputImage, class TOutputImage, class TFilter>
typedef TOutputImage itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::OutputImageType

Some convenient typedefs.

Reimplemented from itk::BoxImageFilter< TInputImage, TOutputImage >.

Definition at line 75 of file itkMiniPipelineSeparableImageFilter.h.

template<class TInputImage, class TOutputImage, class TFilter>
typedef TOutputImage::PixelType itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::OutputPixelType
template<class TInputImage, class TOutputImage, class TFilter>
typedef TInputImage::PixelType itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::PixelType
template<class TInputImage, class TOutputImage, class TFilter>
typedef SmartPointer< Self > itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::Pointer
template<class TInputImage, class TOutputImage, class TFilter>
typedef TInputImage::SizeType itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::RadiusType
template<class TInputImage, class TOutputImage, class TFilter>
typedef TInputImage::RegionType itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::RegionType
template<class TInputImage, class TOutputImage, class TFilter>
typedef MiniPipelineSeparableImageFilter itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::Self
template<class TInputImage, class TOutputImage, class TFilter>
typedef TInputImage::SizeType itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::SizeType
template<class TInputImage, class TOutputImage, class TFilter>
typedef BoxImageFilter< TInputImage, TOutputImage > itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::Superclass

Constructor & Destructor Documentation

template<class TInputImage, class TOutputImage, class TFilter>
itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::MiniPipelineSeparableImageFilter ( ) [protected]
template<class TInputImage, class TOutputImage, class TFilter>
itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::~MiniPipelineSeparableImageFilter ( ) [inline, protected]

Definition at line 101 of file itkMiniPipelineSeparableImageFilter.h.

template<class TInputImage, class TOutputImage, class TFilter>
itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::MiniPipelineSeparableImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage, class TOutputImage, class TFilter>
virtual::itk::LightObject::Pointer itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::BoxImageFilter< TInputImage, TOutputImage >.

Reimplemented in itk::FastApproximateRankImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage, class TFilter>
void itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::GenerateData ( ) [protected, virtual]

A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.

See also:
ThreadedGenerateData()

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage, class TOutputImage, class TFilter>
virtual const char* itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::GetNameOfClass ( ) const [virtual]
template<class TInputImage, class TOutputImage, class TFilter>
virtual void itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::Modified ( ) const [virtual]

Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.

Reimplemented from itk::Object.

template<class TInputImage, class TOutputImage, class TFilter>
static Pointer itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::New ( ) [static]
template<class TInputImage, class TOutputImage, class TFilter>
void itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::operator= ( const Self ) [private]

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

Reimplemented from itk::BoxImageFilter< TInputImage, TOutputImage >.

Reimplemented in itk::FastApproximateRankImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage, class TFilter>
virtual void itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::SetNumberOfThreads ( ThreadIdType  _arg) [virtual]

Get/Set the number of threads to create when executing.

Reimplemented from itk::ProcessObject.

template<class TInputImage, class TOutputImage, class TFilter>
virtual void itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::SetRadius ( const RadiusType ) [virtual]
template<class TInputImage, class TOutputImage, class TFilter>
virtual void itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::SetRadius ( const SizeValueType radius) [inline, virtual]

Definition at line 89 of file itkMiniPipelineSeparableImageFilter.h.


Member Data Documentation

template<class TInputImage, class TOutputImage, class TFilter>
const unsigned int itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::ImageDimension = TInputImage::ImageDimension [static]
template<class TInputImage, class TOutputImage, class TFilter>
CastType::Pointer itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::m_Cast [protected]

Definition at line 106 of file itkMiniPipelineSeparableImageFilter.h.

template<class TInputImage, class TOutputImage, class TFilter>
FilterType::Pointer itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::m_Filters[ImageDimension] [protected]

Definition at line 105 of file itkMiniPipelineSeparableImageFilter.h.


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