Purpose

The module SoView2D displays a slice or a slab of a volume image in a 2D viewer.

Details

The SoView2D has the following standard key binding:

Key Function
1-9 Switch the number of shown slices.
NUM 5 Reset zooming.
NUM * Toggle interpolation.
NUM 0 Step through LUT modes.
NUM 4,6,8,2 Scroll inside a slice.
NUM +, - Zoom in/out slice center.
PAGE UP/DOWN Next/previous slice.
CURSOR UP/DOWN Next/previous slice.
CURSOR LEFT/RIGHT Next/previous time point.

Windows

Default Panel

../../../Modules/Inventor/SoView2D/mhelp/Images/Screenshots/SoView2D._default.png

Input Fields

image

name: image, type: Image

Output Fields

self

name: self, type: SoNode

Parameter Fields

Field Index

Alpha Factor: Float Full range in z-dimension: Bool Slice as plane: Plane
Always reset before starting: Bool Handle 2D events: Bool Slice Origin: Vector2
applyLut: Bool Handle 3D events: Bool Slice Step: Integer
Background Alpha Factor: Float Interval (cineIntervalT): Integer Slice Zoom: Float
Background Color: Color Interval (cineIntervalZ): Integer sliceZoom: Float
Base Color: Color invertKeyPanningDirections: Bool Snap To Center: Bool
Blend Mode: Enum keepSlicesInView: Bool Spacing: Vector2
Cache Mode: Enum Keys need valid position: Bool Speed: Float
Center (cineCenterT): Integer Lower Left: Vector2 Standard Keys: Bool
Center (cineCenterZ): Integer LUT Mode: Enum Standard Keys Numbers: Bool
Central Viewing Position: Vector3 Margin: Vector2 Start Cine: Trigger
Columns: Integer maxSlice: Integer Start Slice: Integer
Delete Selected: Trigger maxTimePoint: Integer Status: String
Device Pixel Size: Float minSliceZoomKeyboard: Float Stop Cine: Trigger
Direction: Enum Mode: Enum Temporal Position: Integer
Draw Image Data: Bool Number of Slices: Integer Unzoom: Trigger
Edit Objects: Trigger Override Aspect Ratio: Bool Unzoom on image change: Bool
Enable: Bool Pass handled-flag to Inventor: Bool Upper Right: Vector2
Enable deleting: Bool Repeat: Enum useShaders: Bool
enableZBuffer: Bool Reverse Extension Drawing Order: Bool Voxel Aspect Ratio (vy/vx): Float
enableZWrite: Bool Slab: Integer Zoom Center: Vector2
Filter Mode: Enum Slice Align X: Enum Zoom Mode: Enum
Full Range in Time Dimension: Bool Slice Align Y: Enum Zoom Mode Parameter: Float

Visible Fields

Start Slice

name: startSlice, type: Integer, default: 0, minimum: 0, maximum: :field:`maxSlice`

Sets the shown start slice.

Slice Step

name: sliceStep, type: Integer, default: 1

Sets the 'distance' between shown slices if multiple slices are shown at once.

Number of Slices

name: numSlices, type: Integer, default: 1

Sets the number of slices that are shown at once.

Columns

name: numXSlices, type: Integer, default: 1, minimum: 1

Sets the number of columns in that multiple slices are shown.

Slab

name: slab, type: Integer, default: 1, minimum: 0

Sets the slab depth.

Use it with Blend Mode Maximum or Blend.

Lower Left

name: lowerLeft, type: Vector2, default: 0 0, deprecated name: lowerLeftAdjustArea

Sets the lower left corner of the viewport relative to the viewer's size.

Values range in 0..1 where 0 is the lower left corner and 1 the upper right corner.

Upper Right

name: upperRight, type: Vector2, default: 1 1, deprecated name: upperRightAdjustArea

Sets the upper right corner of the viewport relative to the viewer's size.

Values range in 0..1 where 0 is the lower left corner and 1 the upper right corner.

Margin

name: margin, type: Vector2, default: 2 2

Sets a margin in pixel between the rendered image(s) and the viewport's border.

Spacing

name: spacing, type: Vector2, default: 4 4

Sets a spacing in pixel between rendered slices if multiple slices are rendered.

Slice as plane

name: plane, type: Plane, default: 0 0 1 0

Shows the current slice as plane parameters in world coordinates.

Slice Zoom

name: sliceZoomSynchronized, type: Float, default: 1

Sets the inner zoom of the shown slices.

Zoom Center

name: zoomCenter, type: Vector2, default: 0.5 0.5

Sets the center of zoom/scale operation in normalized coordinates.

Slice Origin

name: sliceOrigin, type: Vector2, default: 0 0

Sets the inner translation of the shown slices.

Central Viewing Position

name: viewingCenter, type: Vector3, default: 0 0 0

