FuzzyConnectDistance¶
-
MLModule
¶ genre Fuzzy
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll MLFuzzy
definition MLFuzzy.def see also ContourManager
,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 to be segmented while calculating membership values. This version is conceived for spherical objects and objects that do not differ much from the background.
Starting from a seed point to be placed in the object of interest or from a vector drawn as the object’s diameter, the algorithm starts to calculate the membership values of the voxels in the object of interest (OOI). For the computation, mean gray values have to be provided. There are several parameters to help shortening the calculation. After the segmentation is done, the result can be manipulated by changing the threshold for the memberships to obtain an optimal result.
The distance-based method is only a feature but has not to be used. Turning the option off provides the original Fuzzy Connectedness algorithm.
Usage¶
Preprocessing¶
First you have to provide the following values: the Mean Object Value
, its Stdev Object Value
, the Mean Gradient
and its Stdev Gradient
.
This can be done manually or by drawing a contour to let the object values be calculated automatically and putting some markers at the border of the OOI to calculate the gradient to objects outside of it. Another possibility is to draw a vector in the object of interest with the index 0 and then the mean gray value will be calculated considering the points inside the circle defined by the diameter. Moreover, the radius is stored to be able to calculate 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 done 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 that the calculation should be pursued.
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
¶ If pressed, the object and gradient values and their standard deviation are calculated automatically.
Use this after tracing a contour and placing markers at the border of the OOI.
Stop¶
Reset¶
-
name:
reset
, type:
Trigger
¶ If 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 for which membership value the calculation has been done.
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.