Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit

Extracts a 2D slice from a 3D image. More...

#include <mitkExtractImageFilter.h>

Inheritance diagram for mitk::ExtractImageFilter:
Collaboration diagram for mitk::ExtractImageFilter:

Public Types

enum  DirectionCollapseStrategyEnum { DIRECTIONCOLLAPSETOUNKOWN , DIRECTIONCOLLAPSETOIDENTITY , DIRECTIONCOLLAPSETOSUBMATRIX , DIRECTIONCOLLAPSETOGUESS }
 Enumeration of direction collapse strategies for the ITK ExtractImageFilter used internally. More...
 
typedef enum mitk::ExtractImageFilter::DirectionCollapseStrategyEnum DIRECTIONCOLLAPSESTRATEGY
 Enumeration of direction collapse strategies for the ITK ExtractImageFilter used internally. More...
 
- Public Types inherited from mitk::ImageToImageFilter
typedef Superclass::OutputImageRegionType OutputImageRegionType
 Superclass typedefs. More...
 
typedef mitk::Image InputImageType
 Some convenient typedefs. More...
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::ConstPointer InputImageConstPointer
 
typedef SlicedData::RegionType InputImageRegionType
 
- Public Types inherited from mitk::ImageSource
typedef mitk::Image OutputImageType
 Some convenient typedefs. More...
 
typedef OutputImageType OutputType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef SlicedData::RegionType OutputImageRegionType
 
- Public Types inherited from mitk::BaseDataSource
typedef BaseData OutputType
 Output data type. More...
 
typedef itk::DataObject::DataObjectIdentifierType DataObjectIdentifierType
 Identifier type for named data objects. More...
 

Public Member Functions

 mitkClassMacro (ExtractImageFilter, ImageToImageFilter)
 
Pointer Clone () const
 
virtual void SetSliceIndex (unsigned int _arg)
 Set/Get the index of the slice to extract (zero-based). More...
 
virtual unsigned int GetSliceIndex () const
 
virtual void SetSliceDimension (unsigned int _arg)
 Set/Get the dimension along which to extract the slice. More...
 
virtual unsigned int GetSliceDimension () const
 
virtual void SetTimeStep (unsigned int _arg)
 Set/Get the time step to extract from a 4D image. More...
 
virtual unsigned int GetTimeStep () const
 
virtual void SetDirectionCollapseToStrategy (DIRECTIONCOLLAPSESTRATEGY _arg)
 Set/Get the direction collapse strategy. More...
 
virtual DIRECTIONCOLLAPSESTRATEGY GetDirectionCollapseToStrategy () const
 
- Public Member Functions inherited from mitk::ImageToImageFilter
 mitkClassMacro (ImageToImageFilter, ImageSource)
 
Pointer Clone () const
 
virtual void SetInput (const InputImageType *image)
 Set the image input of this process object. More...
 
virtual void SetInput (unsigned int idx, const InputImageType *image)
 Set the image input at the specified index. More...
 
InputImageType * GetInput (void)
 Get the input image (non-const). More...
 
InputImageType * GetInput (unsigned int idx)
 Get the input image at the specified index (non-const). More...
 
const InputImageType * GetInput (void) const
 Get the input image (const). More...
 
const InputImageType * GetInput (unsigned int idx) const
 Get the input image at the specified index (const). More...
 
- Public Member Functions inherited from mitk::ImageSource
 mitkClassMacro (ImageSource, BaseDataSource)
 
Pointer Clone () const
 
mitkBaseDataSourceGetOutputDeclarations itk::DataObject::Pointer MakeOutput (DataObjectPointerArraySizeType idx) override
 Get the output data of this image source object. More...
 
itk::DataObject::Pointer MakeOutput (const DataObjectIdentifierType &name) override
 
virtual vtkImageData * GetVtkImageData ()
 Get the output as VTK image data (non-const version). More...
 
virtual const vtkImageData * GetVtkImageData () const
 Get the output as VTK image data (const version). More...
 
- Public Member Functions inherited from mitk::BaseDataSource
 mitkClassMacroItkParent (BaseDataSource, itk::ProcessObject)
 
OutputType * GetOutput ()
 
const OutputType * GetOutput () const
 
OutputType * GetOutput (DataObjectPointerArraySizeType idx)
 
