Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit

Writes a 2D slice into a 3D image. More...

#include <mitkOverwriteSliceImageFilter.h>

Inheritance diagram for mitk::OverwriteSliceImageFilter:
Collaboration diagram for mitk::OverwriteSliceImageFilter:

Public Member Functions

 mitkClassMacro (OverwriteSliceImageFilter, ImageToImageFilter)
 
Pointer Clone () const
 
virtual void SetSliceIndex (unsigned int _arg)
 Which slice to overwrite (first one has index 0). More...
 
virtual unsigned int GetSliceIndex () const
 
virtual void SetSliceDimension (unsigned int _arg)
 The orientation of the slice to overwrite. More...
 
virtual unsigned int GetSliceDimension () const
 
virtual void SetTimeStep (unsigned int _arg)
 Time step of the slice to overwrite. More...
 
virtual unsigned int GetTimeStep () const
 
virtual void SetCreateUndoInformation (bool _arg)
 Whether to create undo operation in the MITK undo stack. More...
 
virtual bool GetCreateUndoInformation () const
 
virtual void SetSliceImage (Image *_arg)
 
const ImageGetSliceImage ()
 
const ImageGetLastDifferenceImage ()
 
- 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

 OverwriteSliceImageFilter ()
 
virtual ~OverwriteSliceImageFilter ()
 
virtual void GenerateData () override
 A version of GenerateData() specific for image processing filters. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ItkImageSwitch (itk::Image< TPixel, VImageDimension > *image)
 
template<typename TPixel1 , unsigned int VImageDimension1, typename TPixel2 , unsigned int VImageDimension2>
void ItkImageProcessing (const itk::Image< TPixel1, VImageDimension1 > *itkImage1, itk::Image< TPixel2, VImageDimension2 > *itkImage2)
 
std::string EventDescription (unsigned int sliceDimension, unsigned int sliceIndex, unsigned int timeStep)
 
- Protected Member Functions inherited from mitk::ImageToImageFilter
 ImageToImageFilter ()
 
virtual ~ImageToImageFilter ()
 
virtual void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
virtual void GenerateInputRequestedRegion () 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

Image::ConstPointer m_SliceImage
 
Image::Pointer m_SliceDifferenceImage
 
unsigned int m_SliceIndex
 
unsigned int m_SliceDimension
 
unsigned int m_TimeStep
 
unsigned int m_Dimension0
 
unsigned int m_Dimension1
 
bool m_CreateUndoInformation
 

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

Writes a 2D slice into a 3D image.

Deprecated:
This class is deprecated. Use mitkVtkImageOverwrite instead.
See also
mitkVtkImageOverwrite
See also
SegTool2D
ContourTool
ExtractImageFilter

There is a separate page describing the general design of QmitkInteractiveSegmentation: QmitkInteractiveSegmentationTechnicalPage

This class takes a 3D mitk::Image as input and tries to replace one slice in it with the second input image, which is specified by calling SetSliceImage with a 2D mitk::Image.

Two parameters determine which slice is replaced: 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.

This class works with all kind of image types, the only restrictions being that the input is 3D, and the slice image is 2D.

If requested by SetCreateUndoInformation(true), this class will create instances of ApplyDiffImageOperation for the undo stack. These operations will (on user request) be executed by DiffImageApplier to perform undo.

Last contributor: $Author$

Definition at line 62 of file mitkOverwriteSliceImageFilter.h.

Constructor & Destructor Documentation

mitk::OverwriteSliceImageFilter::OverwriteSliceImageFilter ( )
protected

Definition at line 31 of file mitkOverwriteSliceImageFilter.cpp.

References MITK_WARN.

mitk::OverwriteSliceImageFilter::~OverwriteSliceImageFilter ( )
protectedvirtual

Definition at line 42 of file mitkOverwriteSliceImageFilter.cpp.

Member Function Documentation

Pointer mitk::OverwriteSliceImageFilter::Clone ( ) const
std::string mitk::OverwriteSliceImageFilter::EventDescription ( unsigned int  sliceDimension,
unsigned int  sliceIndex,
unsigned int  timeStep 
)
protected

Definition at line 263 of file mitkOverwriteSliceImageFilter.cpp.

void mitk::OverwriteSliceImageFilter::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 46 of file mitkOverwriteSliceImageFilter.cpp.

