DtfSkeletonization

MLModule
genre Distance
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll MLDTF
definition MLDTF.def
keywords distance, vessels, thinning

Purpose

The module DtfSkeletonization computes the skeletonization of a binary image by successive erosion of border voxels.

Topology of the initial mask is preserved. Use for vessel centerline extraction. Works both in 2D and 3D. Erosion distances are coded in mm in the output image.

Details

The module works on uint16 values internally. Output are floats in mm. Precision is limited by the uint16 value range.

The implementation is described in most detail in the PhD thesis by Dirk Selle: “Analyse von Gefäßstrukturen in medizinischen Schichtdatensätzen für die computergestützte Operationsplanung”. See also this book chapter and TMI article which contain shorter (English) descriptions of the method.

Tips

The module assumes that the border voxels are all non-object voxels. That has the consequence that border object voxels will not be included in the skeletonization.

If the border voxels should be included in the skeletonization, use a SubImage module before DtfSkeletonization module; set the sizes to Full Size and subtract 1 from the start and add a 2 to the size in each dimension (at least for x/y/z) to augment the image with a border.

Windows

Default Panel

../../../Modules/ML/MLDTF/mhelp/Images/Screenshots/DtfSkeletonization._default.png

Input Fields

input0

name: input0, type: Image

Image values > 0. Binary mask is defined by parameter Object Min Value.

Output Fields

output0

name: output0, type: Image

Erosion distances in mm. Centerline has local maximal distances. Output of centerline only by parameter Skeleton Only.

outBase0

name: outBase0, type: PointList(MLBase)

Unsorted list of skeleton points.

outBase1

name: outBase1, type: Graph(MLBase)

Graph base object of centerline.

For accessing this object via scripting see the Scripting Reference: MLGraphWrapper.

Parameter Fields

Field Index

Cavity Volume: Integer Skeleton Only: Bool
Clear: Trigger Update: Trigger
Compile Graph Voxels: Bool Update Mode: Enum
isValid: Bool Update Skeleton Graph: Bool
Max Distance: Float Use Max Distance: Bool
Object Min Value: Integer  
outImageScaleFactor: Float  
progress: Float  

Visible Fields

Update Skeleton Graph

name: updateSkeletonGraph, type: Bool, default: FALSE

If checked, the output skeleton graph is also calculated.

Compile Graph Voxels

name: compileGraphVoxels, type: Bool, default: FALSE

If checked, the ouput skeleton graph also contains all object voxels.

Object Min Value

name: objectMinValue, type: Integer, default: 1, minimum: 0

Sets the minimum value of the object mask.

Cavity Volume

name: cavityVolume, type: Integer, default: 10

Sets a number of enclosed voxels to close cavities in binary objects before skeletonization.

Max Distance

name: maxDistance, type: Float, default: 10000

Sets the maximum erosion distance in mm.

If this value is smaller than the largest object extent, no centerline is detected.

Use Max Distance

name: useMaxDistance, type: Bool, default: FALSE

If checked, the value in Max Distance is used.

Update Mode

name: autoUpdateMode, type: Enum, default: Off

Defines the update mode of this module.

Values:

Title Name Description
Off Off Nothing happens on any field change.
Auto Clear AutoClear The outputs are invalidated if any field or input changes.
Auto Update AutoUpdate The outputs are computed anew on any field change.

Skeleton Only

name: skeletonOnly, type: Bool, default: FALSE

If checked, the module only codes the centerline in the output image.

Otherwise, the distances to the centerline in mm are coded into the output image.

Update

name: update, type: Trigger

If pressed, the module computes anew.

Clear

name: clear, type: Trigger

If pressed, the module’s outputs are invalidated.

Hidden Fields

outImageScaleFactor

name: outImageScaleFactor, type: Float, persistent: no

isValid

name: isValid, type: Bool, persistent: no

progress

name: progress, type: Float, persistent: no