GVRVolumeSave

MLModule

genre

Octree

author

MeVis Medical Solutions AG

package

MeVisLab/Standard

dll

MLGVR

definition

MLGVR.def

see also

SoGVRVolumeRenderer, GVRVolumeLoad

keywords

octree

Purpose

The module GVRVolumeSave allows for converting an ML image to a GVRVolume that is written to disk as a binary cache file. The cache file has the file extension .gvr and can be loaded with the GVRVolumeLoad module.

Details

The GVR cache file supports Tuint8/Tuint16 storage of six-dimensional images. It supports gray, RGB, and RGBA images; RGB is converted to RGBA internally. It creates a data octree for each time point and u dimension point. The volume stores the following additional information:

  • Image size (six dimensions)

  • Image data type

  • WorldToVoxel matrix (and thus the voxel size)

  • Original min/max

  • Stored min/max (e.g., if rescaling from float to Tuint8)

  • Histogram

The volume itself is divided into octree nodes of equal size and written to disk in binary form. Additional book-keeping information is generated, such as a binary histogram, min/max value, etc. The cache file allows very fast access to any subimage at a given octree level in any orientation, since the data is organized in small data cubes. The default of 32*32*32 has been tested to be a very good size on current processors, since it leads to a per node size of 64 KB when 16-bit data is used.

If the input images is a gray scale image, it is recommended to use the Rank filter to generate the resampled octree levels. The default is a Median filter, which typically provides the best results when volume rendering is considered. For colored images, the filter settings are ignored and averaging is performed for resampling.

Windows

Default Panel

../../../Modules/ML/MLGVR/mhelp/Images/Screenshots/GVRVolumeSave._default.png

Input Fields

input0

name: input0, type: Image

The input image that is to be stored to disk as a cache file.

Parameter Fields

Field Index

Automatic Filename: Bool

Ok: Bool

savingSuccessful: Trigger

Cancel: Trigger

Pad Size: Enum

Source Filename: String

Cast to 8bit: Bool

Parent Computation Method: Enum

startTaskSynchronous: Trigger

Filename: String

Parent Computation Rank: Integer

Status: String

filenameAfterSuccessfulSave: String

progress: Float

taskCanceled: Trigger

Force 8bit: Bool

Save: Trigger

taskFinished: Trigger

Input Is Valid: Bool

Save In Background: Trigger

taskRunning: Bool

Node Size: Enum

savingError: Trigger

taskVerboseLogging: Bool

Visible Fields

Save In Background

name: startTask, type: Trigger

When pressed, the cache file is saved in the background, enabling the user to still interact with the GUI.

Cancel

name: cancelTask, type: Trigger

When pressed, a saving in the background is canceled.

Status

name: status, type: String, persistent: no

Shows the status of the module.

Force 8bit

name: force8bit, type: Bool, default: FALSE

If checked, the input data is scaled to fit into 8-bit data and the octree is written to disk as 8-bit data.

Cast to 8bit

name: castTo8bit, type: Bool, default: FALSE

If checked, input data is cast directly to 8-bit without scaling or shifting.

Use this for tag data.

Node Size

name: nodeSize, type: Enum, default: SIZE32

Defines the desired size of the octree nodes; 32 is considered to be the best choice on current hardware.

Values:

Title

Name

​Size16

​SIZE16

​Size32

​SIZE32

​Size64

​SIZE64

Pad Size

name: padSize, type: Enum, default: AUTO

Defines the amount of overlapping voxels.

Pad1 is the minimum requirement for trilinear interpolation while Pad3 enables corrected gradient computation.

Values:

Title

Name

​Auto

​AUTO

​Pad1

​PAD1

​Pad3

​PAD3

Parent Computation Method

name: parentComputationMethod, type: Enum, default: RANK

Defines the used filter.

Set to either Rank or Average filter; for colored data, Average is used automatically.

Values:

Title

Name

​Rank

​RANK

​Average

​AVERAGE

Parent Computation Rank

name: parentComputationRank, type: Integer, default: 4

Sets a rank value used if the Rank filter is active.

Save

name: save, type: Trigger

When pressed, the cache file is written to disk.

Filename

name: filename, type: String

Sets the file name of the cache file on disk.

Source Filename

name: sourceFilename, type: String

Sets and shows the source filename that is extracted from the input image if possible.

It can also be set via a field connection.

Automatic Filename

name: automaticFilename, type: Bool, default: TRUE

If checked, the Filename is constructed from the given Source Filename by replacing the extension with .gvr

Hidden Fields

startTaskSynchronous

name: startTaskSynchronous, type: Trigger

taskVerboseLogging

name: taskVerboseLogging, type: Bool, default: FALSE

taskFinished

name: taskFinished, type: Trigger

taskCanceled

name: taskCanceled, type: Trigger

taskRunning

name: taskRunning, type: Bool, persistent: no

progress

name: progress, type: Float, persistent: no

savingSuccessful

name: savingSuccessful, type: Trigger

savingError

name: savingError, type: Trigger

filenameAfterSuccessfulSave

name: filenameAfterSuccessfulSave, type: String

Input Is Valid

name: imageIsValid, type: Bool, default: FALSE

Checked if an input image is connected and it is possible to create a GVR volume from it

Ok

name: succeeded, type: Bool, default: FALSE

Shows whether saving the GVR volume finished successfully