[vtk-developers] Modified vtkVolumeMapper for summation instead of compositing

peterm madapeti at gmail.com
Mon Sep 24 11:05:56 EDT 2012


Dear forum members,

I would like to create a VTK volume mapper that would output the sum of
voxel intensity values along the sampling ray instead of using the standard
opacity based compositing. A key aspect of the problem is that the renderer
has to work with unstructured grids as input. Additionally the solution
would have to use an intensity representation with sufficiently small
quantization error (e.g. float).

I am aware of volume mappers that work with unstructured grids, however they
use a different compositing rule.

My question is if someone could please tell me if there is a relatively
straightforward way of accomplishing this goal. Basically what I am planning
to do is to create a new volume mapper inheriting from an appropriate VTK
volume mapper that can use float/double as the data type and has a custom
compositing rule (summation instead of blending). 

I would very much appreciate if someone could please let me know
 - which volume mapper to inherit from to make the solution relatively
painless & future proof
 - or if there are better alternative solutions

Thanks a lot for any suggestion / feedback!

Remarks:

The main application of the solution would be to compute simulated X-ray
images from volume data. Based on the theory of transmittance imaging the
logarithm of the projection image is proportional to the line integral (sum
of samples along the ray) of the of the intensity values along the
projection rays. For this reason I would like to create a custom volume
renderer that would yield this sum value instead of the usual output that is
based on a recurrent relationship for the samples dependent on the "opacity"
parameter. I believe it should be possible to use a small constant opacity
value using the standard renderer and transform the resulting image, but I
am not sure about the errors introduced by the recurrence approximations for
the compounded opacity values. The volumes I would like to use the renderer
on are scalar fields obtained by a CFD simulation, and are given on an
unstructured grid (tetrahedral volume mesh). The conversion to regular voxel
grid is too slow, so I would like to do the rendering directly using the
original data.



--
View this message in context: http://vtk.1045678.n5.nabble.com/Modified-vtkVolumeMapper-for-summation-instead-of-compositing-tp5716277.html
Sent from the VTK - Dev mailing list archive at Nabble.com.



More information about the vtk-developers mailing list