GVRImageToVolume

MLModule
genre Octree
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll MLGVR
definition MLGVR.def
see also SoGVRVolumeRenderer, GVRVolumeSave, GVRVolumeLoad, GVRVolumeToImage
keywords octree

Purpose

The module GVRImageToVolume converts an ML image to a GVRVolume image.

Details

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

  • 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 and held in memory. 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 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 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 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/GVRImageToVolume._default.png

Input Fields

input0

name: input0, type: Image

Output Fields

outVolume

name: outVolume, type: GVRVolume(MLBase)

Parameter Fields

Field Index

additionalTransformation: Matrix Parent Computation Rank: Integer Update: Trigger
Cancel: Trigger progress: Float Update In Background: Trigger
Cast to 8bit: Bool startTaskSynchronous: Trigger Update Mode: Enum
Force8bit: Bool Status: String  
Keep Volume While Updating: Bool taskCanceled: Trigger  
Node Size: Enum taskFinished: Trigger  
Pad Size: Enum taskRunning: Bool  
Parent Computation Method: Enum taskVerboseLogging: Bool  

Visible Fields

Update In Background

name: startTask, type: Trigger

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

Cancel

name: cancelTask, type: Trigger

If pressed, a conversion in the background is canceled.

Status

name: status, type: String, persistent: no

Shows the status of the module.

Force8bit

name: force8bit, type: Bool, default: FALSE

If checked, the input data is scaled to fit into 8 bit data and the octree is generated 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.

Update Mode

name: updateMode, type: Enum, default: Off

Defines the update mode of this module.

Values:

Title Name
Off Off
Auto Update AutoUpdate
Auto Update In Background AutoUpdateInBackground
Auto Clear AutoClear

Keep Volume While Updating

name: keepVolumeWhileUpdating, type: Bool, default: FALSE

If checked, the module keeps the previous volume in memory until the volume currently being converted in the background is finished.

Otherwise, the current volume is set to NULL while there is a conversion going on in the background.

Update

name: update, type: Trigger

If pressed, the module converts an ML image to a GVR volume.

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

additionalTransformation

name: additionalTransformation, type: Matrix, default: 1 0 0 0, 0 1 0 0, 0 0 1 0, 0 0 0 1