BoundingBoxInReferenceSystem

MacroModule

author

Christian Schumann

package

FMEstable/ReleaseMeVis

definition

BoundingBoxInReferenceSystem.def

see also

Reformat

keywords

Reformat, complete, image, BoundingBox, union, coordinate, system

Purpose

The BoundingBoxInReferenceSystem module computes the smallest SubImage of input1 that would contain all (reformated) voxels of input0. Hence, the result is the bounding box of input0 in the coordinate system of input1. The voxel values are 0; a reformation is not applied! This module can be of use if you want to reformat the complete voxel data of image A to the coordinate system of image B. Simply applying the Reformat module would discard all voxels of image A that would not be covered by the bounding box of image B. Another possible application is the computation of a bounding box that that covers two (arbitrary rotated) images (in combination with the MergeRegions module; see Example Network) or in general for bounding box arithmetic of two arbitrary oriented volumes.

Usage

Connect the image A to the input0. This is the image (box) that should be completely included in the resulting subimage. Connect the image B to the input1. This image defines the coordinate system of the result image. Use output0 as reference image for reformations.

Windows

Default Panel

../../../Projects/BoundingBoxInReferenceSystem/Modules/mhelp/Images/Screenshots/BoundingBoxInReferenceSystem._default.png

Input Fields

input0

name: input0, type: Image

Image to be reformated.

input1

name: input1, type: Image

Reference image.

Output Fields

output0

name: output0, type: Image

Bounding box of template image in the coordinate system of reference image.

Parameter Fields

Field Index

[]: Trigger

Status Message: String

Bounding Box Mode: Enum

Update: Trigger

Clear: Trigger

Zero Image Data: Bool

doNotClearOnFailedUpdate: Bool

Has Valid Output: Bool

On Input Change Behavior: Enum

Output Bounding Box Mode: Enum

Status Code: Enum

Visible Fields

Bounding Box Mode

name: inBoundingBoxMode, type: Enum, default: VoxelVolume, deprecated name: boundingBoxMode,inputBoundingBoxMode

Defines what the bounding boxes should cover.

Values:

Title

Name

​Voxel Volume

​VoxelVolume

​Voxel Center

​VoxelCenter

​Lower Voxel Corner

​LowerVoxelCorner

​Upper Voxel Corner

​UpperVoxelCorner

Output Bounding Box Mode

name: inOutputBoundingBoxMode, type: Enum, default: Round, deprecated name: outputBoundingBoxMode

Defines how the voxels are sampled in the output image.

Values:

Title

Name

​Round

​Round

​Round And Grow By One Voxel

​RoundAndGrowByOneVoxel

Zero Image Data

name: inZeroImageData, type: Bool, default: FALSE, deprecated name: zeroImageData

Defines if the image data of the output image is zero.

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,autoUpdate

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.

Hidden Fields

doNotClearOnFailedUpdate

name: doNotClearOnFailedUpdate, type: Bool, persistent: no

Prevents automated clear after update failed. This does not affect status fields. It enables the developer to analyze module’s state after failure.