ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkSliceBySliceImageFilter.h>
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage::IndexType | IndexType |
typedef TInputFilter | InputFilterType |
typedef Superclass::InputImagePointer | InputImagePointer |
typedef TInputImage | InputImageType |
typedef InternalInputImageType::IndexType | InternalIndexType |
typedef TInternalInputImage | InternalInputImageType |
typedef InternalInputImageType::PixelType | InternalInputPixelType |
typedef InternalInputImageType::OffsetType | InternalOffsetType |
typedef TInternalOutputImage | InternalOutputImageType |
typedef InternalOutputImageType::PixelType | InternalOutputPixelType |
typedef InternalInputImageType::RegionType | InternalRegionType |
typedef InternalInputImageType::SizeType | InternalSizeType |
typedef TInputImage::OffsetType | OffsetType |
typedef TOutputFilter | OutputFilterType |
typedef TOutputImage | OutputImageType |
typedef TOutputImage::PixelType | OutputPixelType |
typedef TInputImage::PixelType | PixelType |
typedef SmartPointer< Self > | Pointer |
typedef TInputImage::RegionType | RegionType |
typedef SliceBySliceImageFilter | Self |
typedef TInputImage::SizeType | SizeType |
typedef ImageToImageFilter < TInputImage, TOutputImage > | Superclass |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual unsigned int | GetDimension () const |
InputFilterType * | GetFilter () |
const InputFilterType * | GetFilter () const |
virtual InputFilterType * | GetInputFilter () |
virtual const char * | GetNameOfClass () const |
virtual OutputFilterType * | GetOutputFilter () |
virtual void | SetDimension (unsigned int _arg) |
void | SetFilter (InputFilterType *filter) |
void | SetInputFilter (InputFilterType *filter) |
void | SetOutputFilter (OutputFilterType *filter) |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TInputImage::ImageDimension |
static const unsigned int | InternalImageDimension = InternalInputImageType::ImageDimension |
Protected Member Functions | |
void | EnlargeOutputRequestedRegion (DataObject *) |
void | GenerateData () |
void | GenerateInputRequestedRegion () |
void | PrintSelf (std::ostream &os, Indent indent) const |
Private Member Functions | |
void | operator= (const Self &) |
SliceBySliceImageFilter (const Self &) | |
Private Attributes | |
unsigned int | m_Dimension |
InputFilterType::Pointer | m_InputFilter |
OutputFilterType::Pointer | m_OutputFilter |
IndexValueType | m_SliceIndex |
virtual IndexValueType | GetSliceIndex () const |
SliceBySliceImageFilter () | |
~SliceBySliceImageFilter () |
Apply a filter or a pipeline slice by slice on an image.
SliceBySliceImageFilter let the user apply a filter or a pipeline of filters on the slices of an image. The filters must work on images smaller of one dimension than the input and output images of the SliceBySliceImageFilter - if the SliceBySliceImageFilter work on 3D images, the filters used internally must work on 2D images.
The dimension along which the slices are extracted can be selected with SetDimension() and defaults to the last one.
SliceBySliceImageFilter takes the input and the output filters of a pipeline as parameter. They can be set with SetInputFilter() and SetOutputFilter(). The pipeline will be run once per slice.
If there is only one filter to apply to the slices of the input image, the SetFilter() method can be used to set the filter passed as parameter both as the input and as the output filter.
SliceBySliceImageFilter can take several images as input. In that case, the same number of slices will be passed to the input filter. If the output filter produce several output slices, SliceBySliceImageFilter produce the same number of output images. The input images are passed with the same input number to the input filter - if SetInput( 3, img ) is used on the SliceBySliceImageFilter the corresponding slice will be passed to the input filter with SetInput( 3, img ). See http://www.itk.org/pipermail/insight-users/2008-May/026112.html for an example of usage of that feature with MaskImageFilter.
The requested region is always enlarged by the filter to cover entirely the whole slice - however, only the slice in the requested region are processed (the requested region is not enlarged to the whole image if not needed).
The ouput images of SliceBySliceImageFilter must be of the same size than the input images. All the input images must be of the same pixel type. All the output images must be of the same pixel type.
This class was taken from the Insight Journal paper: http://hdl.handle.net/1926/368
Definition at line 80 of file itkSliceBySliceImageFilter.h.
typedef SmartPointer< const Self > itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 88 of file itkSliceBySliceImageFilter.h.
typedef TInputImage::IndexType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::IndexType |
Definition at line 103 of file itkSliceBySliceImageFilter.h.
typedef TInputFilter itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InputFilterType |
Definition at line 110 of file itkSliceBySliceImageFilter.h.
typedef Superclass::InputImagePointer itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InputImagePointer |
Superclass typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 91 of file itkSliceBySliceImageFilter.h.
typedef TInputImage itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InputImageType |
Image related typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 97 of file itkSliceBySliceImageFilter.h.
typedef InternalInputImageType::IndexType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InternalIndexType |
Definition at line 116 of file itkSliceBySliceImageFilter.h.
typedef TInternalInputImage itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InternalInputImageType |
Definition at line 113 of file itkSliceBySliceImageFilter.h.
typedef InternalInputImageType::PixelType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InternalInputPixelType |
Definition at line 118 of file itkSliceBySliceImageFilter.h.
typedef InternalInputImageType::OffsetType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InternalOffsetType |
Definition at line 117 of file itkSliceBySliceImageFilter.h.
typedef TInternalOutputImage itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InternalOutputImageType |
Definition at line 120 of file itkSliceBySliceImageFilter.h.
typedef InternalOutputImageType::PixelType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InternalOutputPixelType |
Definition at line 121 of file itkSliceBySliceImageFilter.h.
typedef InternalInputImageType::RegionType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InternalRegionType |
Definition at line 114 of file itkSliceBySliceImageFilter.h.
typedef InternalInputImageType::SizeType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InternalSizeType |
Definition at line 115 of file itkSliceBySliceImageFilter.h.
typedef TInputImage::OffsetType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::OffsetType |
Definition at line 105 of file itkSliceBySliceImageFilter.h.
typedef TOutputFilter itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::OutputFilterType |
Definition at line 111 of file itkSliceBySliceImageFilter.h.
typedef TOutputImage itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::OutputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 107 of file itkSliceBySliceImageFilter.h.
typedef TOutputImage::PixelType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::OutputPixelType |
Definition at line 108 of file itkSliceBySliceImageFilter.h.
typedef TInputImage::PixelType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::PixelType |
Definition at line 104 of file itkSliceBySliceImageFilter.h.
typedef SmartPointer< Self > itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 87 of file itkSliceBySliceImageFilter.h.
typedef TInputImage::RegionType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::RegionType |
Definition at line 101 of file itkSliceBySliceImageFilter.h.
typedef SliceBySliceImageFilter itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 85 of file itkSliceBySliceImageFilter.h.
typedef TInputImage::SizeType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::SizeType |
Definition at line 102 of file itkSliceBySliceImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::Superclass |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 86 of file itkSliceBySliceImageFilter.h.
itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::SliceBySliceImageFilter | ( | ) | [protected] |
The index of the slice currently processed by the filter. This is intended to be used with the IterationEvent sent before the processing of each object. It contains a relevant value only during the filter update.
itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::~SliceBySliceImageFilter | ( | ) | [inline, protected] |
The index of the slice currently processed by the filter. This is intended to be used with the IterationEvent sent before the processing of each object. It contains a relevant value only during the filter update.
Definition at line 160 of file itkSliceBySliceImageFilter.h.
itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::SliceBySliceImageFilter | ( | const Self & | ) | [private] |
virtual::itk::LightObject::Pointer itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::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::Object.
void itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::EnlargeOutputRequestedRegion | ( | DataObject * | ) | [protected, virtual] |
Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.
Reimplemented from itk::ProcessObject.
void itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::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.
Reimplemented from itk::ImageSource< TOutputImage >.
void itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::GenerateInputRequestedRegion | ( | ) | [protected, virtual] |
What is the input requested region that is required to produce the output requested region? The base assumption for image processing filters is that the input requested region can be set to match the output requested region. If a filter requires more input (for instance a filter that uses neighborhoods needs more input than output to avoid introducing artificial boundary conditions) or less input (for instance a magnify filter) will have to override this method. In doing so, it should call its superclass' implementation as its first step. Note that imaging filters operate differently than the classes to this point in the class hierachy. Up till now, the base assumption has been that the largest possible region will be requested of the input.
This implementation of GenerateInputRequestedRegion() only processes the inputs that are a subclass of the ImageBase<InputImageDimension>. If an input is another type of DataObject (including an Image of a different dimension), they are skipped by this method. The subclasses of ImageToImageFilter are responsible for providing an implementation of GenerateInputRequestedRegion() when there are multiple inputs of different types.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual unsigned int itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::GetDimension | ( | ) | const [virtual] |
InputFilterType* itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::GetFilter | ( | ) | [inline] |
Definition at line 135 of file itkSliceBySliceImageFilter.h.
const InputFilterType* itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::GetFilter | ( | ) | const [inline] |
Definition at line 140 of file itkSliceBySliceImageFilter.h.
virtual InputFilterType* itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::GetInputFilter | ( | ) | [virtual] |
virtual const char* itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::GetNameOfClass | ( | ) | const [virtual] |
Runtime information support.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual OutputFilterType* itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::GetOutputFilter | ( | ) | [virtual] |
virtual IndexValueType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::GetSliceIndex | ( | ) | const [virtual] |
The index of the slice currently processed by the filter. This is intended to be used with the IterationEvent sent before the processing of each object. It contains a relevant value only during the filter update.
static Pointer itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::New | ( | ) | [static] |
Standard New method.
Reimplemented from itk::Object.
void itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::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::ImageToImageFilter< TInputImage, TOutputImage >.
void itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual void itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::SetDimension | ( | unsigned int | _arg | ) | [virtual] |
void itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::SetFilter | ( | InputFilterType * | filter | ) |
void itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::SetInputFilter | ( | InputFilterType * | filter | ) |
void itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::SetOutputFilter | ( | OutputFilterType * | filter | ) |
const unsigned int itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::ImageDimension = TInputImage::ImageDimension [static] |
Image related typedefs.
Definition at line 125 of file itkSliceBySliceImageFilter.h.
const unsigned int itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::InternalImageDimension = InternalInputImageType::ImageDimension [static] |
Definition at line 128 of file itkSliceBySliceImageFilter.h.
unsigned int itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::m_Dimension [private] |
Definition at line 174 of file itkSliceBySliceImageFilter.h.
InputFilterType::Pointer itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::m_InputFilter [private] |
Definition at line 176 of file itkSliceBySliceImageFilter.h.
OutputFilterType::Pointer itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::m_OutputFilter [private] |
Definition at line 178 of file itkSliceBySliceImageFilter.h.
IndexValueType itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::m_SliceIndex [private] |
Definition at line 180 of file itkSliceBySliceImageFilter.h.