const OutputType * GetOutput (DataObjectPointerArraySizeType idx) const
 
virtual void GraftOutput (OutputType *output)
 Graft the specified BaseData onto this BaseDataSource's output. More...
 
virtual void GraftOutput (const DataObjectIdentifierType &key, OutputType *output)
 Graft the specified base data object onto a named output. More...
 
virtual void GraftNthOutput (unsigned int idx, OutputType *output)
 Graft the specified base data object onto this BaseDataSource's idx'th output. More...
 
bool Updating () const
 Check whether the pipeline is currently executing. More...
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from mitk::ImageToImageFilter
static Pointer New ()
 Method for creation through the object factory. More...
 
- Static Public Member Functions inherited from mitk::ImageSource
static Pointer New ()
 Method for creation through the object factory. More...
 

Protected Member Functions

 ExtractImageFilter ()
 
 ~ExtractImageFilter () override
 
void GenerateOutputInformation () override
 
void GenerateInputRequestedRegion () override
 
void GenerateData () override
 
template<typename TPixel , unsigned int VImageDimension>
void ItkImageProcessing (const itk::Image< TPixel, VImageDimension > *image)
 
- Protected Member Functions inherited from mitk::ImageToImageFilter
 ImageToImageFilter ()
 
 ~ImageToImageFilter () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 Print self information to the given stream. More...
 
void GenerateInputRequestedRegion () override
 Determine the input requested region to produce the output requested region. More...
 
- Protected Member Functions inherited from mitk::ImageSource
 ImageSource ()
 
 ~ImageSource () override
 
void GenerateData () override
 A version of GenerateData() specific for image processing filters. More...
 
virtual void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId)
 If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). More...
 
void PrepareOutputs () override
 This method is intentionally left blank. More...
 
virtual void AllocateOutputs ()
 The GenerateData method normally allocates the buffers for all of the outputs of a filter. More...
 
virtual void BeforeThreadedGenerateData ()
 If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can provide an implementation for BeforeThreadedGenerateData(). More...
 
virtual void AfterThreadedGenerateData ()
 If an imaging filter needs to perform processing after all processing threads have completed, the filter can provide an implementation for AfterThreadedGenerateData(). More...
 
virtual unsigned int SplitRequestedRegion (unsigned int i, unsigned int num, OutputImageRegionType &splitRegion)
 Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". More...
 
- Protected Member Functions inherited from mitk::BaseDataSource
 BaseDataSource ()
 Constructor. More...
 
 ~BaseDataSource () override
 Destructor. More...
 

Protected Attributes

unsigned int m_SliceIndex
 
unsigned int m_SliceDimension
 
unsigned int m_TimeStep
 
DIRECTIONCOLLAPSESTRATEGY m_DirectionCollapseToStrategy
 

Additional Inherited Members

- Static Protected Member Functions inherited from mitk::ImageSource
static itk::ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)
 Static function used as a "callback" by the MultiThreader. More...
 
- Static Protected Member Functions inherited from mitk::BaseDataSource
static Pointer New ()
 

Detailed Description

Extracts a 2D slice from a 3D image.

See also
ExtractSliceFilter
SegTool2D

This class takes a 3D mitk::Image as input and tries to extract one slice from it.

Two parameters determine which slice is extracted: the "slice dimension" is that one, which is constant for all points in the plane, e.g. axial would mean 2. The "slice index" is the slice index in the image direction you specified with "affected dimension". Indices count from zero.

Output will not be set if there was a problem extracting the desired slice.

Last contributor: $Author$

Definition at line 45 of file mitkExtractImageFilter.h.

Member Typedef Documentation

◆ DIRECTIONCOLLAPSESTRATEGY

Enumeration of direction collapse strategies for the ITK ExtractImageFilter used internally.

Controls how the direction cosine matrix is handled when reducing dimensionality from 3D to 2D.

Member Enumeration Documentation

◆ DirectionCollapseStrategyEnum

Enumeration of direction collapse strategies for the ITK ExtractImageFilter used internally.

Controls how the direction cosine matrix is handled when reducing dimensionality from 3D to 2D.

Enumerator
DIRECTIONCOLLAPSETOUNKOWN 

Unknown strategy (may cause errors).

DIRECTIONCOLLAPSETOIDENTITY 

Set direction to identity matrix.

