FuzzyConnectDistance¶
- MLModule¶
genre
author
package
dll
definition
see also
keywords
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.
Calculation¶
At least one seed point has to be placed in the OOI before starting the calculation by pressing the Calculate button. To stop the calculation manually, press the Stop button.
Postprocessing¶
To manipulate the result, move the slider Selection
Windows¶
Default Panel¶
Input Fields¶
input0¶
- name: input0, type: Image¶
The scalar input image.
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¶
output0¶
- name: output0, type: Image¶
The output result as a float image.
The background is set to 0 and the values in the segmented region are between 0 and 1 depending on their membership values in the OOI.
Parameter Fields¶
Field Index¶
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
Status¶
- name: status, type: String, persistent: no¶
Shows the status of the module.
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.
Radius Weight¶
- name: weightRadius, type: Double, default: 0.2, minimum: 0, maximum: 1¶
Sets a percentage to be subtracted from the radius derived from the drawn diameter.
Neighborhood¶
- name: neighbourhood, type: Enum, default: 4/6 Neighbours¶
Defines the considered neighborhood for the algorithm.
Values:
Title |
Name |
Description |
|---|---|---|
4/6 Neighbours |
4/6 Neighbours |
2D neighborhood. |
8/26 Neighbours |
8/26 Neighbours |
3D neighborhood. |