SoView2DAnnotation

InventorModule

genre

View2DExtended

author

MeVis Medical Solutions AG

package

MeVisLab/Standard

dll

SoView2D

definition

view2d.def

see also

SoView2D

inherits from

SoView2DExtension

keywords

dicom, ct, mrt, information, user-defined, extension

Purpose

The module SoView2DAnnotation displays general and configurable image information in a 2D viewer.

Details

The following keywords are available in the annotation text (written as $(variablename)):

Variable

Description

timepoint

The current temporal position.

timepointPlus1

Above plus one.

userIndex

The current user index.

slice

The current slice.

slicePlus1

Above plus one.

numSlices

The total number of slices.

sliceThickness

The thickness of the slice in mm.

min

The minimum voxel value of the dataset.

max

The maximum voxel value of the dataset.

zoom

The current zoom (zoom == 1 means one pixel per voxel).

type

The datatype of the image.

status

The status string of the SoView2D.

size[xyzctu]

The size of the dataset in x,y,z,c,t,u dimension (in voxel).

page[xyzctu]

The page size of the dataset in x,y,z,c,t,u dimension (in voxel).

voxel[xyz]

The voxel size of the dataset in x,y,z dimension (in mm).

input[00-09]

The string value of the input00- input09 fields.

numInput[00-09]

The numerical value of the numInput00- numInput09 fields.

userInfo

A string associated with the current SoView2D. See SoView2D.userInfo.

lutSize

The size of the used LUT.

shader

The active shader (GLSL, or empty if no shader is used).

distanceToCenterSlice

In case of mosaic views, that displays the distance (in mm ) to the center slice.

distanceToCenterSliceCM

In case of mosaic views, that displays the distance (in mm ) to the center slice.

In addition to these variables, any DICOM tag name can be specified, e.g., $(PatientsName).

One can specify a maximum displayed string length (for string values) or the decimal precision (for numerical values) by specifying an additional number after the variable name like this: $(variablename:number). If not given, a variable-specific default is applied.

Interaction

Key

Function

A

Toggles Show Annotation modes.

I

Toggles image information.

Tips

This module may be be used to display information on a 3D viewer as well by using a dummy SoView2D that does not render the image. To facilitate orientation and scale determination of a 3D viewer, the field orientationAndScaleFromCamera on the automatic panel can be enabled, which will take the Open Inventor viewing matrix to determine the orientation (used for orientation letters and orientation cube) and which will render the rulers correctly when an orthographic camera is used. Rulers are automatically disabled for perspective cameras.

Windows

Default Panel

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

Input Fields

inOrientationModel

name: inOrientationModel, type: SoNode

Output Fields

self

name: self, type: SoNode

Parameter Fields

Field Index

abreviateChars: Integer

Hit Orientation Letter: String

numInput07: Double

abreviateShortChars: Integer

ignoreHandledEvents: Bool

numInput08: Double

alt: Enum

input00: String

numInput09: Double

Annotation Color: Color

input01: String

Orientation Color: Color

Annotation Font Size: Enum

input02: String

orientationAndScaleFromCamera: Bool

Annotation Mode: Enum

input03: String

Position: Enum

Background Color: Color

input04: String

Relative Offset (orientationModelRelativeVerticalOffset): Float

Background Opacity: Float

input05: String

Relative Offset (orientationModelRelativeHorizontalOffset): Float

Bottom Center (annotationUserBottomCenter): String

input06: String

Relative Size: Float

Bottom Center (annotationCTBottomCenter): String

input07: String

renderOnSlab: Bool

Bottom Center (annotationMRBottomCenter): String

input08: String

Ruler Shadow: Bool

Bottom Center (shortBottomCenter): String

input09: String

selectionTolerance: Float

Bottom Left (annotationUserBottomLeft): String

interactionProviderID: String

setEventHandled: Bool

Bottom Left (annotationCTBottomLeft): String

Is Mouse Over Cube: Bool

Shadow Color: Color

Bottom Left (annotationMRBottomLeft): String

Margin (verticalRulerMarginRight): Integer

shift: Enum

Bottom Left (shortBottomLeft): String

Margin (horizontalRulerMarginBottom): Integer

Show Annotation: Enum

Bottom Right (annotationUserBottomRight): String

Margin Bottom: Integer

Show horizontal ruler: Bool

Bottom Right (annotationCTBottomRight): String

Margin Left: Integer

Show negative: Bool

Bottom Right (annotationMRBottomRight): String

Margin Right: Integer

Show Orientation: Enum

