View3D

MacroModule
genre View3D
author MeVis Medical Solutions AG
package MeVisLab/Standard
definition viewers.def
see also View2D, SynchroView2D, OrthoView2D
keywords viewer

Purpose

The module View3D can be used to do volume rendering of a 3D dataset.

It encapsulates the complex features of the SoGVRVolumeRenderer module and provides access to the basic rendering features.

Details

The interface is split into the render area on the left and the parameters panel on the right. It is recommended that your graphic hardware supports 3D Texture mapping.

The renderer has been tested on modern ATI and nVidia boards but also works on older Notebook hardware.

The 2D texture implementation is quite slow, so it is recommended to use the renderer on better hardware.

Windows

View3D

../../../Modules/Macros/Viewers/mhelp/Images/Screenshots/View3D.View3D.png

Viewer

../../../Modules/Macros/Viewers/mhelp/Images/Screenshots/View3D.Viewer.png

Settings

../../../Modules/Macros/Viewers/mhelp/Images/Screenshots/View3D.Settings.png

LutEditor

../../../Modules/Macros/Viewers/mhelp/Images/Screenshots/View3D.LutEditor.png

Input Fields

inImage

name: inImage, type: Image

inVolume

name: inVolume, type: GVRVolume(MLBase)

inInvPreLUT

name: inInvPreLUT, type: SoNode

Before LUT and VolumeRenderer

inInvPostLUT

name: inInvPostLUT, type: SoNode

Between LUT and VolumeRenderer

inInvPostRenderer

name: inInvPostRenderer, type: SoNode

Behind VolumeRenderer

Output Fields

self (hidden)

name: self, type: SoNode

Parameter Fields

Field Index

Alpha Factor: Double Color: Color lutEditorColorPoints: Vector4List
Annotations: Bool decoration: Bool lutEditorRelativeLut: Bool
Auto view all: Bool Filter Volume Data: Enum Mode: Enum
Background: Bool initialCameraOrientation: Enum Model: Enum
camFar: Float Interactive Quality: Enum On: Bool
camFocal: Float Inventor inputs on: Bool Projection Type: Enum
camHeight: Float inventorOutputOn: Bool Quality: Float
camNear: Float Location: Enum Renderer: Enum
camOrientation: Rotation LUT Type: Enum Static Sampling Rate: Float
camPosition: Vector3 lutEditorAlphaFactor: Float Time Point: Integer
camType: Bool lutEditorAlphaPoints: Vector2List View All: Trigger
Center: Double lutEditorColorInterpolation: Enum Width: Double

Visible Fields

Auto view all

name: autoViewAll, type: Bool, default: TRUE

Views the whole dataset when the input image changes.

Inventor inputs on

name: inventorInputOn, type: Bool, default: TRUE

Enable additional inventor input nodes.

LUT Type

name: lutType, type: Enum, default: Ramp

Defines the type of LUT used for rendering.

Values:

Title Name
Editor Editor
Ramp Ramp

Renderer

name: rendererType, type: Enum, default: Slicer

Allows to select the renderer type.

Values:

Title Name Description
Slicer Slicer The slicer uses old-school slicing. Its performance and quality is not as good as the ray casting, but it works on all platforms and old OpenGL drivers.
Ray Caster RayCaster The ray caster uses modern GLSL shaders to do ray casting of the volume data. On modern OpenGL cards, the performance should be better than the slicer and the rendering quality is generally better because of floating point blending in the shader.

Time Point

name: currentTimePoint, type: Integer, default: 0, minimum: 0, maximum: renderer.maxTimePoint

Sets the time point.

Static Sampling Rate

name: staticSamplingRate, type: Float, default: 1, minimum: 0.01, maximum: 10

Sets the sampling rate for the still image.

Quality

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

Sets the quality of the rendering.

Filter Volume Data

name: filterVolumeData, type: Enum, default: FilterLinear

Defines how the main volume is filtered.

Values:

Title Name Deprecated Name Description
Nearest FilterNearest FALSE Use nearest neighbor filtering.
Linear FilterLinear TRUE Use linear filtering.
Linear Pre Class FilterLinearPreClass   Use pre-classified filtering, this is useful for rendering LUTs that contain trace colors that should not be interpolated. (It is an expensive rendermode, since it requires 16 texture fetches per voxel).
Linear Pre Class Premultiplied Alpha FilterLinearPreClassPremultipliedAlpha    
Cubic FilterCubic   Use cubic filtering for smoother volume rendering. Although the smoothing is done in the shader, this is an expensive filter mode.

