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

Filter that creates a distance image from contour surface points using Radial Basis Function interpolation. 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< PointType > NormalList
 
typedef std::vector< PointType > CenterList
 
typedef std::vector< Surface::Pointer > SurfaceList
 
- 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 (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::Surface * GetInput ()
 
virtual const mitk::Surface * GetInput (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
 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::ImageSource
static Pointer New ()
 Method for creation through the object factory. More...
 

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

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

Filter that creates a distance image from contour surface points using Radial Basis Function interpolation.

Given a set of contour edge points with associated normals (as mitk::Surface inputs), this filter computes an implicit distance function via Radial Basis Function (RBF) interpolation and samples it into a 3D distance image.

The distance function has the following properties:

  • Points inside the surface yield negative values.
  • Points outside the surface yield positive values.
  • Points on the surface yield zero.

The zero level set of the resulting distance image represents the interpolated surface, which can be extracted using e.g. marching cubes.

The distance image always has isotropic spacing. Its total number of pixels can be adjusted via SetDistanceImageVolume() (default: 500000).

Precondition
Each input surface must contain contour edge points with normals stored in the cell data.
See also
ComputeContourSetNormalsFilter, ReduceContourSetFilter, SurfaceInterpolationController

Definition at line 52 of file mitkCreateDistanceImageFromSurfaceFilter.h.

Member Typedef Documentation

◆ CenterList

◆ DistanceImageType

◆ IndexType

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

Definition at line 58 of file mitkCreateDistanceImageFromSurfaceFilter.h.

◆ NormalList

◆ PointType

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

Definition at line 55 of file mitkCreateDistanceImageFromSurfaceFilter.h.

◆ SurfaceList

typedef std::vector<Surface::Pointer> mitk::CreateDistanceImageFromSurfaceFilter::SurfaceList

Definition at line 63 of file mitkCreateDistanceImageFromSurfaceFilter.h.

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: