PDA

View Full Version : Maximum Intensity Projection(MIP)-3D Texture



Mahdy
04-07-2001, 01:53 AM
Anyone knows which video card support 3d-texturing &MIP ?? i mean to make a maximum intensity projection for the volume stored in the 3d texture
Thanx in advance

mcraighead
04-07-2001, 09:29 AM
What is "Maximum Intensity Projection"? Are you talking about mipmaps ("multum in parvo")? I'm confused.

- Matt

JasonM [ATI]
04-07-2001, 09:41 AM
The ATI RADEON™ supports 3D textures and can do volume visualization as illustrated in this sample: RadeonVolVis (http://www.ati.com/na/pages/resource_centre/dev_rel/sdk/RadeonSDK/Html/Samples/OpenGL/RadeonVolVis.html) . It's been a while since I've read the literature on this, but there are some references at the bottom of the 3D Texturing Tutorial (http://www.ati.com/na/pages/resource_centre/dev_rel/sdk/RadeonSDK/Html/Tutorials/Radeon3DTexturing.html) that explain how to composite your data such that you can reconstruct it in various ways, including maximum-intensity projection (MIP).

-Jason

JasonM [ATI]
04-07-2001, 09:44 AM
MIP in this case refers to Maximum Intensity Projection, which is one technique for reconstructing the volume data. Have a look at this paper (http://www.cg.tuwien.ac.at/research/TR/99/TR-186-2-99-10Abstract.html) for an explanation.

-Jason

iss
04-07-2001, 12:44 PM
Maximum Intensity Projection (MIP) is distinct from MIP-mapping. The latter refers to “many things in small places” and is used to refer to varying level of detail (LOD) for texture mapping.

MIP volume rendering refers to finding the voxel with highest opacity as a ray shines trough a volume data set (ray casting, not to be confused with ray tracing used in lighting calculations). Ray casting functions don’t have to use the highest value as the “ray” travels front to back (FTB) through the volume set. Other opacity accumulation functions can be used. Depending on the data set, MIP volume rendering doesn’t provide the most visually pleasing image. One common algorithm involves shear warping. The volume is sheared (to help computation) until the viewer’s line of site is orthogonal to the closest plane to the eye (i.e. one of the rectangular volume data set faces of the voxel cube). The rays are cast then through. Finally, this resulting “base plane” image is then re-warped to undo the shearing of the volume. (See the absolutely excellent text: The Visualization Toolkit : An Object-Oriented Approach to 3-D Graphics).

As you can guess, this is computationally expensive. The OpenGL Version 1.2 API supports 3D texturing. The 3D texture is actually the voxel data set. The ATI Radeon www.ati.com/ (http://www.ati.com/) does support this operation on GL_TEXTURE_3D.

Here’s the rub, the Open GL function does NOT compute the gradient of the voxel. This means that internal “edges” such as tissue planes in biological data, are not emphasized. This is an important limitation to appreciate. If you’re savy, you can compute the gradient yourself (e.g. in Intel’s MMX) and alter the volume set you feed OpenGL 1.2. The VolumePro is a hardware board that does Front to Back, MIP and Minimum Intensity Projection and is at www.rtviz.com/ (http://www.rtviz.com/) . The volume rendering is done in cooperation with the graphics board. Most importantly, the gradient is computed in hardware.

[This message has been edited by iss (edited 04-08-2001).]