Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
mitk::CreateDistanceImageFromSurfaceFilter Class Reference

This filter interpolates the 3D surface for a segmented area. The basis for the interpolation are the edge-points of contours that are drawn into an image. More...

#include <mitkCreateDistanceImageFromSurfaceFilter.h>

Inheritance diagram for mitk::CreateDistanceImageFromSurfaceFilter:
Collaboration diagram for mitk::CreateDistanceImageFromSurfaceFilter:

Public Types

typedef vnl_vector_fixed< double, 3 > PointType
 
typedef itk::Image< double, 3 > DistanceImageType
 
typedef DistanceImageType::IndexType IndexType
 
typedef std::vector< PointTypeNormalList
 
typedef std::vector< PointTypeCenterList
 
typedef std::vector< Surface::PointerSurfaceList
 
- 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 (CreateDistanceImageFromSurfaceFilter, ImageSource)
 
Pointer Clone () const
 
virtual double GetDistanceImageSpacing ()
 
virtual void SetInput (const mitk::Surface *surface)
 
virtual void SetInput (unsigned int idx, const mitk::Surface *surface)
 
virtual const mitk::SurfaceGetInput ()
 
virtual const mitk::SurfaceGetInput (unsigned int idx)
 
virtual void RemoveInputs (mitk::Surface *input)
 
virtual void SetDistanceImageVolume (unsigned int _arg)
 Set the size of the output distance image. The size is specified by the image's volume (i.e. in this case how many pixels are enclosed by the image) If non is set, the volume will be 500000 pixels. More...
 
void PrintEquationSystem ()
 
void Reset ()
 
void SetUseProgressBar (bool)
 Set whether the mitkProgressBar should be used. More...
 
void SetProgressStepSize (unsigned int stepSize)
 Set the stepsize which the progress bar should proceed. More...
 
void SetReferenceImage (itk::ImageBase< 3 >::Pointer referenceImage)
 
- Public Member Functions inherited from mitk::ImageSource
virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
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::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

 CreateDistanceImageFromSurfaceFilter ()
 
 ~CreateDistanceImageFromSurfaceFilter () override
 
void GenerateData () override
 
void GenerateOutputInformation () 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
 

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

This filter interpolates the 3D surface for a segmented area. The basis for the interpolation are the edge-points of contours that are drawn into an image.

The interpolation itself is performed via Radial Basis Function Interpolation.

ATTENTION: This filter needs beside the edge points of the delineated contours additionally the normals for each edge point.

See also
mitkSurfaceInterpolationController

Based on the contour edge points and their normal this filter calculates a distance function with the following properties:

  • Putting a point into the distance function that lies inside the considered surface gives a negativ scalar value
  • Putting a point into the distance function that lies outside the considered surface gives a positive scalar value
  • Putting a point into the distance function that lies exactly on the considered surface gives the value zero

With this interpolated distance function a distance image will be created. The desired surface can then be extract e.g. with the marching cubes algorithm. (Within the distance image the surface goes exactly where the pixelvalues are zero)

   Note that the obtained distance image has always an isotropig spacing. The size (in this case volume) of the

image can be adjusted by calling SetDistanceImageVolume(unsigned int volume) which specifies the number ob pixels enclosed by the image.

Author
fetzer

Definition at line 64 of file mitkCreateDistanceImageFromSurfaceFilter.h.

Member Typedef Documentation

◆ CenterList

◆ DistanceImageType

◆ IndexType

typedef DistanceImageType::IndexType mitk::CreateDistanceImageFromSurfaceFilter::IndexType

Definition at line 70 of file mitkCreateDistanceImageFromSurfaceFilter.h.

◆ NormalList

◆ PointType

typedef vnl_vector_fixed<double, 3> mitk::CreateDistanceImageFromSurfaceFilter::PointType

Definition at line 67 of file mitkCreateDistanceImageFromSurfaceFilter.h.

◆ SurfaceList

Constructor & Destructor Documentation

◆ CreateDistanceImageFromSurfaceFilter()

mitk::CreateDistanceImageFromSurfaceFilter::CreateDistanceImageFromSurfaceFilter ( )
protected

◆ ~CreateDistanceImageFromSurfaceFilter()

mitk::CreateDistanceImageFromSurfaceFilter::~CreateDistanceImageFromSurfaceFilter ( )
overrideprotected

Member Function Documentation

◆ Clone()

Pointer mitk::CreateDistanceImageFromSurfaceFilter::Clone ( ) const

◆ GenerateData()

void mitk::CreateDistanceImageFromSurfaceFilter::GenerateData ( )
overrideprotected

◆ GenerateOutputInformation()

void mitk::CreateDistanceImageFromSurfaceFilter::GenerateOutputInformation ( )
overrideprotected

◆ GetDistanceImageSpacing()

virtual double mitk::CreateDistanceImageFromSurfaceFilter::GetDistanceImageSpacing ( )
virtual

◆ GetInput() [1/2]

virtual const mitk::Surface* mitk::CreateDistanceImageFromSurfaceFilter::GetInput ( )
virtual

◆ GetInput() [2/2]

virtual const mitk::Surface* mitk::CreateDistanceImageFromSurfaceFilter::GetInput ( unsigned int  idx)
virtual

◆ mitkClassMacro()

mitk::CreateDistanceImageFromSurfaceFilter::mitkClassMacro ( CreateDistanceImageFromSurfaceFilter  ,
ImageSource   
)

◆ New()

static Pointer mitk::CreateDistanceImageFromSurfaceFilter::New ( )
static

◆ PrintEquationSystem()

void mitk::CreateDistanceImageFromSurfaceFilter::PrintEquationSystem ( )

◆ RemoveInputs()

virtual void mitk::CreateDistanceImageFromSurfaceFilter::RemoveInputs ( mitk::Surface input)
virtual

◆ Reset()

void mitk::CreateDistanceImageFromSurfaceFilter::Reset ( )

◆ SetDistanceImageVolume()

virtual void mitk::CreateDistanceImageFromSurfaceFilter::SetDistanceImageVolume ( unsigned int  _arg)
virtual

Set the size of the output distance image. The size is specified by the image's volume (i.e. in this case how many pixels are enclosed by the image) If non is set, the volume will be 500000 pixels.

◆ SetInput() [1/2]

virtual void mitk::CreateDistanceImageFromSurfaceFilter::SetInput ( const mitk::Surface surface)
virtual

◆ SetInput() [2/2]

virtual void mitk::CreateDistanceImageFromSurfaceFilter::SetInput ( unsigned int  idx,
const mitk::Surface surface 
)
virtual

◆ SetProgressStepSize()

void mitk::CreateDistanceImageFromSurfaceFilter::SetProgressStepSize ( unsigned int  stepSize)

Set the stepsize which the progress bar should proceed.

Parameter The stepsize for progressing

◆ SetReferenceImage()

void mitk::CreateDistanceImageFromSurfaceFilter::SetReferenceImage ( itk::ImageBase< 3 >::Pointer  referenceImage)

◆ SetUseProgressBar()

void mitk::CreateDistanceImageFromSurfaceFilter::SetUseProgressBar ( bool  )

Set whether the mitkProgressBar should be used.

Parameter true for using the progress bar, false otherwise


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