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

Calculates a LiveWire contour between two points in an image. More...

#include <mitkImageLiveWireContourModelFilter.h>

Inheritance diagram for mitk::ImageLiveWireContourModelFilter:
Collaboration diagram for mitk::ImageLiveWireContourModelFilter:

Public Types

typedef ContourModel OutputType
 
typedef OutputType::Pointer OutputTypePointer
 
typedef mitk::Image InputType
 
typedef itk::Image< float, 2 > InternalImageType
 
typedef itk::ShortestPathImageFilter< InternalImageType, InternalImageType > ShortestPathImageFilterType
 
typedef itk::ShortestPathCostFunctionLiveWire< InternalImageType > CostFunctionType
 
typedef std::vector< itk::Index< 2 > > ShortestPathType
 
- Public Types inherited from mitk::ContourModelSource
typedef ContourModel OutputType
 The output data type produced by this source. More...
 
typedef OutputType::Pointer OutputTypePointer
 Smart pointer type for the output. More...
 
- 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 (ImageLiveWireContourModelFilter, ContourModelSource)
 
Pointer Clone () const
 
virtual void SetStartPoint (mitk::Point3D _arg)
 Start point in world coordinates. More...
 
virtual mitk::Point3D GetStartPoint ()
 
virtual void SetEndPoint (mitk::Point3D _arg)
 End point in world coordinates. More...
 
virtual mitk::Point3D GetEndPoint ()
 
virtual void SetUseDynamicCostMap (bool _arg)
 Create dynamic cost transfer map - use on the fly training. More...
 
virtual bool GetUseDynamicCostMap ()
 
void ClearRepulsivePoints ()
 Clear all repulsive points used in the cost function. More...
 
void SetRepulsivePoints (const ShortestPathType &points)
 Set a vector with repulsive points to use in the cost function. More...
 
void AddRepulsivePoint (const itk::Index< 2 > &idx)
 Add a single repulsive point to the cost function. More...
 
void RemoveRepulsivePoint (const itk::Index< 2 > &idx)
 Remove a single repulsive point from the cost function. More...
 
virtual void SetInput (const InputType *input)
 Set the input image for the LiveWire computation. More...
 
virtual void SetInput (unsigned int idx, const InputType *input)
 Set the input image at a specific index. More...
 
const InputType * GetInput (void)
 Get the first input image. More...
 
const InputType * GetInput (unsigned int idx)
 Get the input image at a specific index. More...
 
virtual OutputType * GetOutput ()
 Get the output contour model. More...
 
virtual void DumpMaskImage ()
 Debug helper that dumps the internal mask image. More...
 
bool CreateDynamicCostMap (mitk::ContourModel *path=nullptr)
 Create a dynamic cost transfer map using on-the-fly training. More...
 
void SetUseCostFunction (bool doUseCostFunction)
 Enable or disable the cost function in the shortest path filter. More...
 
- Public Member Functions inherited from mitk::ContourModelSource
 mitkClassMacro (ContourModelSource, BaseDataSource)
 
Pointer Clone () const
 
mitkBaseDataSourceGetOutputDeclarations itk::DataObject::Pointer MakeOutput (DataObjectPointerArraySizeType idx) override
 Allocate a new output object at the given index. More...
 
itk::DataObject::Pointer MakeOutput (const DataObjectIdentifierType &name) override
 Allocate a new output object by name. 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::ContourModelSource
static Pointer New ()
 

Protected Member Functions

 ImageLiveWireContourModelFilter ()
 
 ~ImageLiveWireContourModelFilter () override
 
void GenerateOutputInformation () override
 
void GenerateData () override
 
void UpdateLiveWire ()
 
template<typename TPixel , unsigned int VImageDimension>
void ItkPreProcessImage (const itk::Image< TPixel, VImageDimension > *inputImage)
 
template<typename TPixel , unsigned int VImageDimension>
void CreateDynamicCostMapByITK (const itk::Image< TPixel, VImageDimension > *inputImage, mitk::ContourModel *path=nullptr)
 
- Protected Member Functions inherited from mitk::ContourModelSource
 ContourModelSource ()
 
 ~ContourModelSource () override
 
- Protected Member Functions inherited from mitk::BaseDataSource
 BaseDataSource ()
 Constructor. More...
 
 ~BaseDataSource () override
 Destructor. More...
 

Protected Attributes

mitk::Point3D m_StartPoint
 Start point in world coordinates. More...
 
mitk::Point3D m_EndPoint
 End point in world coordinates. More...
 
mitk::Point3D m_StartPointInIndex
 Start point in image index coordinates. More...
 
mitk::Point3D m_EndPointInIndex
 End point in image index coordinates. More...
 
