SoView2DOverlayMPR

InventorModule
genre View2DExtended
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll SoView2DScene
definition SoView2DScene.def
see also SoView2D
inherits from SoView2DExtension
keywords slice, reformat, overlay, MPR

Purpose

The SoView2DOverlayMPR module renders the input image as an overlay onto any SoView2D.

It calculates the intersection between the input image and the SoView2D image in world coordinates and calculates a reformatted overlay image on the fly.

The overlay can be calculated in screen space resolution (resampling the input image for each output screen pixel), or in input image resolution. In case of screen space resolution, the applied Filter Mode does not affect the output image, since the reformatting already calculates a value for each screen pixel.

In addition to rendering a single slice, it also provides slab rendering of thick slabs.

For general details on overlays, see SoView2DOverlay.

Usage

It can be used as a software replacement for a SoView2DScene and SoGVRVolumeRenderer or as a replacement for a SoView2DOverlay/Reformat combination.

Details

Internally, this module makes use of a MPR module. For details on the resampling options, have a look at the MPR module as well.

Windows

Default Panel

../../../Modules/Inventor/SoView2DScene/mhelp/Images/Screenshots/SoView2DOverlayMPR._default.png

Input Fields

image

name: image, type: Image

The input image.

Output Fields

self

name: self, type: SoNode

The Inventor output that should be placed in front of the SoView2D.

Parameter Fields

Visible Fields

Drawing On

name: drawingOn, type: Bool, default: TRUE

Selects if drawing is on.

see also SoView2DExtension.drawingOn

Render On Slab

name: renderOnSlab, type: Bool, default: TRUE

Chooses if the overlay is rendered onto each slice of a slab or if it is rendered just once. This only affects rendering if the slab mode of the SoView2D is used and has more than one slice.

Overlay Name

name: overlayName, type: String

If a name is given to the overlay, it will be used by a SoView2DShaderOverlay module that is located to the right of this overlay. If a name is given, but no SoView2DShaderOverlay follows in the scene graph, the overlays is rendered normally.

Blend Mode

name: blendMode, type: Enum, default: BLEND_ADD

Selects the blend mode, see SoView2DOverlay.blendMode.

Values:

Title Name
Replace BLEND_REPLACE
Add BLEND_ADD
Blend BLEND_BLEND
Premultiplied Blend BLEND_PREMULTIPLIED_BLEND
Maximum BLEND_MAXIMUM
Minimum BLEND_MINIMUM
Reverse Subtract BLEND_REVERSE_SUBTRACT
Subtract BLEND_SUBTRACT
Screen BLEND_SCREEN

Overwrite Current Time Point

name: overwriteCurrentTimePoint, type: Bool, default: FALSE

If enabled, the Timepoint field is used to select the timepoint. If disabled, the timepoint of the SoView2D is used.

Timepoint

name: timePoint, type: Integer, default: 0, minimum: 0, maximum: :field:`maxTimePoint`

Selects the time point.

Use Input Resolution If Axis Aligned

name: useInputResolutionIfAxisAligned, type: Bool, default: FALSE

If enabled, the input resolution is used instead of the screen resolution if the data is axis aligned to the reference image. This is an optimization that allows to skip trilinear interpolation in such cases.

Filter Mode

name: filterMode, type: Enum, default: FILTER_LINEAR

Select the filter mode, see SoView2DOverlay.filterMode.

Note: The filter mode will not affect the visual image much, since the resampling already resamples to screen resolution.

Values:

Title Name
Nearest FILTER_NEAREST
Linear FILTER_LINEAR
Linear Postclass FILTER_LINEAR_POSTCLASS
Cubic Postclass FILTER_CUBIC_POSTCLASS

Inherit filter mode from SoView2D

name: inheritFilterMode, type: Bool, default: TRUE

If enabled, the filter mode is taken from the SoView2D.

Lut Precision

name: lutPrecision, type: Enum, default: VIEW2D_LUT_AUTO

Select the LUT precision.

Values:

Title Name
Auto VIEW2D_LUT_AUTO
8bit VIEW2D_LUT_8BIT
12bit VIEW2D_LUT_12BIT
16bit VIEW2D_LUT_16BIT

Fill Value

name: fillValue, type: Double, default: 1

Select the fill value that is used for values outside of the input image area, if Fill Value Mode is set to USER_VALUE.

Fill Value Mode

name: fillValueMode, type: Enum, default: IMAGE_MIN_VALUE

Sets how the fill value is selected.

Values:

Title Name Description
Image Min Value IMAGE_MIN_VALUE Use the input image min value.
Image Max Value IMAGE_MAX_VALUE Use the input image max value.
User Value USER_VALUE Use the value specified in Fill Value.

Resample Interpolation

name: resampleInterpolation, type: Enum, default: MPR_TRILINEAR

Select the interpolation that is used for resampling of the input image. See details on the filtering on the MPR module.

Values:

Title Name Description
Nearest MPR_NEAREST Nearest Neighbor Filtering
Trilinear MPR_TRILINEAR Trilinear Filtering

Resample Border Handling

name: resampleBorderHandling, type: Enum, default: MPR_CLAMP_TO_EDGE

Selects how resampling handles sampling on borders of the input image.

Values:

Title Name Description
Clamp To Edge MPR_CLAMP_TO_EDGE Clamps the sampling value to the border of the input image and uses the fill value outside. This will result in sharp outer borders that are not interpolated into the fill value.
Use Fillvalue MPR_USE_FILLVALUE Values outside the input image are replaced with the fill value. This will result in borders that are interpolated into the fill value.

Slab Size

name: slabSize, type: Double, default: 1

Sets the size of the slab.

Slab Mode

name: slabMode, type: Enum, default: USE_VIEW2D_SLAB_SIZE

Selects how the slab size is used.

Values:

Title Name Description
Use View2d Slab Size USE_VIEW2D_SLAB_SIZE Use the slab size from the SoView2D.
Slab Size In Mm SLAB_SIZE_IN_MM Use Slab Size and interpret it as mm. The slab is centered to the current slice.
Slab Size In Mm Forward SLAB_SIZE_IN_MM_FORWARD Use Slab Size and interpret it as mm. The slab starts on the current slice.
Slab Size In Slices SLAB_SIZE_IN_SLICES The slab is defined in SoView2D image slices and is placed around the current slice as the SoView2D slab rendering.
Slab Size In Slices Negative First SLAB_SIZE_IN_SLICES_NEGATIVE_FIRST Compatibility mode for MeVisAP.
Slab Size In Slices Forward SLAB_SIZE_IN_SLICES_FORWARD The slab starts at the current slice and the slab size is given in SoView2D image slices.

Depth Slab Render Mode

name: depthSlabRenderMode, type: Enum, default: MPR_MAXIMUM

The depth render mode that is used for slab projection.

Values:

Title Name
Minimum MPR_MINIMUM
Maximum MPR_MAXIMUM
Average MPR_AVERAGE

Time Slab Render Mode

name: timeSlabRenderMode, type: Enum, default: MPR_AVERAGE

The time render mode that is used for slab projection.

Values:

Title Name
Minimum MPR_MINIMUM
Maximum MPR_MAXIMUM
Average MPR_AVERAGE

Time Slab Size

name: timeSlabSize, type: Integer, default: 1

The time slab size.

Alpha Factor

name: alphaFactor, type: Float, default: 1, minimum: 0, maximum: 1

The alpha factor that is used for blending. It is not used when the Blend Mode does not use the alpha value (e.g. BLEND_REPLACE).

Base Color

name: baseColor, type: Color, default: 1 1 1

The base color which is multiplied with the overlay.

Apply Lut

name: applyLut, type: Bool, default: TRUE

If enabled, the current LUT is used. If disabled, the data is rendered without applying a LUT.

Render Bounding Box

name: renderBoundingBox, type: Bool, default: FALSE

Enables rendering of the projected input image intersection bounding box.

Bounding Box Color

name: boundingBoxColor, type: Color, default: 1 1 1

Selects the color of the bounding box.

Hidden Fields

interactionProviderID

name: interactionProviderID, type: String

see SoView2DExtension.interactionProviderID

editingOn

name: editingOn, type: Bool, default: TRUE

see SoView2DExtension.editingOn

maskValid

name: maskValid, type: Bool, persistent: no

fixZOn

name: fixZOn, type: Bool, default: TRUE

color

name: color, type: Color, default: 1 1 1

see SoView2DExtension.color

selectionTolerance

name: selectionTolerance, type: Float, default: 4

needsValidVoxel

name: needsValidVoxel, type: Bool, default: TRUE

see SoView2DExtension.needsValidVoxel

button1

name: button1, type: Enum, default: IGNORED

see SoView2DExtension.button1

button2

name: button2, type: Enum, default: IGNORED

see SoView2DExtension.button2

button3

name: button3, type: Enum, default: IGNORED

see SoView2DExtension.button3

shift

name: shift, type: Enum, default: IGNORED

see SoView2DExtension.shift

control

name: control, type: Enum, default: IGNORED

see SoView2DExtension.control

alt

name: alt, type: Enum, default: IGNORED

see SoView2DExtension.alt

wantsAllEvents

name: wantsAllEvents, type: Bool, default: FALSE

wantsKeyEvents

name: wantsKeyEvents, type: Bool, default: FALSE

wantsMouseWheelEvents

name: wantsMouseWheelEvents, type: Bool, default: FALSE

setEventHandled

name: setEventHandled, type: Bool, default: FALSE

see SoView2DExtension.setEventHandled

ignoreHandledEvents

name: ignoreHandledEvents, type: Bool, default: FALSE

see SoView2DExtension.ignoreHandledEvents

createNewMode

name: createNewMode, type: Bool, default: FALSE

see SoView2DExtension.createNewMode

createNewModeRequest

name: createNewModeRequest, type: Trigger

see SoView2DExtension.createNewModeRequest

clipToSlice

name: clipToSlice, type: Bool, default: TRUE

cursorShape

name: cursorShape, type: Enum, default: UNDEFINED_CURSOR

see SoView2DExtension.cursorShape

maxTimePoint

name: maxTimePoint, type: Integer, persistent: no

memoryAccess

name: memoryAccess, type: Enum, default: GLOBAL

Values:

Title Name
Global GLOBAL
Virtual Volume VIRTUAL_VOLUME