References AccessFixedDimensionByItk, mitk::SegmentationInterpolationController::BlockModified(), mitk::UndoController::GetCurrentUndoModel(), mitk::ImageToImageFilter::GetInput(), mitk::DiffImageApplier::GetInstanceForUndo(), mitk::UndoStackItem::IncCurrObjectEventId(), mitk::SegmentationInterpolationController::InterpolatorForImage(), mitk::ImageTimeSelector::New(), mitk::Image::New(), mitk::OpTEST, mitk::SegmentationInterpolationController::SetChangedSlice(), and mitk::UndoModel::SetOperationEvent().

virtual bool mitk::OverwriteSliceImageFilter::GetCreateUndoInformation ( ) const
virtual
const Image* mitk::OverwriteSliceImageFilter::GetLastDifferenceImage ( )
inline

Definition at line 97 of file mitkOverwriteSliceImageFilter.h.

virtual unsigned int mitk::OverwriteSliceImageFilter::GetSliceDimension ( ) const
virtual
const Image* mitk::OverwriteSliceImageFilter::GetSliceImage ( )
inline

Definition at line 96 of file mitkOverwriteSliceImageFilter.h.

virtual unsigned int mitk::OverwriteSliceImageFilter::GetSliceIndex ( ) const
virtual
virtual unsigned int mitk::OverwriteSliceImageFilter::GetTimeStep ( ) const
virtual
template<typename TPixel1 , unsigned int VImageDimension1, typename TPixel2 , unsigned int VImageDimension2>
void mitk::OverwriteSliceImageFilter::ItkImageProcessing ( const itk::Image< TPixel1, VImageDimension1 > *  itkImage1,
itk::Image< TPixel2, VImageDimension2 > *  itkImage2 
)
protected

Definition at line 213 of file mitkOverwriteSliceImageFilter.cpp.

References mitk::CastToItkImage().

template<typename TPixel , unsigned int VImageDimension>
void mitk::OverwriteSliceImageFilter::ItkImageSwitch ( itk::Image< TPixel, VImageDimension > *  image)
protected
mitk::OverwriteSliceImageFilter::mitkClassMacro ( OverwriteSliceImageFilter  ,
ImageToImageFilter   
)
static Pointer mitk::OverwriteSliceImageFilter::New ( )
static
virtual void mitk::OverwriteSliceImageFilter::SetCreateUndoInformation ( bool  _arg)
virtual

Whether to create undo operation in the MITK undo stack.

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

The orientation of the slice to overwrite.

Parameter SliceDimension Number of the dimension which is constant for all pixels of the desired slices (e.g. 0 for axial)

virtual void mitk::OverwriteSliceImageFilter::SetSliceImage ( Image _arg)
virtual
virtual void mitk::OverwriteSliceImageFilter::SetSliceIndex ( unsigned int  _arg)
virtual

Which slice to overwrite (first one has index 0).

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

Time step of the slice to overwrite.

Member Data Documentation

bool mitk::OverwriteSliceImageFilter::m_CreateUndoInformation
protected

Definition at line 122 of file mitkOverwriteSliceImageFilter.h.

unsigned int mitk::OverwriteSliceImageFilter::m_Dimension0
protected

Definition at line 119 of file mitkOverwriteSliceImageFilter.h.

unsigned int mitk::OverwriteSliceImageFilter::m_Dimension1
protected

Definition at line 120 of file mitkOverwriteSliceImageFilter.h.

Image::Pointer mitk::OverwriteSliceImageFilter::m_SliceDifferenceImage
protected

Definition at line 114 of file mitkOverwriteSliceImageFilter.h.

unsigned int mitk::OverwriteSliceImageFilter::m_SliceDimension
protected

Definition at line 117 of file mitkOverwriteSliceImageFilter.h.

Image::ConstPointer mitk::OverwriteSliceImageFilter::m_SliceImage
protected

Definition at line 113 of file mitkOverwriteSliceImageFilter.h.

unsigned int mitk::OverwriteSliceImageFilter::m_SliceIndex
protected

Definition at line 116 of file mitkOverwriteSliceImageFilter.h.

unsigned int mitk::OverwriteSliceImageFilter::m_TimeStep
protected

Definition at line 118 of file mitkOverwriteSliceImageFilter.h.


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