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.

The topology of the initial mask is preserved. Use this module for vessel centerline extraction. It works in both 2D and 3D. Erosion distances are encoded in millimeters in the output image.

Details

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

The implementation is described in 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 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 millimeters. The 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 output 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 millimeters.

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 encodes the centerline into the output image.

Otherwise, the distances to the centerline in millimeters are encoded into the output image.

Update

name: update, type: Trigger

When pressed, the module computes anew.

Clear

name: clear, type: Trigger

When 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