Medical Imaging Interaction Toolkit  2018.4.99-87d68d9f
Medical Imaging Interaction Toolkit
mitk::AutoCropImageFilter Class Reference

Shrink the image borders to a minimum considering a background color. More...

#include <mitkAutoCropImageFilter.h>

Inheritance diagram for mitk::AutoCropImageFilter:
Collaboration diagram for mitk::AutoCropImageFilter:

Public Types

typedef itk::ImageRegion< 3 > RegionType
 
- Public Types inherited from mitk::SubImageSelector
typedef SubImageSelector Self
 
typedef ImageToImageFilter Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
- Public Types inherited from mitk::ImageToImageFilter
typedef ImageToImageFilter Self
 
typedef ImageSource Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass::OutputImageRegionType OutputImageRegionType
 
typedef mitk::Image InputImageType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::ConstPointer InputImageConstPointer
 
typedef SlicedData::RegionType InputImageRegionType
 
- Public Types inherited from mitk::ImageSource
typedef ImageSource Self
 
typedef BaseDataSource Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
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 BaseDataSource Self
 
typedef itk::ProcessObject Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef BaseData OutputType
 
typedef itk::DataObject::DataObjectIdentifierType DataObjectIdentifierType
 

Public Member Functions

 mitkClassMacro (AutoCropImageFilter, SubImageSelector)
 
Pointer Clone () const
 
virtual float GetBackgroundValue () const
 
virtual void SetBackgroundValue (float _arg)
 
virtual float GetMarginFactor () const
 
virtual void SetMarginFactor (float _arg)
 
virtual RegionType GetCroppingRegion ()
 
void SetCroppingRegion (RegionType overrideRegion)
 
virtual const PixelType GetOutputPixelType ()
 
- Public Member Functions inherited from mitk::SubImageSelector
virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
Pointer Clone () const
 
virtual void SetPosNr (int p)
 
 SubImageSelector ()
 
 ~SubImageSelector () override
 
- Public Member Functions inherited from mitk::ImageToImageFilter
Pointer Clone () const
 
virtual void SetInput (const InputImageType *image)
 
virtual void SetInput (unsigned int, const InputImageType *image)
 
InputImageTypeGetInput (void)
 
InputImageTypeGetInput (unsigned int idx)
 
const InputImageTypeGetInput (void) const
 
const InputImageTypeGetInput (unsigned int idx) const
 
- Public Member Functions inherited from mitk::ImageSource
Pointer Clone () const
 
OutputTypeGetOutput ()
 Get the output data of this image source object. More...
 
const OutputTypeGetOutput () const
 
OutputTypeGetOutput (DataObjectPointerArraySizeType idx)
 
const OutputTypeGetOutput (DataObjectPointerArraySizeType idx) const
 
itk::DataObject::Pointer MakeOutput (DataObjectPointerArraySizeType idx) override
 Make a DataObject of the correct type to used as the specified output. More...
 
itk::DataObject::Pointer MakeOutput (const DataObjectIdentifierType &name) override
 
virtual vtkImageData * GetVtkImageData ()
 
virtual const vtkImageData * GetVtkImageData () const
 
- Public Member Functions inherited from mitk::BaseDataSource
OutputTypeGetOutput ()
 
const OutputTypeGetOutput () const
 
OutputTypeGetOutput (DataObjectPointerArraySizeType idx)
 
const OutputTypeGetOutput (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)
 
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
 Access itk::ProcessObject::m_Updating. More...
 

Static Public Member Functions

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

Protected Types

typedef itk::Image< float, 3 > ImageType
 
typedef ImageType::Pointer ImagePointer
 

Protected Member Functions

 AutoCropImageFilter ()
 
 ~AutoCropImageFilter () override
 
void ComputeNewImageBounds ()
 
template<typename TPixel , unsigned int VImageDimension>
void ITKCrop3DImage (itk::Image< TPixel, VImageDimension > *inputItkImage, unsigned int timestep)
 