Sets the world coordinates of the central point for the current viewer.

Enable

name: enableViewingCenter, type: Bool, default: FALSE

If checked, the Central Viewing Position is activated.

Only available if both Slice Align X and Slice Align Y are set to CENTER.

Unzoom

name: unzoom, type: Trigger, deprecated name: sliceUnzoom

If pressed, the currently shown slice is unzoomed.

Unzoom on image change

name: unzoomOnImageChange, type: Bool, default: FALSE

If checked, the currently shown slice is unzoomed on any change of the input image.

Draw Image Data

name: drawImageData, type: Bool, default: TRUE

If checked, the image data is drawn.

Temporal Position

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

Sets and shows the time point of the currently shown slice.

Snap To Center

name: snapToCenter, type: Bool, default: FALSE

If checked, the module shows the middle slice if a new image is attached.

Standard Keys

name: standardKeys, type: Bool, default: TRUE

If checked, the standard key binding is active, else no built-in key binding is used.

Standard Keys Numbers

name: standardKeysNumbers, type: Bool, default: TRUE

If checked, the keys 1-9 activate certain matrix like slice patterns, else nothing happens.

Keys need valid position

name: standardKeysNeedValidPosition, type: Bool, default: FALSE

If checked, actions like toggling the displayed slices as a matrix with the number keys demand for the mouse cursor to be over the image (not over the border or just in the viewer) to work.

Pass handled-flag to Inventor

name: passHandledFlagToInventor, type: Bool, default: FALSE, deprecated name: updateInventorEvent

If checked, following Inventor nodes do not react to events that have been already handled by a SoView2DExtension.

Reverse Extension Drawing Order

name: reverseExtensionDrawingOrder, type: Bool, default: FALSE

If checked, the rightmost extension will be drawn first.

Blend Mode

name: blendMode, type: Enum, default: BLEND_REPLACE

Defines the blend mode of the rendered views before the background.

Values:

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

Filter Mode

name: filterMode, type: Enum, default: FILTER_LINEAR

Defines how the volume image's voxels are mapped onto the screen (inter-/ extrapolation).

Values:

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

Cache Mode

name: cacheMode, type: Enum, default: SLICE_CACHING_OFF

Defines the caching mode.

Values:

Title Name
Off SLICE_CACHING_OFF
Partial SLICE_CACHING_PARTIAL
Complete SLICE_CACHING_COMPLETE

Slice Align X

name: sliceAlignX, type: Enum, default: SLICE_ALIGNX_CENTER

Defines the slices' horizontal alignment in the viewport.

Values:

Title Name
Center SLICE_ALIGNX_CENTER
Left SLICE_ALIGNX_LEFT
Right SLICE_ALIGNX_RIGHT

Slice Align Y

name: sliceAlignY, type: Enum, default: SLICE_ALIGNY_CENTER

Defines the slices' vertical alignment in the viewport.

Values:

Title Name
Center SLICE_ALIGNY_CENTER
Top SLICE_ALIGNY_TOP
Bottom SLICE_ALIGNY_BOTTOM

LUT Mode

name: lutMode, type: Enum, default: LUT_BEST

Defines the LUT mode.

Values:

Title Name Description
Fast LUT_FAST Uses an 8 bit hardware LUT (may cause artifacts on 12 bit CT data).
Best LUT_BEST Uses a LUT between 8 and 16 bits depending on the min/max value of the data.
Interactive LUT_INTERACTIVE Uses BEST_LUT if there is no interaction and switches to FAST_LUT on interactive LUT changes.

Zoom Mode

name: zoomMode, type: Enum, default: VIEW2D_AUTO_ZOOM

Defines the zoom mode.

Values:

Title Name
Auto Zoom VIEW2D_AUTO_ZOOM
Auto Zoom X VIEW2D_AUTO_ZOOM_X
Auto Zoom Y VIEW2D_AUTO_ZOOM_Y
Fixed Pixels Per Voxel X VIEW2D_FIXED_PIXELS_PER_VOXEL_X
Fixed Pixels Per Voxel Y VIEW2D_FIXED_PIXELS_PER_VOXEL_Y
Fixed Pixels Per Mm VIEW2D_FIXED_PIXELS_PER_MM
Fixed Mm Per Viewer Width VIEW2D_FIXED_MM_PER_VIEWER_WIDTH
Fixed Mm Per Viewer Height VIEW2D_FIXED_MM_PER_VIEWER_HEIGHT
Scale To Viewer Ignore Ratio VIEW2D_SCALE_TO_VIEWER_IGNORE_RATIO

Zoom Mode Parameter

name: zoomModeParameter, type: Float, default: 1

Sets the parameter needed for some modes in Zoom Mode.

Override Aspect Ratio

name: overrideAspectRatio, type: Bool, default: FALSE

