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 to convert 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 6 dimensional images. It supports grey, RGB and RGBA images, RGB is converted to RGBA internally. It creates a data-octree for each timepoint and u dimension point. The cache file stores the following additional information on the volume:

  • Image Size (6 dimensions)
  • Image Datatype
  • WorldToVoxel Matrix (and thus the voxel size)
  • Original min/max
  • Stored min/max (e.g. when rescaling from float to Tuint8)
  • Histogram

The volume itself is split into octree nodes of equal size and written to disk in binary form. Additional book keeping information is stored, 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 datacubes. 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 64KB when 16Bit data is used.

If the input images is a grey scale image, it is recommended to use the Rank filter to generate the resampled octree levels. The default is a Median filter, which typically gives 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 Parent Computation Method: Enum startTaskSynchronous: Trigger
Cancel: Trigger Parent Computation Rank: Integer Status: String
Cast to 8bit: Bool progress: Float taskCanceled: Trigger
Filename: String Save: Trigger taskFinished: Trigger
filenameAfterSuccessfulSave: String Save In Background: Trigger taskRunning: Bool
Force 8bit: Bool savingError: Trigger taskVerboseLogging: Bool
Node Size: Enum savingSuccessful: Trigger  
Pad Size: Enum Source Filename: String  

Visible Fields

Save In Background

name: startTask, type: Trigger

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

Cancel

name: cancelTask, type: Trigger

If 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

Sets 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

Sets 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

If 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 or 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