Bottom Right (shortBottomRight): String

Margin Top: Integer

Show positive: Bool

button1: Enum

maskValid: Bool

Show vertical ruler: Bool

button2: Enum

Max Detail Font Size: Integer

showTechnicalInfo: Bool

button3: Enum

Max Short Font Size: Integer

singleClicked: Trigger

clipToSlice: Bool

Max. Pixel (orientationModelMaxVerticalOffset): Integer

targetHeight: Integer

Color: Color

Max. Pixel (orientationModelMaxHorizontalOffset): Integer

targetWidth: Integer

control: Enum

Max. Pixel Size: Integer

Top Left (annotationUserTopLeft): String

createNewMode: Bool

Min Detail Font Size: Integer

Top Left (annotationCTTopLeft): String

createNewModeRequest: Trigger

Min Short Font Size: Integer

Top Left (annotationMRTopLeft): String

cursorShape: Enum

Min. Pixel (orientationModelMinVerticalOffset): Integer

Top Left (shortTopLeft): String

doubleClicked: Trigger

Min. Pixel (orientationModelMinHorizontalOffset): Integer

Top Right (annotationUserTopRight): String

Draw background: Bool

Min. Pixel Size: Integer

Top Right (annotationCTTopRight): String

drawingOn: Bool

needsValidVoxel: Bool

Top Right (annotationMRTopRight): String

Edge Color: Color

numInput00: Double

Top Right (shortTopRight): String

Edge Opacity: Float

numInput01: Double

Use text shadow: Bool

editingOn: Bool

numInput02: Double

User Detail Font Size: Integer

Enable: Bool

numInput03: Double

User Short Font Size: Integer

fixZOn: Bool

numInput04: Double

wantsAllEvents: Bool

Font Size: Integer

numInput05: Double

wantsKeyEvents: Bool

fontWidthDummyString: String

numInput06: Double

wantsMouseWheelEvents: Bool

Visible Fields

Annotation Color

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

Sets the color of the annotations.

see also SoView2DExtension.color

Annotation Mode

name: annotationMode, type: Enum, default: ANNO_MODE_AUTO

Defines the chapter from which the layout information is taken.

Values:

Title

Name

Deprecated Name

Description

​User

​ANNO_MODE_USER

​USER_ANNOTATION

​Information is taken from the USER chapter.

​CT

​ANNO_MODE_CT

​CT_ANNOTATION

​Information is taken from the CT chapter.

​MR

​ANNO_MODE_MR

​MR_ANNOTATION

​Information is taken from the MR chapter.

​Auto

​ANNO_MODE_AUTO

​AUTO_SELECT_ANNOTATION

​Module chooses on base of DICOM tags.

Show Orientation

name: showOrientation, type: Enum, default: ANNO_ORIENTATION_SIZE_WEIGHTED

Defines how the orientation letters are displayed.

Values:

Title

Name

Deprecated Name

Description

​Off

​ANNO_ORIENTATION_OFF

​FALSE

​No orientation letters are shown.

​Size Fixed

​ANNO_ORIENTATION_SIZE_FIXED

​Orientation letters are always shown with the same size.

​Size Weighted

​ANNO_ORIENTATION_SIZE_WEIGHTED

​TRUE

​The size of the orientation letters vary to indicate the actual orientation.

Show negative

name: drawNegativeOrientation, type: Bool, default: TRUE

If checked, the orientation letters pointing into negative axis directions are shown.

Show positive

name: drawPositiveOrientation, type: Bool, default: FALSE

If checked, the orientation letters pointing into positive axis directions are shown.

Orientation Color

name: orientationColor, type: Color, default: 1 1 1

Sets the color of the orientation letters.

Show vertical ruler

name: verticalRuler, type: Bool, default: TRUE, deprecated name: showVerticalRuler

If checked, a vertical ruler is shown at the right hand side of the viewer.

The scale and units of the ruler depend on the zoom level of the image.

Show horizontal ruler

name: horizontalRuler, type: Bool, default: FALSE, deprecated name: showHorizontalRuler

If checked, a horizontal ruler is shown at the bottom of the viewer.

The scale and units of the ruler depend on the zoom level of the image.

Margin (verticalRulerMarginRight)

name: verticalRulerMarginRight, type: Integer, default: 8

Sets a margin for the vertical ruler in pixels.

Margin (horizontalRulerMarginBottom)

name: horizontalRulerMarginBottom, type: Integer, default: 8

Sets a margin for the horizontal ruler in pixels.

Show Annotation

name: showAnnotation, type: Enum, default: ANNO_SHOW_DETAILED