DIRECTIONCOLLAPSETOSUBMATRIX 

Extract the sub-matrix from the direction.

DIRECTIONCOLLAPSETOGUESS 

Let ITK guess the best strategy (default).

Definition at line 86 of file mitkExtractImageFilter.h.

Constructor & Destructor Documentation

◆ ExtractImageFilter()

mitk::ExtractImageFilter::ExtractImageFilter ( )
protected

◆ ~ExtractImageFilter()

mitk::ExtractImageFilter::~ExtractImageFilter ( )
overrideprotected

Member Function Documentation

◆ Clone()

Pointer mitk::ExtractImageFilter::Clone ( ) const

◆ GenerateData()

void mitk::ExtractImageFilter::GenerateData ( )
overrideprotected

◆ GenerateInputRequestedRegion()

void mitk::ExtractImageFilter::GenerateInputRequestedRegion ( )
overrideprotected

◆ GenerateOutputInformation()

void mitk::ExtractImageFilter::GenerateOutputInformation ( )
overrideprotected

◆ GetDirectionCollapseToStrategy()

virtual DIRECTIONCOLLAPSESTRATEGY mitk::ExtractImageFilter::GetDirectionCollapseToStrategy ( ) const
virtual

◆ GetSliceDimension()

virtual unsigned int mitk::ExtractImageFilter::GetSliceDimension ( ) const
virtual

◆ GetSliceIndex()

virtual unsigned int mitk::ExtractImageFilter::GetSliceIndex ( ) const
virtual

◆ GetTimeStep()

virtual unsigned int mitk::ExtractImageFilter::GetTimeStep ( ) const
virtual

◆ ItkImageProcessing()

template<typename TPixel , unsigned int VImageDimension>
void mitk::ExtractImageFilter::ItkImageProcessing ( const itk::Image< TPixel, VImageDimension > *  image)
protected

◆ mitkClassMacro()

mitk::ExtractImageFilter::mitkClassMacro ( ExtractImageFilter  ,
ImageToImageFilter   
)

◆ New()

static Pointer mitk::ExtractImageFilter::New ( )
static

◆ SetDirectionCollapseToStrategy()

virtual void mitk::ExtractImageFilter::SetDirectionCollapseToStrategy ( DIRECTIONCOLLAPSESTRATEGY  _arg)
virtual

Set/Get the direction collapse strategy.

Controls how the 3D direction matrix is collapsed to 2D when extracting a slice. Default is DIRECTIONCOLLAPSETOGUESS.

Parameters
[in]_argOne of the DIRECTIONCOLLAPSESTRATEGY enum values.

◆ SetSliceDimension()

virtual void mitk::ExtractImageFilter::SetSliceDimension ( unsigned int  _arg)
virtual

Set/Get the dimension along which to extract the slice.

This is the dimension that remains constant for all pixels in the extracted 2D slice: 0 = Sagittal, 1 = Coronal, 2 = Axial.

Parameters
[in]_argThe dimension index (0, 1, or 2).

◆ SetSliceIndex()

virtual void mitk::ExtractImageFilter::SetSliceIndex ( unsigned int  _arg)
virtual

Set/Get the index of the slice to extract (zero-based).

Parameters
[in]_argThe zero-based index of the slice along the slice dimension.

◆ SetTimeStep()

virtual void mitk::ExtractImageFilter::SetTimeStep ( unsigned int  _arg)
virtual

Set/Get the time step to extract from a 4D image.

For 3D images this value is ignored. Default is 0.

Parameters
[in]_argThe zero-based time step index.

Member Data Documentation

◆ m_DirectionCollapseToStrategy

DIRECTIONCOLLAPSESTRATEGY mitk::ExtractImageFilter::m_DirectionCollapseToStrategy
protected

Definition at line 118 of file mitkExtractImageFilter.h.

◆ m_SliceDimension

unsigned int mitk::ExtractImageFilter::m_SliceDimension
protected

Definition at line 116 of file mitkExtractImageFilter.h.

◆ m_SliceIndex

unsigned int mitk::ExtractImageFilter::m_SliceIndex
protected

Definition at line 115 of file mitkExtractImageFilter.h.

◆ m_TimeStep

unsigned int mitk::ExtractImageFilter::m_TimeStep
protected

Definition at line 117 of file mitkExtractImageFilter.h.


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