Projection Type

name: orientationProjectionType, type: Enum, default: PERSPECTIVE

Defines the (camera) projection type.

Values:

Title Name
Orthographic ORTHOGRAPHIC
Perspective PERSPECTIVE
Auto AUTO

Location

name: orientationLocation, type: Enum, default: LOWER_RIGHT

Defines where the orientation model is located in the viewer.

Values:

Title Name
Upper Left UPPER_LEFT
Lower Left LOWER_LEFT
Upper Right UPPER_RIGHT
Lower Right LOWER_RIGHT

On

name: orientationOn, type: Bool, default: TRUE

If checked, an orientation model is rendered in the viewer.

Model

name: orientationModel, type: Enum, default: CUBE

Defines the type of orientation model used.

Values:

Title Name
Cube CUBE
Man MAN
Skull SKULL
Torso TORSO
Skeleton SKELETON

Center

name: greyCenter, type: Double, default: 0.5, minimum: 0, maximum: 1

Sets the relative value for the LUT gray value center.

Width

name: greyWidth, type: Double, default: 0.5, minimum: 0, maximum: 1

Sets the relative value for the LUT gray value width.

Alpha Factor

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

Sets the general alpha factor for the LUT.

Color

name: colorFactor, type: Color, default: 1 1 1

Sets a base color for the LUT.

View All

name: viewAll, type: Trigger

If pressed, the whole rendered image is visible.

Annotations

name: annotations, type: Bool, default: TRUE

If checked, annotation are rendered as an overlay.

The annotations can be toggled with the A key.

The rendering of additional image information can be toggled with the I key.

Background

name: background, type: Bool, default: TRUE

If checked, a gray gradient background is rendered behind the volume rendering.

Mode

name: mode, type: Enum, default: VolumeRendering

Defines the rendering mode.

Values:

Title Name Deprecated Name
Volume Rendering VolumeRendering  
Mip MIP  
Illuminated Illuminated SurfaceRendering

Interactive Quality

name: interactiveQuality, type: Enum, default: Medium

Defines the interactive quality.

Values:

Title Name
Very Low VeryLow
Low Low
Medium Medium
High High

Hidden Fields

inventorOutputOn

name: inventorOutputOn, type: Bool, default: FALSE

lutEditorColorPoints

name: lutEditorColorPoints, type: Vector4List, default: [ 0 0 0 0, 4095 1 1 1 ]

lutEditorAlphaPoints

name: lutEditorAlphaPoints, type: Vector2List, default: [ 0 0, 4095 1 ]

lutEditorRelativeLut

name: lutEditorRelativeLut, type: Bool, default: FALSE

lutEditorColorInterpolation

name: lutEditorColorInterpolation, type: Enum, default: InterpolateRGB

Values:

Title Name
RGB InterpolateRGB
HLS InterpolateHLS
HLS negative InterpolateHLSneg
HLS positive InterpolateHLSpos
Constant InterpolateConstant
sRGB InterpolateSRGB

lutEditorAlphaFactor

name: lutEditorAlphaFactor, type: Float, default: 1, minimum: 0, maximum: 10

camType

name: camType, type: Bool, default: TRUE

camPosition

name: camPosition, type: Vector3, default: 194.42822265625 -378.746307373047 67.7337341308594

camOrientation

name: camOrientation, type: Rotation, default: 0.934440433979034 0.240476414561272 0.262663811445236 1.54235064983368

initialCameraOrientation

name: initialCameraOrientation, type: Enum, default: CAMERA_KEEP_AS_IS

Values:

Title Name
Keep As Is CAMERA_KEEP_AS_IS
Axial CAMERA_AXIAL
Sagittal CAMERA_SAGITTAL
Coronal CAMERA_CORONAL
Head Profile CAMERA_HEAD_PROFILE
User Setting CAMERA_USER_SETTING

camFar

name: camFar, type: Float, default: 546.26605

camNear

name: camNear, type: Float, default: 264.49319

camFocal

name: camFocal, type: Float, default: 405.23923

camHeight

name: camHeight, type: Float, default: 0.78539801

decoration

name: decoration, type: Bool, default: FALSE