Defines the annotation mode.

This can be toggled by pressing the A key in the viewer.

Also, the module toggles between Short and Detailed based on the size of the viewport.

Values:

Title

Name

Deprecated Name

Description

​Hide

​ANNO_SHOW_HIDE

​HIDE_ANNOTATION

​No annotation is shown.

​Short

​ANNO_SHOW_SHORT

​SHORT_ANNOTATION

​A subset of information is shown.

​Detailed

​ANNO_SHOW_DETAILED

​DETAILED_ANNOTATION

​All detailed information is shown.

Annotation Font Size

name: annotationFontSize, type: Enum, default: ANNO_SIZE_AUTO

Defines the size of the annotation font.

Values:

Title

Name

Deprecated Name

Description

​Auto

​ANNO_SIZE_AUTO

​AUTO_SIZE_ANNOTATION

​The size is automatically chosen on base of the size of the viewport.

The sizes to switch between short and detailed information can be set with Min Short Font Size, Max Short Font Size, Min Detail Font Size, and Max Detail Font Size.

​Small

​ANNO_SIZE_SMALL

​SMALL_ANNOTATION

​A small font size.

​Medium

​ANNO_SIZE_MEDIUM

​MEDIUM_ANNOTATION

​A medium font size.

​Large

​ANNO_SIZE_LARGE

​LARGE_ANNOTATION

​A large font size.

​User

​ANNO_SIZE_USER

​A user defined font size, defined in User Short Font Size and User Detail Font Size.

Min Detail Font Size

name: minDetailFontSize, type: Integer, default: 10, minimum: 6, maximum: :field:`maxDetailFontSize`

Sets the minimum font size for detail information before switching to short information.

Max Detail Font Size

name: maxDetailFontSize, type: Integer, default: 18, minimum: :field:`minDetailFontSize`, maximum: 64

Sets the maximum font size for detailed information.

Min Short Font Size

name: minShortFontSize, type: Integer, default: 8, minimum: 6, maximum: :field:`maxShortFontSize`

Sets the minimum font size for short information.

Max Short Font Size

name: maxShortFontSize, type: Integer, default: 12, minimum: :field:`minShortFontSize`, maximum: 64

Sets the maximum font size for short information before switching to detailed information.

User Detail Font Size

name: userDetailFontSize, type: Integer, default: 12, minimum: 6, maximum: 64

Sets the user font size for detailed information.

User Short Font Size

name: userShortFontSize, type: Integer, default: 10, minimum: 6, maximum: 64

Sets the user font size for short information.

Font Size

name: rulerFontSize, type: Integer, default: 12, minimum: 6, maximum: 64

Sets the font size of the ruler text.

Use text shadow

name: textShadow, type: Bool, default: TRUE

If checked, a text shadow is displayed to enhance readability.

Shadow Color

name: textShadowColor, type: Color, default: 0 0 0

Sets the color of all text shadows.

Ruler Shadow

name: rulerShadow, type: Bool, default: TRUE

If checked, the ruler(s) will be displayed with a black shadow.

Top Left (annotationUserTopLeft)

name: annotationUserTopLeft, type: String, default: $(PatientsName), $(PatientID) $(PatientsSex), $(PatientsBirthDate)

Sets the user annotation string for the top left corner.

Top Right (annotationUserTopRight)

name: annotationUserTopRight, type: String, default: $(InstitutionName), $(ManufacturersModelName), $(Modality)

Sets the user annotation string for the top right corner.

Bottom Left (annotationUserBottomLeft)

name: annotationUserBottomLeft, type: String, default: slice: $(slice), $(SeriesDescription)

Sets the user annotation string for the bottom left corner.

Bottom Right (annotationUserBottomRight)

name: annotationUserBottomRight, type: String, default: User Mode, acquisition: $(AcquisitionDate)

Sets the user annotation string for the bottom right corner.

Bottom Center (annotationUserBottomCenter)

name: annotationUserBottomCenter, type: String

Sets a string that is displayed at the bottom center of the viewer.

Top Left (annotationCTTopLeft)

name: annotationCTTopLeft, type: String, default: $(PatientsName), $(PatientID) $(PatientsSex), $(PatientsBirthDate)

Sets the CT annotation string for the top left corner.

Top Right (annotationCTTopRight)

name: annotationCTTopRight, type: String, default: $(InstitutionName), $(ManufacturersModelName), $(Modality)

Sets the CT annotation string for the top right corner.

Bottom Left (annotationCTBottomLeft)

