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

Implements an operator for pixel-wise subtraction of a slice of a 3D volume from a 2D image. More...

Inheritance diagram for itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >:
Inheritance graph
[legend]
Collaboration diagram for itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >:
Collaboration graph
[legend]

Public Types

typedef
Subtract2DImageFromVolumeSliceFilter 
Self
 
typedef ImageToImageFilter
< Image< IntensityType, 2 >
, Image< IntensityType, 2 > > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef Image< IntensityType, 2 > InputImageType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef InputImageType::PixelType InputImagePixelType
 
typedef InputImageType::SizeType InputImageSizeType
 
typedef InputImageType::SpacingType InputImageSpacingType
 
typedef InputImageType::PointType InputImagePointType
 
typedef InputImageType::IndexType InputImageIndexType
 
typedef Image< IntensityType, 3 > InputProjectionVolumeType
 
typedef
InputProjectionVolumeType::Pointer 
InputProjectionVolumePointer
 
typedef
InputProjectionVolumeType::RegionType 
InputProjectionVolumeRegionType
 
typedef
InputProjectionVolumeType::PixelType 
InputProjectionVolumePixelType
 
typedef
InputProjectionVolumeType::SizeType 
InputProjectionVolumeSizeType
 
typedef
InputProjectionVolumeType::SpacingType 
InputProjectionVolumeSpacingType
 
typedef
InputProjectionVolumeType::PointType 
InputProjectionVolumePointType
 
typedef
InputProjectionVolumeType::IndexType 
InputProjectionVolumeIndexType
 
typedef Image< IntensityType, 2 > OutputSubtractedImageType
 
typedef
OutputSubtractedImageType::Pointer 
OutputSubtractedImagePointer
 
typedef
OutputSubtractedImageType::RegionType 
OutputSubtractedImageRegionType
 
typedef
OutputSubtractedImageType::PixelType 
OutputSubtractedImagePixelType
 
typedef
OutputSubtractedImageType::SizeType 
OutputSubtractedImageSizeType
 
typedef
OutputSubtractedImageType::SpacingType 
OutputSubtractedImageSpacingType
 
typedef
OutputSubtractedImageType::PointType 
OutputSubtractedImagePointType
 

Public Member Functions

virtual const char * GetClassName () const
 
void SetInputImage2D (const InputImageType *im2D)
 Set the input 2D image. More...
 
void SetInputVolume3D (const InputProjectionVolumeType *im3D)
 Set the input 3D volume of slices to subtract. More...
 
 itkStaticConstMacro (InputImageDimension, unsigned int, InputImageType::ImageDimension)
 
 itkStaticConstMacro (OutputImageDimension, unsigned int, OutputSubtractedImageType::ImageDimension)
 
virtual void SetSliceNumber (unsigned int _arg)
 Set the current subtraction slice number. More...
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 Subtract2DImageFromVolumeSliceFilter ()
 
virtual ~Subtract2DImageFromVolumeSliceFilter ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void BeforeThreadedGenerateData (void)
 
virtual void AfterThreadedGenerateData (void)
 
void GenerateData (void)
 We overload GenerateData() purely as a means of outputing debug info. More...
 
void ThreadedGenerateData (const OutputSubtractedImageRegionType &outputRegionForThread, ThreadIdType threadId)
 

Protected Attributes

unsigned int m_SliceNumber
 The slice number of the 3D volume to be subtracted from the 2D image. More...
 

Detailed Description

template<class IntensityType = float>
class itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >

Implements an operator for pixel-wise subtraction of a slice of a 3D volume from a 2D image.

Output(i=0..Nx-1, j=0..Ny-1) = Image2D(i=0..Nx-1, j=0..Ny-1) - Volume3D(i=0..Nx-1, j=0..Ny-1, k).

Member Typedef Documentation

