CSOShapeBasedInterpolation¶
-
MLModule
¶ genre CSOModule
authors Johann Drexl
,Christian Kanthak
package FMEstable/ReleaseMeVis
dll MLShapeBasedInterpolationSlices
definition MLShapeBasedInterpolationSlices.def see also CSOVoxelizeContours
,CSOInterpolate
keywords CSO
,shape
,based
,interpolation
,segmentation
Purpose¶
The CSOShapeBasedInterpolation converts a CSOList to an ML image using the well-known “Shape Based Interpolation” method. This method estimates the shape of an object from sparsely spaced slices of it. Thus an organ or other object of interest can be reconstructed from a series of arbitrary spaced slices.
Implemented according to: G. Herman et al: Shape-based Interpolation, IEEE Computer Graphics&Applications, vol. 12 no. 3 p.69-79. Specifically, it’s their “method 5” (with linear between-slice interpolation).
Usage¶
- Connect a CSOList and the corresponding image the CSOs were drawn on.
- Touch the “update” Trigger field.
Details¶
The algorithm proceeds in the following way:
- Render all CSOs into an internal mask representation using methods from the CSO library.
- Transform the resulting slices which contain a shape from CSO into a distance image using algorithm from: G. Herman et al: “Shape-based Interpolation”.
- Linear interpolate the distance values onto intermediate slices.
- Calculate the final output mask image based on the distance image.
Tips¶
To speed up the calculation you should use a sub image of the input image constructed from the bounding box of the input CSOs.
Input Fields¶
The module expects a CSO List and an image as input. The CSO List contains the sparsely spaced slices, each represented as a CSO.
Output Fields¶
Parameter Fields¶
Field Index¶
[] : Trigger |
Clear : Trigger |
Has Valid Output : Bool |
On Input Change Behavior : Enum |
Status Code : Enum |
Status Message : String |
Update : Trigger |
Use distance to contour : Bool |
Visible Fields¶
Update¶
-
name:
update
, type:
Trigger
, deprecated name:
apply
¶ Initiates update of all output field values.
On Input Change Behavior¶
-
name:
onInputChangeBehavior
, type:
Enum
, default:
Clear
, deprecated name:
shouldAutoUpdate,autoApply,shouldUpdateAutomatically
¶ Declares how the module should react if a value of an input field changes.
Values:
Title | Name | Deprecated Name |
---|---|---|
Update | Update | TRUE |
Clear | Clear | FALSE |
Status Code¶
-
name:
statusCode
, type:
Enum
, persistent:
no
¶ Reflects module’s status (successful or failed computations) as one of some predefined enumeration values.
Values:
Title | Name |
---|---|
Ok | Ok |
Invalid input object | Invalid input object |
Invalid input parameter | Invalid input parameter |
Internal error | Internal error |
Status Message¶
-
name:
statusMessage
, type:
String
, persistent:
no
¶ Gives additional, detailed information about status code as human-readable message.
Has Valid Output¶
-
name:
hasValidOutput
, type:
Bool
, persistent:
no
¶ Indicates validity of output field values (success of computation).