Bubble Model Algorithm
In medical imaging, it is important to reduce the rendering time in order to allow for user interaction. For example, a radiologist or lab technician must be able to diagnose a critical injury right after it happened so that the patient can be treated accordingly and efficiently. In order to avoid the large rendering time, the "Bubble Model" technique was developed in order to ensure fast previewing of volumetric data.The main idea of the Bubble model is to render multiple iso-surfaces as thin semi-transparent membranes. Decreasing the opacity assigned to a given iso-surface, anything behind the iso-surface becomes more visible. The model works as follows:
1. The surfaceness of a voxel is characterized by the gradient magnitude at the voxel position.
If the gradient is within a threshold value, then the voxel belongs to an isosurface.
Otherwise, the voxel belong to a homogeneous region and it is not taken into account.
The gradient is calculated by central differences. The formula is shown in Equation 1.
2. Opacities proportional to the gradient magnitudes are calculated and assigned to the voxels.
Equation 2 shows the opacity equation. s in this equation is a scalar constant factor that can be tweaked by the user
to increase or decrease transparency and improve visualization.
3. A constant ambient background light is assumed. Therefore, each voxel within a treshold level attenuates the background
light. Each pixel intensity is calculated as an accumulated transparency multiplied by the ambient light.
Advantages
- Due to the opacity function weighted by gradient magnitudes, the total number of voxels contributing to the final image is
reduced
- User interaction is reduced thus allowing for tuning of rendering parameters and immediate feedback
Ray Casting Algorithm
The Bubble Model can be combined with traditional surface shaded display. The viewing rays are evaluated as follows:1. The volume is resampled along a viewing ray defined by an origin and direction vectors
2. The density value and gradient magnitude at each sample point are calculated using trilinear interpolation
3. If density is greater than a specified treshold value, the shaded color of the hit multiplied by the accumulated transparency is
returned
4. Otherwise, the opacity is multiplied by a scaling factor and contributes to the accumulated trasnparency
These steps are shown in the following algorithm: