[vtkusers] visualizing polydata scalars from vtkCurvatures with vtklookuptable.

Liam Kurmos quantum.leaf at gmail.com
Wed Aug 17 06:10:26 EDT 2011


i'm putting some volume data through a vtkContourFilter ->
vtkCurvatures and want to visualize the resulting scalars.

when i use vtklookup table to do this i find i get very coarse output
in terms of the number of colour values. After i increase the number
of colours above ~8 i dont notice any difference in the output image.
see the attached image. Apart from the odd green/yellow triangle
almost all are the same strong red/blue. generally red where there is
negative curvature and blue on positive but no inbetween colours.

I looked into the scalar data directly:

        <DataArray type="Float64" Name="Gauss_Curvature"
format="ascii" RangeMin="-1234133.1132" RangeMax="30386706633">

eg. 54.825778917 51.318575186 26.893618816 -8.411519227 -14.567928412
5.0874189973
          -16.836947761 -5.6020612956 33.866948784 22.691176615
-9.880104764 -13.407796842
          4.4107221019 -16.761352603 0.40591292822 -3.4205102951
26.114937141 43.899964017
          -15.987917922 2.2293773588 -0.50755389311 -0.031377071296
-0.82506254505 -0.26515309413
          -0.21935404476 1.6687913041 -16.931996948 22.683419601
-1.4113088354 4.2161090128
78881.237047 132722.71915 149811.8483 -236.58958393 1184.2147238
-546.34147028 ....

        </DataArray>

I wonder if the large range in the curvatures is what is causing the
problem RangeMin="-1234133.1132" RangeMax="30386706633" when very few
values are close to the maximum.
but i dont know what i can do to fix this, i have setRange to the full
extent or a subset but it has no effect. Does this suggest something
im doing is making my setRange() ignored? if I query the range after
build it is still as set.

my lookup table looks like:

 vtkLookupTable* lut=vtkLookupTable::New();
	lut->SetHueRange(0,0.6);		//Red to Blue
	lut->SetAlphaRange(1,1);
	lut->SetValueRange(1,1.0);
	lut->SetSaturationRange(1.0,1.0);
	lut->SetNumberOfTableValues(1024000); //
	lut->SetRange(-1000,1000);//altering range appear not to effect output
	lut->Build();

can anyone suggest where i am going wrong?

Liam
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PosNegCurveRegions.png
Type: image/png
Size: 19203 bytes
Desc: not available
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20110817/594209d5/attachment.png>


More information about the vtkusers mailing list