The module Reformat reformats an image to a reference image and produces reformated overlays.


Using Reformat for reformating an image to a reference image

This module is used to reformat the dataset given as input0 to the local coordinate system of a reference image input1. The output image output0 has the same image properties as input0, but contains the reformated image data of image0. An additional matrix is used to rotate/scale/translate the input image.

Using Reformat for overlay images

This module can also generate overlay images for any given view of a SoView2D / SoOrthoView2D. This works by connecting output1 to an SoView2DOverlay module and connecting the SoView2DOverlay back to the overlay input.

By doing this, the SoView2DOverlay tells the Reformat about the redraw and output1 is reformated to the image currently drawn in SoView2D / SoOrthoView2D.



Reformat also has an interactive mode for manipulation of the overlay image, which can be used for interactive adjustment of the additional matrix.

For using this, you have to select a mouse button in the SoView2DOverlay panel. The image is translated by pressing this mouse button and rotated around the Z axis of the current view when holding the SHIFT key.

On the second tab of the module’s window, the mouse buttons, keys and modifier keys can be defined for an interactive translation and/or rotation.


This module is optimized using 16.16 fixed point arithmetic for datatypes with 16 and 8bit!

It also works for other datatypes but uses a much slower double precision method, which currently only supports trilinear interpolation.


Default Panel


Input Fields


name: input0, type: Image

Input image to be reformatted.


name: input1, type: Image

Reference image.


name: inOverlay, type: SoNode, deprecated name: overlay

Input for the output of a SoView2DOverlay module for interactive use.

Output Fields


name: output0, type: Image

Reformatted image.


name: output1, type: Image

Special output for SoView2DOverlay.

Parameter Fields

Field Index

Additional Matrix: Matrix Interpolation: Enum
Apply: Trigger Memory Access: Enum
Auto center: Bool Reset: Trigger
Border Handling: Enum Rotation: Rotation
Center: Vector3 Scale: Vector3
Compose matrix: Bool Translation: Vector3
Fill Value: Double Update Mode: Enum
Interactive: Bool useInventorComposition: Bool

Visible Fields

Additional Matrix

name: matrix, type: Matrix, default: 1 0 0 0, 0 1 0 0, 0 0 1 0, 0 0 0 1

Matrix representation of transformation components.

This parameter can also be modified manually or via field connection.

Compose matrix

name: composeMatrix, type: Bool, default: TRUE

Activates (interactive or manual) manipulation of matrix components.

For the interactive mode, the option Interactive needs to be checked.


name: scale, type: Vector3, default: 1 1 1

Sets a scale factor vector that is applied to the input image.


name: rotation, type: Rotation, default: 0 0 1 0

Sets a rotation that is applied to the input image.


name: translation, type: Vector3, default: 0 0 0

Sets a translation that is applied to the input image.


name: center, type: Vector3, default: 0 0 0

Sets the center for the Rotation.

Fill Value

name: fillValue, type: Double, default: 0, deprecated name: fillvalue

Sets the value used for regions outside of the input image. The value is automatically clamped to the value range of the voxel data type of the first input image.


name: interactive, type: Bool, default: TRUE

If checked, the module accepts interactive manipulation (with a SoView2DOverlay module).

Auto center

name: autoCenter, type: Bool, default: TRUE

If checked, the center of rotation is always the center of the image.


name: interpolation, type: Enum, default: Trilinear, deprecated name: Mode

Defines the interpolation for resampling.


Title Name Deprecated Name Description
Nearest Neighbor NearestNeighbor Nearest Neighbor

No interpolation, picks the nearest input image voxel. If the decision is ambiguous (the center of a target voxel lies exactly on the boundary between two source voxels), the value will be taken from the source voxel with the higher coordinate value (i.e. the right one in 1D).

Fastest mode.

Trilinear Trilinear Trilinear(skip border),TrilinearSkipBorder

Trilinear filtering. The 8-voxel-neighborhood is used for linear interpolation.

Slowest mode.

Border Handling

name: borderHandling, type: Enum, default: UseFillValue

Selects how borders are handled in trilinear filtering.


Title Name Description
Clamp To Edge ClampToEdge

Clamps the interpolation to the edge of the input volume and uses the fill value only for values beyond the edge.

Use Fill Value UseFillValue

Uses the fill value for values on the border and outside of the volume.


Memory Access

name: memoryAccess, type: Enum, default: Global

Defines how the module accesses the input image.


Title Name Description
Global Global

Fastest, but highest memory cosumption and initialization time. The input image is accessed as a global image (via the ML memory image). This consumes a lot of memory for large datasets.

If not enough memory is available, the module falls back to the Virtual Volume memory access.

Virtual Volume VirtualVolume Slowest, but works on huge datasets. All pages of the input image are requested via the virtual volume mechanism, thus only small portions of the input image are needed at the same time.


name: resetMatrix, type: Trigger

if pressed, the fields Scale, Translation, Center, and Rotation are reset to their default values.

Update Mode

name: updateMode, type: Enum, default: AutoUpdate

Defines the update mode of this module.


Title Name Description
Update AutoUpdate On any input or parameter change, the output image is updated.
Clear AutoClear On any input or parameter change, the output image is invalidated. Consecutive changed do not fire any notification.


name: apply, type: Trigger

If pressed, the output image is being updated according to the current input images and parameter settings.

Hidden Fields


name: useInventorComposition, type: Bool, default: FALSE