NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
Implements an operator for pixel-wise subtraction of a slice of a 3D volume from a 2D image. More...
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... | |
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).
typedef SmartPointer<const Self> itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::ConstPointer |
typedef InputImageType::IndexType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImageIndexType |
typedef InputImageType::PixelType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImagePixelType |
typedef InputImageType::Pointer itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImagePointer |
typedef InputImageType::PointType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImagePointType |
typedef InputImageType::RegionType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImageRegionType |
typedef InputImageType::SizeType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImageSizeType |
typedef InputImageType::SpacingType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImageSpacingType |
typedef Image<IntensityType, 2> itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputImageType |
Some convenient typedefs.
typedef InputProjectionVolumeType::IndexType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumeIndexType |
typedef InputProjectionVolumeType::PixelType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumePixelType |
typedef InputProjectionVolumeType::Pointer itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumePointer |
typedef InputProjectionVolumeType::PointType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumePointType |
typedef InputProjectionVolumeType::RegionType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumeRegionType |
typedef InputProjectionVolumeType::SizeType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumeSizeType |
typedef InputProjectionVolumeType::SpacingType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumeSpacingType |
typedef Image<IntensityType, 3> itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::InputProjectionVolumeType |
typedef OutputSubtractedImageType::PixelType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::OutputSubtractedImagePixelType |
typedef OutputSubtractedImageType::Pointer itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::OutputSubtractedImagePointer |
typedef OutputSubtractedImageType::PointType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::OutputSubtractedImagePointType |
typedef OutputSubtractedImageType::RegionType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::OutputSubtractedImageRegionType |
typedef OutputSubtractedImageType::SizeType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::OutputSubtractedImageSizeType |
typedef OutputSubtractedImageType::SpacingType itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::OutputSubtractedImageSpacingType |
typedef Image<IntensityType, 2> itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::OutputSubtractedImageType |
typedef SmartPointer<Self> itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::Pointer |
typedef Subtract2DImageFromVolumeSliceFilter itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::Self |
Standard class typedefs.
typedef ImageToImageFilter< Image< IntensityType, 2>, Image<IntensityType, 2> > itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::Superclass |
|
protected |
|
inlineprotectedvirtual |
|
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.
|
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.
|
protected |
We overload GenerateData() purely as a means of outputing debug info.
|
virtual |
Run-time type information (and related methods).
itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::itkStaticConstMacro | ( | InputImageDimension | , |
unsigned | int, | ||
InputImageType::ImageDimension | |||
) |
ImageDimension enumeration
itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::itkStaticConstMacro | ( | OutputImageDimension | , |
unsigned | int, | ||
OutputSubtractedImageType::ImageDimension | |||
) |
|
static |
Method for creation through the object factory.
|
protected |
void itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::SetInputImage2D | ( | const InputImageType * | im2D | ) |
Set the input 2D image.
void itk::Subtract2DImageFromVolumeSliceFilter< IntensityType >::SetInputVolume3D | ( | const InputProjectionVolumeType * | im3D | ) |
Set the input 3D volume of slices to subtract.
|
virtual |
Set the current subtraction slice number.
|
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"
|
protected |
The slice number of the 3D volume to be subtracted from the 2D image.