| genre | Octree |
| status | stable |
| author | Florian Link |
| package | MeVisLab/Standard |
| dll | MLGVR |
| definition | MLGVR.def |
| see also | SoGVRVolumeRenderer, GVRVolumeLoad |
| keywords | GVR, octree |
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.
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.
| 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 |
If pressed, the cache file is saved in the background, enabling the user to still interact with the GUI.
If checked, the input data is scaled to fit into 8 bit data and the octree is written to disk as 8 bit data.
If checked, input data is cast directly to 8 bit without scaling or shifting.
Use this for tag data.
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 |
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 |
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 |
Sets a rank value used if the Rank filter is active.
Sets or shows the source filename that is extracted from the input image if possible.
It can also be set via a field connection.
If checked, the Filename is constructed from the given Source Filename by replacing the extension with .gvr