[SciPy-User] Arbitrary max-intensity projection

Christoph Gohlke cgohlke at uci.edu
Thu Sep 8 19:13:01 EDT 2011


On 9/8/2011 3:29 PM, Chris Weisiger wrote:
> I have a 3D volume of image data. I want to do a max-intensity
> projection of that data along an arbitrary axis (that is, not
> necessarily orthogonal). For example, projecting along the axis<1, 0,
> .5>  would generate results like looking at the data a bit from above.
> Basically we're faking 3D views of our data.
>
> OpenGL 3D textures don't work due to the size of the image data in
> question (e.g. 512x512x60). Someone suggested reimplementing
> Amanatides&  Woo, which is a fairly simple voxel raytracer. However,
> that doesn't mean it's trivial to implement, and I'd rather not
> reinvent and optimize the wheel if at all possible. Does anyone have
> any suggestions for known solutions to this problem?
>
> -Chris


Did you try VTK's vtkVolumeRayCastMIPFunction function as suggested before?

<http://www.vtk.org/doc/release/5.8/html/a02285.html>
<http://www.uppmax.uu.se/Members/andersh/vtk-with-python/volume-rendering/Volume.py/view?searchterm=None>


OpenGL 3D textures should work if you successively render sub-volumes in 
the correct position and order. MIP can also be implemented with 
object-aligned 2D textures.

Christoph



More information about the SciPy-User mailing list