Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::BoundingObjectCutter Class Reference

Cuts an Boundingobject out of an mitk Image. More...

#include <mitkBoundingObjectCutter.h>

Inheritance diagram for mitk::BoundingObjectCutter:
Collaboration diagram for mitk::BoundingObjectCutter:

Public Member Functions

 mitkClassMacro (BoundingObjectCutter, ImageToImageFilter)
 
Pointer Clone () const
 
void SetBoundingObject (const mitk::BoundingObject *boundingObject)
 
const mitk::BoundingObjectGetBoundingObject () const
 
virtual void SetInsideValue (ScalarType _arg)
 
virtual ScalarType GetInsideValue ()
 
virtual void SetOutsideValue (ScalarType _arg)
 
virtual ScalarType GetOutsideValue ()
 
virtual void SetUseInsideValue (bool _arg)
 
virtual bool GetUseInsideValue ()
 
virtual void UseInsideValueOn ()
 
virtual void UseInsideValueOff ()
 
virtual void SetAutoOutsideValue (bool _arg)
 
virtual bool GetAutoOutsideValue ()
 
virtual void AutoOutsideValueOn ()
 
virtual void AutoOutsideValueOff ()
 
virtual unsigned int GetInsidePixelCount ()
 
virtual unsigned int GetOutsidePixelCount ()
 
virtual void SetUseWholeInputRegion (bool _arg)
 
virtual bool GetUseWholeInputRegion ()
 
- Public Member Functions inherited from mitk::ImageToImageFilter
virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
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
 
virtual itk::DataObject::Pointer MakeOutput (DataObjectPointerArraySizeType idx) override
 Make a DataObject of the correct type to used as the specified output. More...
 
virtual 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::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 Member Functions

 BoundingObjectCutter ()
 
virtual ~BoundingObjectCutter ()
 
virtual const PixelType GetOutputPixelType ()
 
virtual void GenerateInputRequestedRegion () override
 
virtual void GenerateOutputInformation () override
 
virtual void GenerateData () override
 A version of GenerateData() specific for image processing filters. More...
 
virtual void ComputeData (mitk::Image *input3D, int boTimeStep)
 
- Protected Member Functions inherited from mitk::ImageToImageFilter
 ImageToImageFilter ()
 
virtual ~ImageToImageFilter ()
 
virtual void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
- Protected Member Functions inherited from mitk::ImageSource
 ImageSource ()
 
virtual ~ImageSource ()
 
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...
 
virtual 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 ()
 
virtual ~BaseDataSource ()
 

Protected Attributes

mitk::BoundingObject::Pointer m_BoundingObject
 
ScalarType m_InsideValue
 
ScalarType m_OutsideValue
 
bool m_AutoOutsideValue
 
bool m_UseInsideValue
 
unsigned int m_OutsidePixelCount
 
unsigned int m_InsidePixelCount
 
mitk::SlicedData::RegionType m_InputRequestedRegion
 
itk::TimeStamp m_TimeOfHeaderInitialization
 
mitk::ImageTimeSelector::Pointer m_InputTimeSelector
 
mitk::ImageTimeSelector::Pointer m_OutputTimeSelector
 
bool m_UseWholeInputRegion
 

Friends

template<typename TPixel , unsigned int VImageDimension, typename TOutputPixel >
void CutImageWithOutputTypeSelect (itk::Image< TPixel, VImageDimension > *inputItkImage, mitk::BoundingObjectCutter *cutter, int boTimeStep, TOutputPixel *dummy)
 
template<typename TPixel , unsigned int VImageDimension, typename TOutputPixel >
void CutImageWithOutputTypeSelect (itk::VectorImage< TPixel, VImageDimension > *inputItkImage, mitk::BoundingObjectCutter *cutter, int boTimeStep, TOutputPixel *dummy)
 
template<typename TPixel , unsigned int VImageDimension>
void CutImage (itk::Image< TPixel, VImageDimension > *itkImage, mitk::BoundingObjectCutter *cutter, int boTimeStep)
 
