[vtkusers] lookup tables for vtkSmartVolumeMapper

Mark Roden mmroden at gmail.com
Fri Feb 11 18:24:25 EST 2011


Further investigation shows that the way that opacity is being handled
with these functions is _very_ different.  If I scale opacity back by
a factor of 10, then I start to see some of what I'm expecting.

Will the behavior of the smart renderer be the same, regardless of
hardware?  Should I expect that I will get the same image, even if
it's slower on some machines than others?

On Fri, Feb 11, 2011 at 2:34 PM, Mark Roden <mmroden at gmail.com> wrote:
> Hi all,
>
> I'm trying to move into using the vtkSmartVolumeMapper for rendering
> CT series, and I'm running into some problems.
>
> When I was using the texture mapper 3D mapper, I had these lookup tables:
>
> These tables were applied after shifting the data by +2000 so that the
> data could be in the unsigned short (instead of signed short) space.
>                volumeColor.AddRGBPoint(1000, 0.0, 0.0, 0.0);
>                volumeColor.AddRGBPoint(1400, 1.0, 0.5, 0.3);
>                volumeColor.AddRGBPoint(1800, 1.0, 0.5, 0.3);
>                volumeColor.AddRGBPoint(2200, 1.0, 0.5, 0.3);
>                volumeColor.AddRGBPoint(2450, 1.0, 1.0, 0.9);
>                volumeScalarOpacity.AddPoint(1000, 0.00);
>                volumeScalarOpacity.AddPoint(1400, 0.05);
>                volumeScalarOpacity.AddPoint(2200, 0.15);
>                volumeScalarOpacity.AddPoint(2450, 0.75);//don't want
> it to be too opaque,
>                volumeScalarOpacity.AddPoint(5150, 0.75);//don't want
> it to be too opaque,
>
> for muscle and bone, and
>
>
>                volumeColor.AddRGBPoint(1000, 0.0, 0.0, 0.0);
>                volumeColor.AddRGBPoint(1400, 1.0, 0.5, 0.3);
>                volumeColor.AddRGBPoint(1800, 1.0, 0.5, 0.3);
>                volumeColor.AddRGBPoint(2150, 1.0, 1.0, 0.9);
>                volumeScalarOpacity.AddPoint(1000, 0.00);
>                volumeScalarOpacity.AddPoint(1800, 0.00);
>                volumeScalarOpacity.AddPoint(2400, 0.05);//don't want
> it to be too opaque,
>                volumeScalarOpacity.AddPoint(2450, 0.5);//don't want
> it to be too opaque,
>                volumeScalarOpacity.AddPoint(5150, 0.75);//don't want
> it to be too opaque,
>
> for bone.  Both of those also had
>
>                volumeGradientOpacity.AddPoint(0,   0.0);
>                volumeGradientOpacity.AddPoint(30,  0.05);
>                volumeGradientOpacity.AddPoint(60,  0.05);
>                volumeGradientOpacity.AddPoint(65535, 0.25);
>
> For the gradient opacity.
>
> Why don't the results of these lookup tables look identical?  What is
> going on that requires that I redo all the lookup tables?  Shouldn't
> the results look identical, regardless of the rendering method used,
> especially if the inputs and LUTs are the same?
>
> Thanks,
> Mark
>



More information about the vtkusers mailing list