CSOImageStatistics

MacroModule
author Christian Kanthak
package FMEstable/ReleaseMeVis
definition CSOImageStatistics.def
keywords cso, image, statistics

Purpose

The module calculates statistics from voxels covered by CSOs.

Usage

Connect an input image and a CSOList. Trigger an update afterwards.

Details

Internally the CSOs are transformed into a mask image. A voxel is added to the mask if its center is covered by the CSOs. The statistics are calculated considering voxels of the input image covered by the mask.

Tips

Note that the module does not react to CSOEvents. This can be achieved using the CSOManager which typically is always involved into networks using CSOs. Set CSOManager’s boolean fields “enableFinishedNotification” and “useFinishedCSONotification” to “TRUE” and connect CSOManager’s trigger field “notifyOnFinishedCSO” to “CSOImageStatistics.update”. Have a look at the example network of the CSOImageStatistics module which makes use of this strategy.

Input Fields

inImage

name: inImage, type: Image

A missing input image is an error.

inCSOList

name: inCSOList, type: MLBase

A missing or empty input CSOList is an error.

Parameter Fields

Field Index

[]: Trigger Number of Voxels: Integer Volume (mm^3): Double
Border Voxel Inclusion: Enum On Input Change Behavior: Enum  
Clear: Trigger Status Code: Enum  
Covered Volume Threshold: Double Status Message: String  
Has Valid Output: Bool Std. Deviation: Double  
Maximum: Double Sum: Double  
Mean: Double Update: Trigger  
Minimum: Double Variance: Double  

Visible Fields

Update

name: update, type: Trigger

Initiates update of all output field values.

Clear

name: clear, type: Trigger

Clears all output field values to a clean initial state.

On Input Change Behavior

name: onInputChangeBehavior, type: Enum, default: Clear, deprecated name: shouldUpdateAutomatically,shouldAutoUpdate

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

[]

name: updateDone, type: Trigger, persistent: no

Notifies that an update was performed (Check status interface fields to identify success or failure).

Has Valid Output

name: hasValidOutput, type: Bool, persistent: no

Indicates validity of output field values (success of computation).

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.

Border Voxel Inclusion

name: inBorderVoxelInclusion, type: Enum, default: CoveredCenter

Declares how partially covered voxels (border voxels) are handled in order to decide about their inclusion into statistics.

Values:

Title Name Description
Include Include Every partly covered voxel is included.
Covered Center CoveredCenter A partly covered voxel is included if its center is covered by a contour.
Covered Volume CoveredVolume A partly covered voxel is included if the covered volume by a contour fulfills the threshold: Covered Volume Threshold.
Exclude Exclude All partly covered voxels are excluded. Only fully covered voxels are taken into account.

Covered Volume Threshold

name: inCoveredVolumeThreshold, type: Double, default: 0.5, minimum: 0, maximum: 1

Declares the minimal required volume coverage of a border voxel by a contour in order to include it into statistics.

Number of Voxels

name: outNumVoxels, type: Integer, persistent: no

Number of covered voxels

Minimum

name: outMinimum, type: Double, persistent: no

Minimum value of covered voxels

Maximum

name: outMaximum, type: Double, persistent: no

Maximum value of covered voxels

Mean

name: outMean, type: Double, persistent: no

Mean value of covered voxels

Variance

name: outVariance, type: Double, persistent: no

Variance of values of covered voxels

Std. Deviation

name: outStdDeviation, type: Double, persistent: no

Standard deviation of values of covered voxels

Sum

name: outSum, type: Double, persistent: no

Sum of values of covered voxels

Volume (mm^3)

name: outVolume_mm3, type: Double, persistent: no

Volume in mm3 of covered voxels