name: annotationCTBottomLeft, type: String, default: slice: $(slice), timepoint: $(timepoint), $(sizex),$(sizey),$(sizez),$(sizec),$(sizet), $(voxelx),$(voxely),$(voxelz), $(SeriesDescription)

Sets the CT annotation string for the bottom left corner.

Bottom Right (annotationCTBottomRight)

name: annotationCTBottomRight, type: String, default: CT Mode, acquisition: $(AcquisitionDate)

Sets the CT annotation string for the bottom right corner.

Bottom Center (annotationCTBottomCenter)

name: annotationCTBottomCenter, type: String

Sets a string that is displayed at the bottom center of the viewer.

Top Left (annotationMRTopLeft)

name: annotationMRTopLeft, type: String, default: $(PatientsName), $(PatientID) $(PatientsSex), $(PatientsBirthDate)

Sets the MR annotation string for the top left corner.

Top Right (annotationMRTopRight)

name: annotationMRTopRight, type: String, default: $(InstitutionName), $(ManufacturersModelName), $(Modality)

Sets the MR annotation string for the top right corner.

Bottom Left (annotationMRBottomLeft)

name: annotationMRBottomLeft, type: String, default: slice: $(slice), timepoint: $(timepoint), $(sizex),$(sizey),$(sizez),$(sizec),$(sizet), $(voxelx),$(voxely),$(voxelz), $(SeriesDescription)

Sets the MR annotation string for the bottom left corner.

Bottom Right (annotationMRBottomRight)

name: annotationMRBottomRight, type: String, default: MR Mode, acquisition: $(AcquisitionDate)

Sets the MR annotation string for the bottom right corner.

Bottom Center (annotationMRBottomCenter)

name: annotationMRBottomCenter, type: String

Sets a string that is displayed at the bottom center of the viewer.

Top Left (shortTopLeft)

name: shortTopLeft, type: String, default: $(PatientsName), $(PatientID)

Sets the short annotation string for the top left corner.

Top Right (shortTopRight)

name: shortTopRight, type: String, default: $(Modality)

Sets the short annotation string for the top right corner.

Bottom Left (shortBottomLeft)

name: shortBottomLeft, type: String, default: Slice: $(slice)

Sets the short annotation string for the bottom left corner.

Bottom Right (shortBottomRight)

name: shortBottomRight, type: String

Sets the short annotation string for the bottom right corner.

Bottom Center (shortBottomCenter)

name: shortBottomCenter, type: String

Sets a string that is displayed at the bottom center of the viewer.

input00

name: input00, type: String

Sets a string that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

input01

name: input01, type: String

Sets a string that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

input02

name: input02, type: String

Sets a string that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

input03

name: input03, type: String

Sets a string that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

input04

name: input04, type: String

Sets a string that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

input05

name: input05, type: String

Sets a string that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

input06

name: input06, type: String

Sets a string that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

input07

name: input07, type: String

Sets a string that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

input08

name: input08, type: String

Sets a string that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

input09

name: input09, type: String

Sets a string that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

numInput00

name: numInput00, type: Double, default: 0

Sets a numerical value that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

numInput01

name: numInput01, type: Double, default: 0

Sets a numerical value that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

numInput02

name: numInput02, type: Double, default: 0

Sets a numerical value that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

numInput03

name: numInput03, type: Double, default: 0

Sets a numerical value that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

numInput04

name: numInput04, type: Double, default: 0

Sets a numerical value that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

numInput05

name: numInput05, type: Double, default: 0

Sets a numerical value that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

numInput06

name: numInput06, type: Double, default: 0

Sets a numerical value that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

numInput07

name: numInput07, type: Double, default: 0

Sets a numerical value that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

numInput08

name: numInput08, type: Double, default: 0

Sets a numerical value that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

numInput09

name: numInput09, type: Double, default: 0

Sets a numerical value that can be connected from another module or be filled by scripting.

The content of this field can be used in one of the chapters.

Enable

name: orientationModel, type: Bool, default: FALSE

If checked, the rendering of an orientation model is enabled.

Position

name: orientationModelPosition, type: Enum, default: ANNO_BOTTOM_RIGHT

Defines where the orientation model is rendered.

Values:

Title

Name

Description

​Top Left

​ANNO_TOP_LEFT

​Render below the top left text.

​Top Right

​ANNO_TOP_RIGHT

​Render below the top right text.

​Bottom Left

​ANNO_BOTTOM_LEFT

​Render above the bottom left text.

​Bottom Right

​ANNO_BOTTOM_RIGHT

