SoGVRMeanIPMode¶
-
InventorModule
¶ genre VolRendExtensions
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll SoGVR
definition SoGVRMeanIPMode.def see also SoGVRVolumeRenderer
keywords volume
,rendering
,AverageIP
,average
Purpose¶
The SoGVRMeanIPMode
module extends the SoGVRVolumeRenderer
with a mean intensity projection (aka average intensity projection). This mode is mainly useful for slab rendering, since rendering average of the complete volume does not make a lot of sense. Have a look at the example network on how to use the module together with the SoView2DScene
module to render slabs. Since an average intensity projection requires to sum all voxel value along each ray, the module renderes to a window-sized offscreen floating-point framebuffer which stores the sum of all voxels along the rays and the number of voxels rendered for each ray for each pixel. In a post-processing step, a shader calculates the average based in this intermediate framebuffer and does a final lookup into the lookuptable (LUT).
- Enabled:
- Supported: Shows if the mode is supported on the current hardware.
- Precision: Sets the precision that is used for the sum of the voxel values. Float16 The 16-bit floating-point buffer has 1 sign bit, 5 exponent bits, and 10 mantissa bits for each float value. Float32 The 32-bit floating-point buffer is in the standard IEEE float format.
Hardware Requirements
This module requires:
- GLSL Shading Language 1.x
- OpenGL ext_framebuffer_object and arb_texture_float extension
If these hardware requirements are not fulfilled, supported will be set to false and the rendering will be done in standard MIP mode. The maximum size of the intermediate framebuffer that is used it limited by the underlying OpenGL hardware. If the required framebuffer size is not supported by the OpenGL graphics card, the implementation tries to fall back to the largest possible power-of-two sized intermediate framebuffer and renderes to the smaller buffer. The shader which draws the results to the screen then bi-linearly samples from the intermediate buffer. This means that the module supports viewers of any size, but the image quality will be degraded for viewers larger than the supported hardware limits. Tests on a NVidia 8800GT board showed that Float16 is supported up to 4096x4096 pixels, while Float32 is supported up to 4096x2048 pixels. Have a look at the “Debugging” Tab of the module to detect the maximum capabilities of a specific graphics card.
Details¶
This module requires:
- OpenGL 2.X support
- GLSL Shading Language 1.x
- OpenGL ext_framebuffer_object and arb_texture_float extension
If these hardware requirements are not fulfilled, supported will be set to false and the rendering will be done in standard MIP mode. The maximum size of the intermediate framebuffer that is used it limited by the underlying OpenGL hardware. If the required framebuffer size is not supported by the OpenGL graphics card, the implementation tries to fall back to the largest possible power-of-two sized intermediate framebuffer and renderes to the smaller buffer. The shader which draws the results to the screen then bi-linearly samples from the intermediate buffer. This means that the module supports viewers of any size, but the image quality will be degraded for viewers larger than the supported hardware limits. Tests on a NVidia 8800GT board showed that Float16 is supported up to 4096x4096 pixels, while Float32 is supported up to 4096x2048 pixels. Have a look at the “Debugging” Tab of the module to detect the maximum capabilities of a specific graphics card.
Output Fields¶
self¶
-
name:
self
, type:
SoNode
¶ a node that should be put in front of the
SoGVRVolumeRenderer
Parameter Fields¶
Visible Fields¶
Enabled¶
-
name:
enabled
, type:
Bool
, default:
TRUE
¶ Defines if the mean intensity projection mode is enabled.
Supported¶
-
name:
supported
, type:
Bool
, persistent:
no
¶ Shows if the mode is supported on the current hardware.
Precision¶
-
name:
precision
, type:
Enum
, default:
GVR_FLOAT16
¶ - Sets the precision that is used for the sum of the voxel values.
- Float16 Float32 The 32-bit floating-point buffer is in the standard IEEE float format.
Values:
Title | Name | Description |
---|---|---|
Float16 | GVR_FLOAT16 | The 16-bit floating-point buffer has 1 sign bit, 5 exponent bits, and 10 mantissa bits for each float value. |
Float32 | GVR_FLOAT32 | The 32-bit floating-point buffer is in the standard IEEE float format. |