void GenerateOutputInformation () override
 
void GenerateInputRequestedRegion () override
 
void GenerateData () override
 
- Protected Member Functions inherited from mitk::SubImageSelector
mitk::Image::ImageDataItemPointer GetSliceData (int s=0, int t=0, int n=0)
 
mitk::Image::ImageDataItemPointer GetVolumeData (int t=0, int n=0)
 
mitk::Image::ImageDataItemPointer GetChannelData (int n=0)
 
void SetSliceItem (mitk::Image::ImageDataItemPointer dataItem, int s=0, int t=0, int n=0)
 
void SetVolumeItem (mitk::Image::ImageDataItemPointer dataItem, int t=0, int n=0)
 
void SetChannelItem (mitk::Image::ImageDataItemPointer dataItem, int n=0)
 
- Protected Member Functions inherited from mitk::ImageToImageFilter
 ImageToImageFilter ()
 
 ~ImageToImageFilter () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void GenerateInputRequestedRegion () override
 
- 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 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 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 ()
 
 ~BaseDataSource () override
 

Protected Attributes

float m_BackgroundValue
 
RegionType m_CroppingRegion
 
float m_MarginFactor
 
RegionType::SizeType m_RegionSize
 
RegionType::IndexType m_RegionIndex
 
mitk::ImageTimeSelector::Pointer m_TimeSelector
 
mitk::SlicedData::RegionType m_InputRequestedRegion
 
itk::TimeStamp m_TimeOfHeaderInitialization
 
bool m_OverrideCroppingRegion
 

Additional Inherited Members

- Static Protected Member Functions inherited from mitk::ImageSource
static 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

Shrink the image borders to a minimum considering a background color.

This filter determines the smallest bounding box of all pixels different from the background, and returns an output image which has been cropped to this size. The box calculated this way is not the smallest possible box, but the box with the smallest sides perpendicular to the world coordinate system.

The filter works on 3D and 4D image data. For the 4D case, the smallest box is calculated with side lengths as the maximum of single side lengths from all time steps.

2D images are not supported, and will never be.

It is also possible to set the region to be cropped manually using the SetCroppingRegion() method.

A margin can be set to enlarge the cropped region with a constant factor in all directions around the smallest possible.

Author
Thomas Boettger; revised by Tobias Schwarz and Daniel Stein

Definition at line 53 of file mitkAutoCropImageFilter.h.

Member Typedef Documentation

◆ ImagePointer

typedef ImageType::Pointer mitk::AutoCropImageFilter::ImagePointer
protected

Definition at line 107 of file mitkAutoCropImageFilter.h.

◆ ImageType

typedef itk::Image<float, 3> mitk::AutoCropImageFilter::ImageType
protected

Definition at line 106 of file mitkAutoCropImageFilter.h.

◆ RegionType

typedef itk::ImageRegion<3> mitk::AutoCropImageFilter::RegionType

Definition at line 56 of file mitkAutoCropImageFilter.h.

Constructor & Destructor Documentation

◆ AutoCropImageFilter()

mitk::AutoCropImageFilter::AutoCropImageFilter ( )
protected

Definition at line 26 of file mitkAutoCropImageFilter.cpp.

◆ ~AutoCropImageFilter()

mitk::AutoCropImageFilter::~AutoCropImageFilter ( )
overrideprotected

Definition at line 31 of file mitkAutoCropImageFilter.cpp.

Member Function Documentation

◆ Clone()

Pointer mitk::AutoCropImageFilter::Clone ( ) const

◆ ComputeNewImageBounds()

◆ GenerateData()

◆ GenerateInputRequestedRegion()

void mitk::AutoCropImageFilter::GenerateInputRequestedRegion ( )
overrideprotected

Definition at line 349 of file mitkAutoCropImageFilter.cpp.

◆ GenerateOutputInformation()