CostFunctionType::Pointer m_CostFunction
 The cost function to compute costs between two pixels. More...
 
ShortestPathImageFilterType::Pointer m_ShortestPathFilter
 Shortest path filter according to cost function m_CostFunction. More...
 
bool m_UseDynamicCostMap
 Flag to use a dynamic cost map or not. More...
 
unsigned int m_TimeStep
 
InternalImageType::Pointer m_InternalImage
 

Additional Inherited Members

- Static Protected Member Functions inherited from mitk::BaseDataSource
static Pointer New ()
 

Detailed Description

Calculates a LiveWire contour between two points in an image.

For defining costs between two pixels specific features are extracted from the image and transformed into a single cost value.

See also
ShortestPathCostFunctionLiveWire

The filter is able to create dynamic cost transfer map and thus use on the fly training.

Note
On the fly training will only be used for next update. The computation uses the last calculated segment to map cost according to features in the area of the segment.

Caution: time support currently not available. Filter will always work on the first timestep in its current implementation.

Definition at line 47 of file mitkImageLiveWireContourModelFilter.h.

Member Typedef Documentation

◆ CostFunctionType

◆ InputType

◆ InternalImageType

◆ OutputType

◆ OutputTypePointer

◆ ShortestPathImageFilterType

◆ ShortestPathType

typedef std::vector<itk::Index<2> > mitk::ImageLiveWireContourModelFilter::ShortestPathType

Definition at line 61 of file mitkImageLiveWireContourModelFilter.h.

Constructor & Destructor Documentation

◆ ImageLiveWireContourModelFilter()

mitk::ImageLiveWireContourModelFilter::ImageLiveWireContourModelFilter ( )
protected

◆ ~ImageLiveWireContourModelFilter()

mitk::ImageLiveWireContourModelFilter::~ImageLiveWireContourModelFilter ( )
overrideprotected

Member Function Documentation

◆ AddRepulsivePoint()

void mitk::ImageLiveWireContourModelFilter::AddRepulsivePoint ( const itk::Index< 2 > &  idx)

Add a single repulsive point to the cost function.

◆ ClearRepulsivePoints()

void mitk::ImageLiveWireContourModelFilter::ClearRepulsivePoints ( )

Clear all repulsive points used in the cost function.

◆ Clone()

Pointer mitk::ImageLiveWireContourModelFilter::Clone ( ) const

◆ CreateDynamicCostMap()

bool mitk::ImageLiveWireContourModelFilter::CreateDynamicCostMap ( mitk::ContourModel *  path = nullptr)

Create a dynamic cost transfer map using on-the-fly training.

Parameters
pathOptional contour path to use for training. If nullptr, the last computed segment is used.
Returns
True if the cost map was created successfully.

◆ CreateDynamicCostMapByITK()

template<typename TPixel , unsigned int VImageDimension>
void mitk::ImageLiveWireContourModelFilter::CreateDynamicCostMapByITK ( const itk::Image< TPixel, VImageDimension > *  inputImage,
mitk::ContourModel *  path = nullptr 
)
protected

◆ DumpMaskImage()

virtual void mitk::ImageLiveWireContourModelFilter::DumpMaskImage ( )
virtual

Debug helper that dumps the internal mask image.

◆ GenerateData()

void mitk::ImageLiveWireContourModelFilter::GenerateData ( )
overrideprotected

◆ GenerateOutputInformation()

void mitk::ImageLiveWireContourModelFilter::GenerateOutputInformation ( )
inlineoverrideprotected

Definition at line 135 of file mitkImageLiveWireContourModelFilter.h.

◆ GetEndPoint()

virtual mitk::Point3D mitk::ImageLiveWireContourModelFilter::GetEndPoint ( )
virtual

◆ GetInput() [1/2]

const InputType* mitk::ImageLiveWireContourModelFilter::GetInput ( unsigned int  idx)

Get the input image at a specific index.

◆ GetInput() [2/2]

const InputType* mitk::ImageLiveWireContourModelFilter::GetInput ( void  )

Get the first input image.

◆ GetOutput()

virtual OutputType* mitk::ImageLiveWireContourModelFilter::GetOutput ( )
virtual

Get the output contour model.

◆ GetStartPoint()

virtual mitk::Point3D mitk::ImageLiveWireContourModelFilter::GetStartPoint ( )
virtual

◆ GetUseDynamicCostMap()

virtual bool mitk::ImageLiveWireContourModelFilter::GetUseDynamicCostMap ( )
virtual

◆ ItkPreProcessImage()

template<typename TPixel , unsigned int VImageDimension>
void mitk::ImageLiveWireContourModelFilter::ItkPreProcessImage ( const itk::Image< TPixel, VImageDimension > *  inputImage)
protected