template<class IntensityType = float>
typedef SmartPointer<const Self> itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::ConstPointer
template<class IntensityType = float>
typedef InputImageType::IndexType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImageIndexType
template<class IntensityType = float>
typedef InputImageType::PixelType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImagePixelType
template<class IntensityType = float>
typedef InputImageType::Pointer itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImagePointer
template<class IntensityType = float>
typedef InputImageType::PointType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImagePointType
template<class IntensityType = float>
typedef InputImageType::RegionType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImageRegionType
template<class IntensityType = float>
typedef InputImageType::SizeType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImageSizeType
template<class IntensityType = float>
typedef InputImageType::SpacingType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImageSpacingType
template<class IntensityType = float>
typedef Image<IntensityType, 2> itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImageType

Some convenient typedefs.

template<class IntensityType = float>
typedef InputProjectionVolumeType::Pointer itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumePointer
template<class IntensityType = float>
typedef InputProjectionVolumeType::PointType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumePointType
template<class IntensityType = float>
typedef InputProjectionVolumeType::SpacingType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumeSpacingType
template<class IntensityType = float>
typedef Image<IntensityType, 3> itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumeType
template<class IntensityType = float>
typedef OutputSubtractedImageType::Pointer itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::OutputSubtractedImagePointer
template<class IntensityType = float>
typedef OutputSubtractedImageType::PointType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::OutputSubtractedImagePointType
template<class IntensityType = float>
typedef OutputSubtractedImageType::SpacingType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::OutputSubtractedImageSpacingType
template<class IntensityType = float>
typedef Image<IntensityType, 2> itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::OutputSubtractedImageType
template<class IntensityType = float>
typedef SmartPointer<Self> itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::Pointer
template<class IntensityType = float>
typedef Subtract2DImageFromVolumeSliceFilter itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::Self

Standard class typedefs.

template<class IntensityType = float>
typedef ImageToImageFilter< Image< IntensityType, 2>, Image<IntensityType, 2> > itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::Superclass

Constructor & Destructor Documentation

template<class IntensityType = float>
itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::Subtract2DImageFromVolumeSliceFilter ( )
protected
template<class IntensityType = float>
virtual itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::~Subtract2DImageFromVolumeSliceFilter ( )
inlineprotectedvirtual

Member Function Documentation

template<class IntensityType = float>
virtual void itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::AfterThreadedGenerateData ( void  )
protectedvirtual

If an imaging filter needs to perform processing after all processing threads have completed, the filter can can provide an implementation for AfterThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

template<class IntensityType = float>
virtual void itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::BeforeThreadedGenerateData ( void  )
protectedvirtual

If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

template<class IntensityType = float>
void itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::GenerateData ( void  )
protected

We overload GenerateData() purely as a means of outputing debug info.

template<class IntensityType = float>
virtual const char* itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

template<class IntensityType = float>
itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::itkStaticConstMacro ( InputImageDimension  ,
unsigned  int,
InputImageType::ImageDimension   
)

ImageDimension enumeration

template<class IntensityType = float>
itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::itkStaticConstMacro ( OutputImageDimension  ,
unsigned  int,
OutputSubtractedImageType::ImageDimension   
)
template<class IntensityType = float>
static Pointer itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::New ( )
static

Method for creation through the object factory.

template<class IntensityType = float>
void itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class IntensityType = float>
void itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::SetInputImage2D ( const InputImageType im2D)

Set the input 2D image.

template<class IntensityType = float>
void itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::SetInputVolume3D ( const InputProjectionVolumeType im3D)

Set the input 3D volume of slices to subtract.

template<class IntensityType = float>
virtual void itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::SetSliceNumber ( unsigned int  _arg)
virtual

Set the current subtraction slice number.

template<class IntensityType = float>
void itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::ThreadedGenerateData ( const OutputSubtractedImageRegionType outputRegionForThread,
ThreadIdType  threadId 
)
protected

Subtract2DImageFromVolumeSliceFilter can be implemented as a multithreaded filter. Therefore, this implementation provides a ThreadedGenerateData() routine which is called for each processing thread. The output image data is allocated automatically by the superclass prior to calling ThreadedGenerateData(). ThreadedGenerateData can only write to the portion of the output image specified by the parameter "outputRegionForThread"

See also
ImageToImageFilter::ThreadedGenerateData(), ImageToImageFilter::GenerateData()

Member Data Documentation

template<class IntensityType = float>
unsigned int itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::m_SliceNumber
protected

The slice number of the 3D volume to be subtracted from the 2D image.


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