​Render above the bottom right text.

Margin Top

name: marginTop, type: Integer, default: 2

Margin Bottom

name: marginBottom, type: Integer, default: 2

Margin Left

name: marginLeft, type: Integer, default: 2

Margin Right

name: marginRight, type: Integer, default: 2

Relative Size

name: orientationModelRelativeSize, type: Float, default: 0.125, minimum: 0.001, maximum: 1

Sets the size of the model relative to the minimum of the viewer’s width/height.

Min. Pixel Size

name: orientationModelMinSize, type: Integer, default: 24

Sets the minimum size of the model in pixels.

Max. Pixel Size

name: orientationModelMaxSize, type: Integer, default: 128

Sets the maximum size of the model in pixels.

Relative Offset (orientationModelRelativeVerticalOffset)

name: orientationModelRelativeVerticalOffset, type: Float, default: 0, minimum: -0.1, maximum: 1

Min. Pixel (orientationModelMinVerticalOffset)

name: orientationModelMinVerticalOffset, type: Integer, default: 0

Max. Pixel (orientationModelMaxVerticalOffset)

name: orientationModelMaxVerticalOffset, type: Integer, default: 128

Relative Offset (orientationModelRelativeHorizontalOffset)

name: orientationModelRelativeHorizontalOffset, type: Float, default: 0, minimum: -0.1, maximum: 1

Min. Pixel (orientationModelMinHorizontalOffset)

name: orientationModelMinHorizontalOffset, type: Integer, default: 0

Max. Pixel (orientationModelMaxHorizontalOffset)

name: orientationModelMaxHorizontalOffset, type: Integer, default: 128

Color

name: orientationModelColor, type: Color, default: 1 1 1

Sets the color of the model.

Is Mouse Over Cube

name: isMouseOverCube, type: Bool, persistent: no

Shows whether the mouse cursor is over the orientation cube.

Hit Orientation Letter

name: hitOrientationLetter, type: String, persistent: no

Shows the orientation letter of the side of the orientation cube where the user has clicked on.

Draw background

name: drawBackgroundBox, type: Bool, default: FALSE

If checked, a background rectangle is drawn behind the annotation text.

Background Color

name: backgroundColor, type: Color, default: 0.200000002980232 0.200000002980232 0.699999988079071

Sets the color of the annotation background.

Background Opacity

name: backgroundOpacity, type: Float, default: 0.5, minimum: 0, maximum: 1

Sets the opacity of the annotation background.

Edge Color

name: backgroundEdgeColor, type: Color, default: 0.200000002980232 0.200000002980232 0.699999988079071

Sets the color of the border around the annotation background.

Edge Opacity

name: backgroundEdgeOpacity, type: Float, default: 0.5, minimum: 0, maximum: 1

Sets the opacity of the border around the annotation background.

Hidden Fields

interactionProviderID

name: interactionProviderID, type: String

see SoView2DExtension.interactionProviderID

drawingOn

name: drawingOn, type: Bool, default: TRUE

see SoView2DExtension.drawingOn

editingOn

name: editingOn, type: Bool, default: TRUE

see SoView2DExtension.editingOn

maskValid

name: maskValid, type: Bool, persistent: no

fixZOn

name: fixZOn, type: Bool, default: TRUE

selectionTolerance

name: selectionTolerance, type: Float, default: 4, minimum: 2, maximum: 40, deprecated name: selectDistance

needsValidVoxel

name: needsValidVoxel, type: Bool, default: FALSE

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: TRUE

wantsKeyEvents

name: wantsKeyEvents, type: Bool, default: TRUE

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

renderOnSlab

name: renderOnSlab, type: Bool, default: FALSE

clipToSlice

name: clipToSlice, type: Bool, default: FALSE

cursorShape

name: cursorShape, type: Enum, default: UNDEFINED_CURSOR

see SoView2DExtension.cursorShape

singleClicked

name: singleClicked, type: Trigger, persistent: no

doubleClicked

name: doubleClicked, type: Trigger, persistent: no

showTechnicalInfo

name: showTechnicalInfo, type: Bool, default: FALSE

abreviateChars

name: abreviateChars, type: Integer, default: -1

abreviateShortChars

name: abreviateShortChars, type: Integer, default: 16

fontWidthDummyString

name: fontWidthDummyString, type: String

targetWidth

name: targetWidth, type: Integer, default: 0

targetHeight

name: targetHeight, type: Integer, default: 0

orientationAndScaleFromCamera

name: orientationAndScaleFromCamera, type: Bool, default: FALSE