template<typename TPixel , unsigned int VImageDimension>
void CutImage (itk::VectorImage< TPixel, VImageDimension > *itkImage, mitk::BoundingObjectCutter *cutter, int boTimeStep)
 

Additional Inherited Members

- 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
 
- 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

Cuts an Boundingobject out of an mitk Image.

Input Parameters are a mitk::BoundingObject and optionally an mitk::Image if no mitk::Image is provided, the resulting image will have m_InsideValue as pixelvalue on inside pixel, otherwise it will have the pixelvalue of the input image. Pixel on the outside of the BoundingObject will have a pixelvalue of m_OutsideValue

Definition at line 38 of file mitkBoundingObjectCutter.h.

Constructor & Destructor Documentation

mitk::BoundingObjectCutter::BoundingObjectCutter ( )
protected
mitk::BoundingObjectCutter::~BoundingObjectCutter ( )
protectedvirtual

Definition at line 52 of file mitkBoundingObjectCutter.cpp.

Member Function Documentation

virtual void mitk::BoundingObjectCutter::AutoOutsideValueOff ( )
virtual
virtual void mitk::BoundingObjectCutter::AutoOutsideValueOn ( )
virtual
Pointer mitk::BoundingObjectCutter::Clone ( ) const
void mitk::BoundingObjectCutter::ComputeData ( mitk::Image input3D,
int  boTimeStep 
)
protectedvirtual
void mitk::BoundingObjectCutter::GenerateData ( )
overrideprotectedvirtual

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.

See also
ThreadedGenerateData()

Reimplemented from mitk::ImageSource.

Definition at line 181 of file mitkBoundingObjectCutter.cpp.

References ComputeData(), mitk::ImageToImageFilter::GetInput(), mitk::ImageSource::GetOutput(), m_BoundingObject, m_InputTimeSelector, m_OutputTimeSelector, m_TimeOfHeaderInitialization, mitk::TimeGeometry::TimePointToTimeStep(), and mitk::TimeGeometry::TimeStepToTimePoint().

void mitk::BoundingObjectCutter::GenerateInputRequestedRegion ( )
overrideprotectedvirtual

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 this 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.

See also
ProcessObject::GenerateInputRequestedRegion(), ImageSource::GenerateInputRequestedRegion()

Reimplemented from mitk::ImageToImageFilter.

Definition at line 54 of file mitkBoundingObjectCutter.cpp.

References mitk::GenerateTimeInInputRegion(), mitk::ImageToImageFilter::GetInput(), mitk::ImageSource::GetOutput(), mitk::BaseData::IsInitialized(), and m_BoundingObject.

virtual bool mitk::BoundingObjectCutter::GetAutoOutsideValue ( )
virtual
const mitk::BoundingObject * mitk::BoundingObjectCutter::GetBoundingObject ( ) const

Definition at line 35 of file mitkBoundingObjectCutter.cpp.

References m_BoundingObject.

virtual unsigned int mitk::BoundingObjectCutter::GetInsidePixelCount ( )
virtual
virtual ScalarType mitk::BoundingObjectCutter::GetInsideValue ( )
virtual
const mitk::PixelType mitk::BoundingObjectCutter::GetOutputPixelType ( )
protectedvirtual
virtual unsigned int mitk::BoundingObjectCutter::GetOutsidePixelCount ( )
virtual
virtual ScalarType mitk::BoundingObjectCutter::GetOutsideValue ( )
virtual
virtual bool mitk::BoundingObjectCutter::GetUseInsideValue ( )
virtual
virtual bool mitk::BoundingObjectCutter::GetUseWholeInputRegion ( )
virtual
mitk::BoundingObjectCutter::mitkClassMacro ( BoundingObjectCutter  ,
ImageToImageFilter   
)
static Pointer mitk::BoundingObjectCutter::New ( )
static

Referenced by main().

virtual void mitk::BoundingObjectCutter::SetAutoOutsideValue ( bool  _arg)
virtual
void mitk::BoundingObjectCutter::SetBoundingObject ( const mitk::BoundingObject boundingObject)

