FuzzyConnectDistance¶
-
MLModule
¶ genre Fuzzy
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll MLFuzzy
definition MLFuzzy.def see also FuzzyCluster
keywords connectedness
,segmentation
,HCC
,tumor
,vessels
,bones
Purpose¶
The module FuzzyConnectDistance
provides a segmentation algorithm based on fuzzy connectedness.
The algorithm can be extended by a property based on the distance of image elements to the center of the object being segmented while calculating membership values. This version is designed for spherical objects and objects that do not differ significantly from the background.
Starting from a seed point placed in the object of interest (OOI) or from a vector representing the object’s diameter, the algorithm calculates the membership values of the voxels in the OOI. The mean gray values must be provided for the computation. Several parameters are available to shorten the calculation. After segmentation, the result can be refined by adjusting the threshold for the memberships to achieve an optimal outcome.
The distance-based method is merely a feature and does not have to be used. Disabling this option reverts to the original fuzzy connectedness algorithm.
Usage¶
Preprocessing¶
You must first provide the following values: the Mean Object Value
and its Stdev Object Value
, as well as the Mean Gradient
and its Stdev Gradient
.
This can be done manually or by drawing a contour to allow the object values to be calculated automatically, and placing markers at the border of the OOI to compute the gradient relative to objects outside of it. Alternatively, a vector can be drawn in the OOI with index 0, after which the mean gray value will be calculated based on the points within the circle defined by the diameter. Additionally, the radius is stored to facilitate the calculation of distance-based membership values.
Input Fields¶
inputMarker¶
-
name:
inputMarker
, type:
XMarkerList(MLBase)
¶ A marker list. Only for the calculation of mean gray values.
For accessing this object via scripting see the Scripting Reference:MLXMarkerListWrapper
.
contour¶
-
name:
contour
, type:
SEGContourList(MLBase)
¶ A contour. Only for the calculation of mean gray values.
inputMarkersVol¶
-
name:
inputMarkersVol
, type:
XMarkerList(MLBase)
¶ A marker list, supplying drawn vectors.
For accessing this object via scripting see the Scripting Reference:MLXMarkerListWrapper
.
Output Fields¶
Parameter Fields¶
Field Index¶
acceptedMarkerType : Integer |
Mean Background : Double |
Slice : Integer |
Calc Mean Gray Value : Trigger |
Mean Gradient : Double |
Status : String |
calcCounter : Double |
Mean Object Value : Double |
Stdev Gradient : Double |
Calculate : Trigger |
Neighborhood : Enum |
Stdev Object Value : Double |
calcVolume : Trigger |
noSeeds : Integer |
Stop : Trigger |
Distance Weigth : Double |
Overflow Limit (Voxel) : Integer |
Use (buckets) : Bool |
ImageMax : Double |
Per slice : Bool |
Use (distanceOn) : Bool |
ImageMin : Double |
Radius Weight : Double |
Value : Double |
Lower Limit : Double |
Reset : Trigger |
volume : Double |
maxSize : Integer |
Selection : Double |
Weight Object : Double |
Visible Fields¶
Calculate¶
Slice¶
Per slice¶
Selection¶
-
name:
threshold
, type:
Double
, default:
0.5
, minimum:
0
, maximum:
1
¶ Sets the threshold for membership.
Can be used after the calculation is finished to manipulate the result.
Weight Object¶
-
name:
weight
, type:
Double
, default:
1
, minimum:
0
, maximum:
1
¶ Sets the weight of the object value in the calculation.
The weight of the gradient is 1 -
Weight Object
.
Lower Limit¶
-
name:
calcThresh
, type:
Double
, default:
0
, minimum:
0
, maximum:
1
¶ Sets the membership value for which the calculation is to be pursued.
This should be greater than zero to avoid long calculation time.
Mean Object Value¶
-
name:
meanValue
, type:
Double
, default:
0
, minimum:
:field:`ImageMin`
, maximum:
:field:`ImageMax`
¶ Sets the mean object value.
Stdev Object Value¶
-
name:
stdDevValue
, type:
Double
, default:
0
, minimum:
:field:`ImageMin`
, maximum:
:field:`ImageMax`
¶ Sets the standard deviation of the mean object value.
Mean Gradient¶
-
name:
meanGradient
, type:
Double
, default:
0
, minimum:
:field:`ImageMin`
, maximum:
:field:`ImageMax`
¶ Sets the mean gradient to objects outside the OOI.
This parameter helps finding edges of the OOI.
Stdev Gradient¶
-
name:
stdDevGradient
, type:
Double
, default:
0
, minimum:
:field:`ImageMin`
, maximum:
:field:`ImageMax`
¶ Sets the standard deviation of the gradient.
Calc Mean Gray Value¶
-
name:
seeds
, type:
Trigger
¶ When pressed, the object and gradient values, along with their standard deviations, are calculated automatically.
Use this after tracing a contour and placing markers at the border of the OOI.
Stop¶
Reset¶
-
name:
reset
, type:
Trigger
¶ When pressed, the segmentation result is removed.
If pressed again, the calculation is being started from the beginning.
Value¶
-
name:
connect
, type:
Double
, default:
1
¶ Shows the membership value for which the calculation has been completed.
Mean Background¶
-
name:
meanBack
, type:
Double
, minimum:
:field:`ImageMin`
, maximum:
:field:`ImageMax`
, persistent:
no
¶ Sets the mean background value.
Overflow Limit (Voxel)¶
-
name:
numberOfBucketElements
, type:
Integer
, default:
100
, minimum:
20
¶ Sets the maximum number of the internally used buckets.
If that maximum number is reached, the calculation is stopped.
Use (buckets)¶
-
name:
buckets
, type:
Bool
, default:
FALSE
¶ If checked, the field
Overflow Limit (Voxel)
can be used.
Use (distanceOn)¶
-
name:
distanceOn
, type:
Bool
, default:
FALSE
¶ If checked, the distance to the center of the object is included into the calculation of membership values.
Distance Weigth¶
-
name:
weightDistance
, type:
Double
, default:
0.3
, minimum:
0
, maximum:
1
¶ Sets the weighting between gray values and distance of a voxel from the center of the OOI.