If checked, the aspect ratio of the displayed voxels is overwritten with Voxel Aspect Ratio (vy/vx).

Voxel Aspect Ratio (vy/vx)

name: overrideAspectRatioValue, type: Float, default: 1

Sets a new voxel aspect ratio.

Alpha Factor

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

Sets the alpha factor for rendered slices.

Base Color

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

Sets the base color for rendered slices.

Background Alpha Factor

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

Sets the alpha factor for the background.

Background Color

name: backgroundColor, type: Color, default: 0 0 0

Sets the color for the background.

Start Cine

name: startCine, type: Trigger

If pressed, the cinematic function (automatically slicing through the image in determined range) is started.

Note: to record a movie of the slicing, attach a SoExaminerViewer or a SoRenderArea and use the movie recording of those modules.

Stop Cine

name: stopCine, type: Trigger

If pressed, the cinematic function is stopped.

Center (cineCenterT)

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

Sets a center slice for slicing in the t-dimension for the cinematic function.

Available if not the full range should be filmed, see Full Range in Time Dimension.

Interval (cineIntervalT)

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

Sets a slice interval for slicing in the t-dimension for the cinematic function.

Available if not the full range should be filmed, see Full Range in Time Dimension.

Center (cineCenterZ)

name: cineCenterZ, type: Integer, default: 0, minimum: 0, maximum: :field:`maxSlice`

Sets a center slice for slicing in the z-dimension for the cinematic function.

Available if not the full range should be filmed, see Full range in z-dimension.

Interval (cineIntervalZ)

name: cineIntervalZ, type: Integer, default: 0, minimum: 0, maximum: :field:`maxSlice`

Sets a slice interval for slicing in the z-dimension for the cinematic function.

Available if not the full range should be filmed, see Full range in z-dimension.

Mode

name: cineMode, type: Enum, default: CINE_Z

Defines through which dimension the cinematic should slice.

Values:

Title Name
Z CINE_Z
T CINE_T
ZT CINE_ZT

Direction

name: cineDirection, type: Enum, default: CINE_PINGPONG

Defines the cinematic function.

Values:

Title Name
Forward CINE_FORWARD
Pingpong CINE_PINGPONG

Repeat

name: cineRepeat, type: Enum, default: CINE_ONCE

Defines how the cinematic function should be repeated.

Values:

Title Name
Once CINE_ONCE
Repeat CINE_REPEAT

Speed

name: cineSpeed, type: Float, default: 0.1, minimum: 0.0001

Sets the speed of the cinematic function by setting the waiting time in seconds between showing consecutive slices.

Full range in z-dimension

name: cineFullRangeZ, type: Bool, default: TRUE

If checked, the cinematic function will slice through all slices in z-dimension.

Otherwise, the range can be specified with Center and Interval.

Full Range in Time Dimension

name: cineFullRangeT, type: Bool, default: TRUE

If checked, the cinematic function will slice through all slices in t-dimension.

Otherwise, the range can be specified with Center and Interval.

Always reset before starting

name: cineAlwaysReset, type: Bool, default: TRUE

If checked, the module starts with the first slice in cine mode, no matter what slice is actually shown at that time.

Delete Selected

name: deleteSelected, type: Trigger, deprecated name: deleteSelectedObject

If pressed, a delete-notification is sent to all attached extensions that implement the according callback.

Edit Objects

name: edit, type: Trigger, deprecated name: editObjects

If pressed, attached extensions are set to edit mode.

Status

name: status, type: String

Shows some status information about this module.

Enable deleting

name: deletingEnabled, type: Bool, default: TRUE

If checked, the delete notification can actually be sent through the network.

Handle 2D events

name: handle2DEvents, type: Bool, default: TRUE

If checked, the module receives and evaluates 2D events.

Handle 3D events

name: handle3DEvents, type: Bool, default: TRUE

If checked, the module receives and evaluates 3D events.

Device Pixel Size

name: devicePixelSize, type: Float, default: 1

Sets a factor for scaling the 3D voxel size.

Hidden Fields

maxSlice

name: maxSlice, type: Integer, default: 0

keepSlicesInView

name: keepSlicesInView, type: Bool, default: FALSE

sliceZoom

name: sliceZoom, type: Float, default: 1

minSliceZoomKeyboard

name: minSliceZoomKeyboard, type: Float, default: 1

maxTimePoint

name: maxTimePoint, type: Integer, default: 0

useShaders

name: useShaders, type: Bool, default: TRUE

applyLut

name: applyLut, type: Bool, default: TRUE

invertKeyPanningDirections

name: invertKeyPanningDirections, type: Bool, default: FALSE

enableZBuffer

name: enableZBuffer, type: Bool, default: TRUE

enableZWrite

name: enableZWrite, type: Bool, default: TRUE