Definition at line 28 of file mitkBoundingObjectCutter.cpp.

References m_BoundingObject.

virtual void mitk::BoundingObjectCutter::SetInsideValue ( ScalarType  _arg)
virtual
virtual void mitk::BoundingObjectCutter::SetOutsideValue ( ScalarType  _arg)
virtual
virtual void mitk::BoundingObjectCutter::SetUseInsideValue ( bool  _arg)
virtual
virtual void mitk::BoundingObjectCutter::SetUseWholeInputRegion ( bool  _arg)
virtual
virtual void mitk::BoundingObjectCutter::UseInsideValueOff ( )
virtual
virtual void mitk::BoundingObjectCutter::UseInsideValueOn ( )
virtual

Friends And Related Function Documentation

template<typename TPixel , unsigned int VImageDimension>
void CutImage ( itk::Image< TPixel, VImageDimension > *  itkImage,
mitk::BoundingObjectCutter cutter,
int  boTimeStep 
)
friend

Referenced by ComputeData().

template<typename TPixel , unsigned int VImageDimension>
void CutImage ( itk::VectorImage< TPixel, VImageDimension > *  itkImage,
mitk::BoundingObjectCutter cutter,
int  boTimeStep 
)
friend
template<typename TPixel , unsigned int VImageDimension, typename TOutputPixel >
void CutImageWithOutputTypeSelect ( itk::Image< TPixel, VImageDimension > *  inputItkImage,
mitk::BoundingObjectCutter cutter,
int  boTimeStep,
TOutputPixel *  dummy 
)
friend
template<typename TPixel , unsigned int VImageDimension, typename TOutputPixel >
void CutImageWithOutputTypeSelect ( itk::VectorImage< TPixel, VImageDimension > *  inputItkImage,
mitk::BoundingObjectCutter cutter,
int  boTimeStep,
TOutputPixel *  dummy 
)
friend

Member Data Documentation

bool mitk::BoundingObjectCutter::m_AutoOutsideValue
protected

Definition at line 116 of file mitkBoundingObjectCutter.h.

mitk::BoundingObject::Pointer mitk::BoundingObjectCutter::m_BoundingObject
protected
mitk::SlicedData::RegionType mitk::BoundingObjectCutter::m_InputRequestedRegion
protected

Definition at line 131 of file mitkBoundingObjectCutter.h.

Referenced by GenerateOutputInformation().

mitk::ImageTimeSelector::Pointer mitk::BoundingObjectCutter::m_InputTimeSelector
protected

Definition at line 137 of file mitkBoundingObjectCutter.h.

Referenced by BoundingObjectCutter(), and GenerateData().

unsigned int mitk::BoundingObjectCutter::m_InsidePixelCount
protected

Definition at line 127 of file mitkBoundingObjectCutter.h.

ScalarType mitk::BoundingObjectCutter::m_InsideValue
protected

Definition at line 107 of file mitkBoundingObjectCutter.h.

mitk::ImageTimeSelector::Pointer mitk::BoundingObjectCutter::m_OutputTimeSelector
protected

Definition at line 138 of file mitkBoundingObjectCutter.h.

Referenced by BoundingObjectCutter(), and GenerateData().

unsigned int mitk::BoundingObjectCutter::m_OutsidePixelCount
protected

Definition at line 126 of file mitkBoundingObjectCutter.h.

ScalarType mitk::BoundingObjectCutter::m_OutsideValue
protected

Definition at line 112 of file mitkBoundingObjectCutter.h.

itk::TimeStamp mitk::BoundingObjectCutter::m_TimeOfHeaderInitialization
protected

Definition at line 135 of file mitkBoundingObjectCutter.h.

Referenced by GenerateData(), and GenerateOutputInformation().

bool mitk::BoundingObjectCutter::m_UseInsideValue
protected

Definition at line 124 of file mitkBoundingObjectCutter.h.

bool mitk::BoundingObjectCutter::m_UseWholeInputRegion
protected

Definition at line 140 of file mitkBoundingObjectCutter.h.

Referenced by GenerateOutputInformation().


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