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