RegionGrowingMacro¶
-
MacroModule
¶ genre Region
author MeVis Medical Solutions AG
package MeVisLab/Standard
definition segmentation.def see also RegionGrowing
,SoView2DMarkerEditor
,SoView2DOverlay
keywords segmentation
,fill
,thresholding
Purpose¶
The module RegionGrowingMacro
wraps the module RegionGrowing
by adding a viewer and a marker editor to simplify its usage.
Usage¶
Click somewhere in the viewer to set one or more seeds, then adjust the thresholds and press ‘update’ to perform the region growing.
Details¶
See RegionGrowing
and SoView2DMarkerEditor
for details on the region growing algorithm and the marker handling.
Input Fields¶
Output Fields¶
outMarkers¶
-
name:
outMarkers
, type:
XMarkerList(MLBase)
¶ The current marker list
For accessing this object via scripting see the Scripting Reference:MLXMarkerListWrapper
.
Parameter Fields¶
Field Index¶
Visible Fields¶
Update Mode¶
-
name:
autoUpdateMode
, type:
Enum
, default:
AutoClear
¶ Defines the auto-update behavior of this module. In Auto-Update mode, the module updates on any input image or parameter change. In Auto-Clear, the module is auto-cleared when the input image changes.
Values:
Title | Name | Deprecated Name | Description |
---|---|---|---|
Auto-Clear | AutoClear | AutoClearOnImageChange,Off | Auto-Clear on input image change. |
Auto-Update | AutoUpdate | Auto-Update on any input image or parameter change. |
Automatic (based on average seed value and threshold interval size)¶
-
name:
enableAutoThresholdInterval
, type:
Bool
, default:
TRUE
, deprecated name:
autoThreshold
¶ If checked, the module automatically generates threshold.
Otherwise, the thresholds can be set manually.
Threshold Interval Size [%]¶
-
name:
autoThresholdIntervalSizeInPercent
, type:
Double
, default:
5
, minimum:
0
, maximum:
100
, deprecated name:
intervalSize
¶ Sets an interval size as percent for the automatic threshold generation.
Neighborhood Relation¶
-
name:
basicNeighborhoodType
, type:
Enum
, default:
BNBH_3D_6_XYZ
¶ Defines the neighborhood relation for the region growing algorithm.
Values:
Title | Name | Deprecated Name |
---|---|---|
2D-4-Neighborhood (x,y) | BNBH_2D_4_XY | 2D-4-Neighborhood (x,y) |
3D-6-Neighborhood (x,y,z) | BNBH_3D_6_XYZ | 3D-6-Neighborhood (x,y,z) |
4D-8-Neighborhood (x,y,z,t) | BNBH_4D_8_XYZT | 4D-8-Neighborhood (x,y,z,t) |
Override Nbhd. Relation to¶
-
name:
extendedNeighborhoodType
, type:
Enum
, default:
ENBH_2D_4_XZ
¶ Defines an extended neighborhood relation.
Values:
Title | Name | Deprecated Name |
---|---|---|
1D-2-Neighborhood (x) | ENBH_1D_2_X | 1D-2-Neighborhood (x) |
1D-2-Neighborhood (y) | ENBH_1D_2_Y | 1D-2-Neighborhood (y) |
1D-2-Neighborhood (z) | ENBH_1D_2_Z | 1D-2-Neighborhood (z) |
2D-4-Neighborhood (x,y) | ENBH_2D_4_XY | 2D-4-Neighborhood (x,y) |
2D-4-Neighborhood (x,z) | ENBH_2D_4_XZ | 2D-4-Neighborhood (x,z) |
2D-4-Neighborhood (y,z) | ENBH_2D_4_YZ | 2D-4-Neighborhood (y,z) |
2D-8-Neighborhood (x,y) | ENBH_2D_8_XY | 2D-8-Neighborhood (x,y) |
2D-8-Neighborhood (x,z) | ENBH_2D_8_XZ | 2D-8-Neighborhood (x,z) |
2D-8-Neighborhood (y,z) | ENBH_2D_8_YZ | 2D-8-Neighborhood (y,z) |
3D-5-Neighborhood (x-,y,z) | ENBH_3D_5_XmYZ | 3D-5-Neighborhood (x-,y,z) |
3D-5-Neighborhood (x+,y,z) | ENBH_3D_5_XpYZ | 3D-5-Neighborhood (x+,y,z) |
3D-5-Neighborhood (x,y-,z) | ENBH_3D_5_XYmZ | 3D-5-Neighborhood (x,y-,z) |
3D-5-Neighborhood (x,y+,z) | ENBH_3D_5_XYpZ | 3D-5-Neighborhood (x,y+,z) |
3D-5-Neighborhood (x,y,z-) | ENBH_3D_5_XYZm | 3D-5-Neighborhood (x,y,z-) |
3D-5-Neighborhood (x,y,z+) | ENBH_3D_5_XYZp | 3D-5-Neighborhood (x,y,z+) |
3D-6-Neighborhood (x,y,z) | ENBH_3D_6_XYZ | 3D-6-Neighborhood (x,y,z) |
3D-18-Neighborhood (x,y,z) | ENBH_3D_18_XYZ | 3D-18-Neighborhood (x,y,z) |
3D-26-Neighborhood (x,y,z) | ENBH_3D_26_XYZ | 3D-26-Neighborhood (x,y,z) |
4D-8-Neighborhood (x,y,z,t) | ENBH_4D_8_XYZT | 4D-8-Neighborhood (x,y,z,t) |
4D-56-Neighborhood (x,y,z,t) | ENBH_4D_56_XYZT | 4D-56-Neighborhood (x,y,z,t) |
4D-80-Neighborhood (x,y,z,t) | ENBH_4D_80_XYZT | 4D-80-Neighborhood (x,y,z,t) |
Lower Threshold¶
-
name:
lowerThreshold
, type:
Double
, default:
-1228.75
¶ Sets the lower threshold manually.
Upper Threshold¶
-
name:
upperThreshold
, type:
Double
, default:
-819.25
¶ Sets the upper threshold manually.
Allow extended neighborhood relations¶
-
name:
useExtendedNBH
, type:
Bool
, default:
FALSE
¶ If checked, extended neighborhood relations are active.
Checking this option will slow down the algorithm.
Number of Valid Seeds¶
-
name:
numValidSeeds
, type:
Integer
, persistent:
no
, deprecated name:
noSeeds
¶ Shows the number of set seed points.
Segmented Volume:¶
-
name:
segmentedVolume_ml
, type:
Double
, persistent:
no
, deprecated name:
volumeCount
¶ Shows the volume of the segmented portion of the image in ml.
Output Up-to-Date¶
-
name:
outputValid
, type:
Bool
, persistent:
no
¶ Shows whether the current output is valid.
Abort¶
-
name:
abort
, type:
Trigger
, deprecated name:
stop
¶ If pressed, a current computation is aborted.
Clear¶
-
name:
clear
, type:
Trigger
, deprecated name:
FlushMem
¶ If pressed, the current output image is cleared.
Specify Thresholds…¶
-
name:
unitType
, type:
Enum
, default:
UnitTypeHounsfieldUnits
¶ Defines a unit type that is used for the value thresholds.
Values:
Title | Name | Deprecated Name |
---|---|---|
as gray value | UnitTypeGrayValue | as gray value |
in Hounsfield units | UnitTypeHounsfieldUnits | in Hounsfield units |
Unit Label¶
-
name:
unitLabel
, type:
String
, persistent:
no
¶ Sets a label string for the used unit type.
Stop if Volume Exceeds (ml)¶
-
name:
upperVolumeLimit_ml
, type:
Double
, default:
100
, deprecated name:
maxVolume
¶ Sets a limit for the segmented volume in ml; if that is reached in the process, the segmentation stops.
Enable Upper Volume Limit¶
-
name:
enableUpperVolumeLimit
, type:
Bool
, default:
FALSE
, deprecated name:
maxVolumeEnabled
¶ If checked, the segmentation is limited in its volume.
Auto detect¶
-
name:
autoUpdateUnitType
, type:
Bool
, default:
TRUE
¶ If checked, the module automatically detects on base of DICOM tags the unit type.
Pos Fill Value¶
-
name:
posFillValue
, type:
Double
, default:
-1
¶ Sets a voxel value for the segmentation mask.
/¶
-
name:
negFillValue
, type:
Double
, default:
0
¶ Sets a voxel value for the segmentation mask’s background.
Invert result mask¶
-
name:
invertResult
, type:
Bool
, default:
FALSE
¶ If checked, the output segmentation mask is inverted.
Show outer object boundaries only¶
-
name:
showOuterBoundariesOnly
, type:
Bool
, default:
FALSE
¶ If checked, only the boundaries of the segmentation masks are generated.
Incremental Updates¶
-
name:
incrementalUpdateMode
, type:
Enum
, default:
Smart
¶ Defines the incremental update mode.
Values:
Title | Name |
---|---|
Disable | Disable |
Smart | Smart |
Force | Force |
Internal Accuracy¶
-
name:
internalAccuracy
, type:
Enum
, default:
Auto
¶ Defines threshold accuracy but also memory consumption. Using ‘Auto’ is mostly the best choice.
Internally, the input image data is rescaled to an integer image on which the region growing is performed. This parameter can be used to specify the amount of bits that the module shall use to encode the image data.
This is the policy for the ‘Auto’ mode: 1. For integer input images, the smallest accuracy is used that is sufficient to capture the input image’s min/max range (e.g. [0, 63] -> 6 Bit, [0, 64] -> 14 Bit). 2. For float input image it is not possible to automatically determine the required precision. We therefore use 30 bits for floats with 4-bytes (=32 bit) or less, else we use the maximum precision.
Thus, ‘Auto’ is usually best, but if you don’t need the accuracy and want to save memory (e.g. for floating point images that only contain values of 0 and 1) it might be sometimes desirable to select a lower accuracy.
Values:
Title | Name |
---|---|
Auto-Detect | Auto |
6 Bit | 6Bit |
14 Bit | 14Bit |
30 Bit | 30Bit |
60 Bit | 60Bit |
Persistent markers¶
-
name:
markerPersistence
, type:
Bool
, default:
FALSE
¶ If checked, the set markers are saved with saving the network containing the module.
Delete on click¶
-
name:
deleteMarkerOnClick
, type:
Bool
, default:
TRUE
¶ If checked, set markers can be deleted by clicking on them.
Overflow Mode¶
-
name:
markerOverflowMode
, type:
Enum
, default:
None
¶ Defines the marker overflow mode.
Needs to have a
Maximal Number (0 = unlim.)
set.
Values:
Title | Name |
---|---|
None | None |
Remove First | RemoveFirst |
Remove Last | RemoveLast |
Remove All | RemoveAll |
Remove New | RemoveNew |
Maximal Number (0 = unlim.)¶
-
name:
maxMarkers
, type:
Integer
, default:
0
, minimum:
0
¶ Sets a maximum number of markers.
If this number is exceeded, the
Overflow Mode
determines what happens on placing an additional marker.
Color for Segmented Area¶
-
name:
baseColor
, type:
Color
, default:
1 0.420675009489059 0
¶ Sets a base color for the overlay showing the segmented area.
Blend Mode¶
-
name:
blendMode
, type:
Enum
, default:
BLEND_BLEND
¶ Defines a blend mode for the overlay showing the segmented area.
Values:
Title | Name |
---|---|
Replace | BLEND_REPLACE |
Add | BLEND_ADD |
Blend | BLEND_BLEND |
Maximum | BLEND_MAXIMUM |
Minimum | BLEND_MINIMUM |
Reverse Subtract | BLEND_REVERSE_SUBTRACT |
Subtract | BLEND_SUBTRACT |
Premultiplied Blend | BLEND_PREMULTIPLIED_BLEND |
Screen | BLEND_SCREEN |