CSOIsoProcessor¶
-
MLModule
¶ genre CSOProcessor
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll SoCSO
definition SoCSODeprecatedModules.def see also CSOIsoGenerator
keywords contour
,interpolation
,segmentation
,isoline
,isovalue
,interactive
Purpose¶
The module CSOIsoProcessor
allows for a generation of iso contours on slices.
Usage¶
Attach this module to the inProcessor field of a SoView2DCSOEditor
module.
Details¶
The module can generate iso contours at a fixed iso value, or at an interactively adjustable iso value. The module can either generate a single CSO, or can find all contours for a certain iso value. The resulting CSOs are generated on base of a marching squares algorithm. Ambiguous cells are always treated in the same way, thus resolving the ambiguities.
If the CSOIsoProcessor
should generate all contours on a slice, the iso value can be adjusted once, and on the next mouse click, all CSOs at the given iso value are generated. If the iso value should be interactively set, the active mouse button can be pressed and held down while moving the mouse cursor over the image; all the contours at the iso value (this is the voxel value under the current mouse pointer location) are generated immediately.
If the module should create only one CSO at a time, the behavior in the interactive case is quite similar to the behavior described above. If the iso value is fixed, however, the module searches on base of a broad search for the nearest (marching square-) cell with a zero crossing and starts the contouring algorithm from there. The attempt of finding such a cell can further be influenced by the Start Condition
; this parameter can be adjusted, so that the module compares the fixed iso value with the current value under the mouse cursor. If the Start Condition
is set to Always, a new CSO is always generated (if an according zero crossing is found within the image). If it is set to Hit Lower Iso Value or to Hit Greater Iso Value the current image value under the cursor position must be either lower or greater than the adjusted fixed iso value in order to trigger a search for a zero crossing-cell.
Generally, the CSOIsoProcessor processes the image that is shown in the viewer to which the according SoView2DCSOEditor
is attached to. But it can be necessary to process another image for the finding of CSOs, like an overlay image. For that case, the module has an input image field. In order to activate the processing of the input image, the according field needs to be checked (Use input image
). For the use of the module in conjunction with ortho-reformatted images or with MPRs, the module yields an Info tab with all the needed information. Those fields must be connected with the modules that supply the input image. Refer to the example network for further information and note that the optional input image must have the same image size as the image that is shown in the according viewer.
All generated CSOs can be interpolated linearly on base of the ratio of the iso value and the voxel values of the voxels the concerning contour is running through. Additionally or alternatively, a spline approximation (B-Splines) scheme can be applied to the CSOs as a smoothing.
In interactive mode, the module does not facilitate the editing of generated contours.
Interaction¶
If clicked onto a connected viewer on a free space (the mouse cursor looks like a fill bucket), a new CSO is generated. Depending on the parameter Find all contours
, one or more CSOs are created. Also, the usage of a fixed or an interactively determined iso value influences the creation of the CSO(s).
If clicked to the vicinity of an existing CSO, the CSO in the vicinity is selected.
Parameter Fields¶
Field Index¶
addCSOToGroupMode : Enum |
Interpolate contour : Bool |
Update Start Position : Bool |
addCSOToGroupWithId : Integer |
Is Processing : Bool |
updateMode : Enum |
apply : Trigger |
Iso Value : Float |
Use input image : Bool |
autoApply : Bool |
Layout : Integer |
Use iso value: : Bool |
Current Layout String : String |
Plane : Plane |
|
done : Trigger |
Slice : Integer |
|
emptyGroupBeforeGeneration : Bool |
Smoothing Mode : Enum |
|
Find all contours : Bool |
Start Condition : Enum |
Visible Fields¶
Is Processing¶
-
name:
isProcessing
, type:
Bool
, persistent:
no
¶ Shows whether the module is processing which is when the user interacts.
Plane¶
-
name:
plane
, type:
Plane
, persistent:
no
¶ Shows the currently visible slice as a plane equation with a normal vector and a distance scalar.
The plane equation can be used to adjust an input MPR to the currently visible slice.
Layout¶
-
name:
currentLayout
, type:
Integer
, persistent:
no
¶ Shows the closest ortho plane. Values are Sagittal (0), Coronal (1) and Axial (2).
Current Layout String¶
Use input image¶
-
name:
useInputImage
, type:
Bool
, default:
FALSE
¶ If checked, the module processes the optional input image.
Interpolate contour¶
-
name:
interpolate
, type:
Bool
, default:
TRUE
¶ If checked, the generated CSOs are interpolated by a linear interpolation scheme based on the voxel values and the iso value.
Use iso value:¶
-
name:
useIsoValue
, type:
Bool
, default:
FALSE
¶ If checked, the module enables the setting of a fixed iso value, as well as the choice of a
Start Condition
.
Find all contours¶
-
name:
findAllContours
, type:
Bool
, default:
FALSE
¶ If checked, the module searches the whole slice for iso contours at either the fixed or the interactive value.
Iso Value¶
-
name:
isoValue
, type:
Float
, default:
1200
¶ Sets the iso value which is only evaluated if
Use iso value:
is checked.
Update Start Position¶
-
name:
updateStartPosition
, type:
Bool
, default:
TRUE
¶ If checked, the mouse can be moved over the image with a pressed mouse button and from the current and updated mouse position, the current CSO is being generated. Otherwise, a new CSO is started.
This option needs the
Find all contours
have unchecked. If all contours are generated for a slice, this option does not make any difference.
Start Condition¶
-
name:
startCondition
, type:
Enum
, default:
Always
¶ Defines whether a contour should be searched for, depending on the fixed iso value and the current voxel value under the mouse cursor.
Values:
Title | Name |
---|---|
Always | Always |
Hit Lower Iso Value | HitLowerIsoValue |
Hit Greater Iso Value | HitGreaterIsoValue |
Smoothing Mode¶
-
name:
smoothingMode
, type:
Enum
, default:
SplineApproximation
¶ Sets the smoothing mode that is applied after the linear interpolation.
Values:
Title | Name | Description |
---|---|---|
None | None | No additional smoothing. |
Spline Approximation | SplineApproximation | The contour is smoothed by a spline approximation. |
Spline Interpolation | SplineInterpolation | The contour is smoothed by a spline interpolation. |