◆ GetBackgroundValue()

virtual float mitk::AutoCropImageFilter::GetBackgroundValue ( ) const
virtual

◆ GetCroppingRegion()

virtual RegionType mitk::AutoCropImageFilter::GetCroppingRegion ( )
virtual

Referenced by ITKCrop3DImage().

◆ GetMarginFactor()

virtual float mitk::AutoCropImageFilter::GetMarginFactor ( ) const
virtual

◆ GetOutputPixelType()

const mitk::PixelType mitk::AutoCropImageFilter::GetOutputPixelType ( )
virtual

◆ ITKCrop3DImage()

template<typename TPixel , unsigned int VImageDimension>
void mitk::AutoCropImageFilter::ITKCrop3DImage ( itk::Image< TPixel, VImageDimension > *  inputItkImage,
unsigned int  timestep 
)
protected

◆ mitkClassMacro()

mitk::AutoCropImageFilter::mitkClassMacro ( AutoCropImageFilter  ,
SubImageSelector   
)

◆ New()

◆ SetBackgroundValue()

virtual void mitk::AutoCropImageFilter::SetBackgroundValue ( float  _arg)
virtual

◆ SetCroppingRegion()

void mitk::AutoCropImageFilter::SetCroppingRegion ( RegionType  overrideRegion)

Definition at line 358 of file mitkAutoCropImageFilter.cpp.

References m_CroppingRegion, and m_OverrideCroppingRegion.

◆ SetMarginFactor()

virtual void mitk::AutoCropImageFilter::SetMarginFactor ( float  _arg)
virtual

Member Data Documentation

◆ m_BackgroundValue

float mitk::AutoCropImageFilter::m_BackgroundValue
protected

Definition at line 100 of file mitkAutoCropImageFilter.h.

Referenced by ComputeNewImageBounds().

◆ m_CroppingRegion

RegionType mitk::AutoCropImageFilter::m_CroppingRegion
protected

Definition at line 102 of file mitkAutoCropImageFilter.h.

Referenced by ComputeNewImageBounds(), and SetCroppingRegion().

◆ m_InputRequestedRegion

mitk::SlicedData::RegionType mitk::AutoCropImageFilter::m_InputRequestedRegion
protected

Definition at line 114 of file mitkAutoCropImageFilter.h.

Referenced by GenerateOutputInformation().

◆ m_MarginFactor

float mitk::AutoCropImageFilter::m_MarginFactor
protected

Definition at line 104 of file mitkAutoCropImageFilter.h.

Referenced by ComputeNewImageBounds().

◆ m_OverrideCroppingRegion

bool mitk::AutoCropImageFilter::m_OverrideCroppingRegion
protected

Definition at line 117 of file mitkAutoCropImageFilter.h.

Referenced by ComputeNewImageBounds(), and SetCroppingRegion().

◆ m_RegionIndex

RegionType::IndexType mitk::AutoCropImageFilter::m_RegionIndex
protected

Definition at line 110 of file mitkAutoCropImageFilter.h.

Referenced by ComputeNewImageBounds(), and GenerateOutputInformation().

◆ m_RegionSize

RegionType::SizeType mitk::AutoCropImageFilter::m_RegionSize
protected

Definition at line 109 of file mitkAutoCropImageFilter.h.

Referenced by ComputeNewImageBounds(), and GenerateOutputInformation().

◆ m_TimeOfHeaderInitialization

itk::TimeStamp mitk::AutoCropImageFilter::m_TimeOfHeaderInitialization
protected

Definition at line 115 of file mitkAutoCropImageFilter.h.

Referenced by GenerateData(), and GenerateOutputInformation().

◆ m_TimeSelector

mitk::ImageTimeSelector::Pointer mitk::AutoCropImageFilter::m_TimeSelector
protected

Definition at line 112 of file mitkAutoCropImageFilter.h.

Referenced by ComputeNewImageBounds(), and GenerateData().


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