[vtkusers] Gradient estimation in volume rendering

Lisa S. Avila lisa.avila at kitware.com
Mon Jan 6 23:58:30 EST 2003


Hello Benjamin,



>In a nutshell, my questions are
>1) Does VolumePro use the whole range of the gradient magnitudes or are 
>they clamped in some way?

I believe the default is that the VolumePro uses 8 bits for the gradient 
magnitude, and it maps the range of the type of data (if you have 8 bit 
data it would be 0-255, 12 bit would be 0-4095, etc.) to the 8 bits.

>2) How can I provide the VolumePro card with my own gradient magnitude volume?

You can't with VTK.



>As I understand, the vtkVolumeRayCastMapper uses an internal 
>vtkFiniteDifferenceGradientEstimator if the user doesn't provide her own. 
>If no shading is performed, only the gradient magnitude is considered and 
>it has 8 bit precision. The scale and bias are left on their defaults, 1.0 
>and 0.0 respectively, so the gradient magnitudes above 255 are clamped to 
>255. But I have datasets with a larger range gradient magnitudes. How does 
>the vtkVolumeProVP1000Mapper handle this?

For the ray caster you can set the scale and bias to handle the range 
explicitly. For the VolumePro there are no such controls from within VTK. 
You can program directly in vli for this.


>And my second question arose, because I already have to compute the 
>gradient magnitudes of the volume for some other purpose. It would be 
>consistent (and possibly faster) if the VolumePro would use them instead 
>of recomputing them. The 'VolumePro 1000 Principles of Operation' manual 
>says, that you could provide the card with your own gradient information, 
>but I don't know how to do this with VTK. If it would be possible, I also 
>could try some other scheme of gradient computation than central 
>differences as well.

Again, VTK has no support for this. The support for the VolumePro was added 
for the VolumePro 500 board which did not have these features. When support 
was expanded for the VolumePro 1000, only a limited number of new features 
were introduced (such as intermixed geometry) so that the 
vtkVolumeProMapper could continue to be the abstract interface to the 
mapper regardless of the specific board located in the machine.


Lisa







More information about the vtkusers mailing list