◆ mitkClassMacro()

mitk::ImageLiveWireContourModelFilter::mitkClassMacro ( ImageLiveWireContourModelFilter  ,
ContourModelSource   
)

◆ New()

static Pointer mitk::ImageLiveWireContourModelFilter::New ( )
static

◆ RemoveRepulsivePoint()

void mitk::ImageLiveWireContourModelFilter::RemoveRepulsivePoint ( const itk::Index< 2 > &  idx)

Remove a single repulsive point from the cost function.

◆ SetEndPoint()

virtual void mitk::ImageLiveWireContourModelFilter::SetEndPoint ( mitk::Point3D  _arg)
virtual

End point in world coordinates.

◆ SetInput() [1/2]

virtual void mitk::ImageLiveWireContourModelFilter::SetInput ( const InputType *  input)
virtual

Set the input image for the LiveWire computation.

Parameters
inputThe image to compute the LiveWire contour on.

◆ SetInput() [2/2]

virtual void mitk::ImageLiveWireContourModelFilter::SetInput ( unsigned int  idx,
const InputType *  input 
)
virtual

Set the input image at a specific index.

Parameters
idxThe input index.
inputThe image to set.

◆ SetRepulsivePoints()

void mitk::ImageLiveWireContourModelFilter::SetRepulsivePoints ( const ShortestPathType &  points)

Set a vector with repulsive points to use in the cost function.

◆ SetStartPoint()

virtual void mitk::ImageLiveWireContourModelFilter::SetStartPoint ( mitk::Point3D  _arg)
virtual

Start point in world coordinates.

◆ SetUseCostFunction()

void mitk::ImageLiveWireContourModelFilter::SetUseCostFunction ( bool  doUseCostFunction)
inline

Enable or disable the cost function in the shortest path filter.

Parameters
doUseCostFunctionIf true, the cost function is used; otherwise uniform cost is assumed.

Definition at line 128 of file mitkImageLiveWireContourModelFilter.h.

◆ SetUseDynamicCostMap()

virtual void mitk::ImageLiveWireContourModelFilter::SetUseDynamicCostMap ( bool  _arg)
virtual

Create dynamic cost transfer map - use on the fly training.

Note
On the fly training will be used for next update only. The computation uses the last calculated segment to map cost according to features in the area of the segment.

◆ UpdateLiveWire()

void mitk::ImageLiveWireContourModelFilter::UpdateLiveWire ( )
protected

Member Data Documentation

◆ m_CostFunction

CostFunctionType::Pointer mitk::ImageLiveWireContourModelFilter::m_CostFunction
protected

The cost function to compute costs between two pixels.

Definition at line 154 of file mitkImageLiveWireContourModelFilter.h.

◆ m_EndPoint

mitk::Point3D mitk::ImageLiveWireContourModelFilter::m_EndPoint
protected

End point in world coordinates.

Definition at line 145 of file mitkImageLiveWireContourModelFilter.h.

◆ m_EndPointInIndex

mitk::Point3D mitk::ImageLiveWireContourModelFilter::m_EndPointInIndex
protected

End point in image index coordinates.

Definition at line 151 of file mitkImageLiveWireContourModelFilter.h.

◆ m_InternalImage

InternalImageType::Pointer mitk::ImageLiveWireContourModelFilter::m_InternalImage
protected

Definition at line 171 of file mitkImageLiveWireContourModelFilter.h.

◆ m_ShortestPathFilter

ShortestPathImageFilterType::Pointer mitk::ImageLiveWireContourModelFilter::m_ShortestPathFilter
protected

Shortest path filter according to cost function m_CostFunction.

Definition at line 157 of file mitkImageLiveWireContourModelFilter.h.

◆ m_StartPoint

mitk::Point3D mitk::ImageLiveWireContourModelFilter::m_StartPoint
protected

Start point in world coordinates.

Definition at line 142 of file mitkImageLiveWireContourModelFilter.h.

◆ m_StartPointInIndex

mitk::Point3D mitk::ImageLiveWireContourModelFilter::m_StartPointInIndex
protected

Start point in image index coordinates.

Definition at line 148 of file mitkImageLiveWireContourModelFilter.h.

◆ m_TimeStep

unsigned int mitk::ImageLiveWireContourModelFilter::m_TimeStep
protected

Definition at line 162 of file mitkImageLiveWireContourModelFilter.h.

◆ m_UseDynamicCostMap

bool mitk::ImageLiveWireContourModelFilter::m_UseDynamicCostMap
protected

Flag to use a dynamic cost map or not.

Definition at line 160 of file mitkImageLiveWireContourModelFilter.h.


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