SoView2DContour

InventorModule
genre View2DExtended
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll SoView2DContour
definition SoView2DContour.def
see also CSOIsoGenerator
inherits from SoView2DExtension
keywords parameter, slice, volume

Purpose

The module SoView2DContour generates an arbitrary number of contour lines on slices of a volume image.

Each contour line is defined by a density value (also known as iso-threshold).

For persistent contours, please use CSOIsoGenerator or CSOIsoProcessor.

Known problems:

  • The contours can contain holes, since the algorithm does not generated closed contours
  • The contours are always creates on timepoint 0 but are rendered on all timepoints, so you will get wrong contours on timepoint != 0

Usage

The module starts with no contour. The user can add one or more contours successively or can remove one existing contour or all at once. To distinguish multiple contours a specific color should be set to each contour line. Although more than one contour can be handled by the module, the parameters (like color, line pattern or density) affect only the currently active contour.

The sequence of steps when adding contours should be first adding a new contour and then to alter its parameters. The parameters cannot be altered first, because that would affect the currently active contour (that must have been added already [only existing things can be active]).

When changing the input image, only the generated contours will be erased from memory, but not the information about the number of contours and their parameters. All information will be erased when pressing the ‘Remove All’ button.

Details

The contour lines are computed by a marching cube algorithm. Each contour line will be generated for the viewed slice and then stored internally.

There is no access to the data of the contours, this module is for visualization purposes only.

Windows

Default Panel

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

Input Fields

image

name: image, type: Image

Output Fields

self

name: self, type: SoNode

Parameter Fields

Visible Fields

Density

name: density, type: Float, default: 1

Sets the density value or the iso-value for the currently active contour.

Quality:

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

Sets the quality of the contour.

This is a step size which voxels are being considered.

Color

name: contour_color, type: Color, default: 0.200000002980232 1 0.200000002980232

Sets the color of the current contour.

Line Pattern:

name: linePattern, type: Integer, default: 65535, minimum: 0, maximum: 65535

Sets the line pattern as a bit sequence.

This is also known as a stippling pattern.

Smoothing Passes:

name: smoothingPasses, type: Integer, default: 0, minimum: 0, maximum: 100

Sets the number of smoothing passes for a Laplacian smoothing.

Smoothing Factor:

name: smoothingFactor, type: Float, default: 0.80000001, minimum: 0, maximum: 1

Sets the smoothing factor for a Laplacian smoothing.

Draw lines

name: drawLines, type: Bool, default: TRUE

If checked, the contours are drawn as lines.

Otherwise, they are drawn as points.

Point Size:

name: pointSize, type: Float, default: 1, minimum: 1, maximum: 32

Sets the line width / point size of the active contour.

Draw orthogonals

name: drawOrthogonals, type: Bool, default: FALSE

If checked, orthogonal ticks are rendered along the contour, pointing towards to higher image value regions.

Invert direction

name: invertDirection, type: Bool, default: FALSE

If checked, the orthogonals drawn with Draw orthogonals on are being inverted so they point towards the lower image value regions.

Interactive density

name: interactiveDensity, type: Bool, default: FALSE

If checked, the density or iso-value can be set interactively by clicking into the viewer.

Add Contour

name: triggerAddContour, type: Trigger

If pressed, a new contour with default values is added.

Remove Contour

name: triggerRemoveContour, type: Trigger

If pressed, the active contour is removed.

Remove All

name: triggerRemoveAll, type: Trigger

If pressed, all contours are being removed.

Current Contour:

name: currentContour, type: Integer, default: 0

Shows and sets the id of the currently active contour.

Number Contours:

name: displayNumberContours, type: String, persistent: no

Shows the total number of contours.

Status:

name: displayStatus, type: String, persistent: no

Shows status information about this module.

Display legend

name: displayLegend, type: Bool, default: FALSE

If checked, a legend is displayed, showing the id, density value and the color of all contours.

Parameter Output

name: stringOut, type: String

Shows the id, color, density value, and line pattern of all contours as a string.

This can be connected to a SoView2DLegend module to display a more configurable legend.

Highlight active

name: activeThicker, type: Bool, default: FALSE

If checked, the currently active contour is displayed thicker than the other contours.

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

color

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

see SoView2DExtension.color

selectionTolerance

name: selectionTolerance, type: Float, default: 4, deprecated name: selectDistance

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

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

minDensityValue

name: minDensityValue, type: Float, default: 0

maxDensityValue

name: maxDensityValue, type: Float, default: 0

activeStipple

name: activeStipple, type: Bool, default: FALSE