[vtkusers] Scaling with VtkTransform and VtkLookupTable
Schober Beatrix [STEMMER IMAGING GmbH]
b.schober at stemmer-imaging.de
Fri Feb 17 09:31:14 EST 2017
Hi David,
I do have x, y and z values (e.g. as txt file or as a grayscale image):
vtkPoints = vtkSmartPointer<vtkPoints>::New();
vtkCells = vtkSmartPointer<vtkCellArray>::New();
vtkDepths = vtkSmartPointer<vtkDoubleArray>::New();
void addPoint(double x, double y, double z)
{
vtkIdType id = vtkPoints->InsertNextPoint(x, y, z);
vtkDepths->InsertNextValue(z);
vtkCells->InsertNextCell(1);
vtkCells->InsertCellPoint(id);
vtkCells->Modified();
vtkPoints->Modified();
vtkDepths->Modified();
}
vtkDepths->SetName("DepthArray");
vtkPolyData->SetPoints(m_vtkPoints);
vtkPolyData->SetVerts(m_vtkCells);
vtkPolyData->GetPointData()->SetScalars(m_vtkDepths);
vtkPolyData->GetPointData()->SetActiveScalars("DepthArray");
Regards,
Bea
Von: David Gobbi [mailto:david.gobbi at gmail.com]
Gesendet: Freitag, 17. Februar 2017 14:57
An: Schober Beatrix [STEMMER IMAGING GmbH] <b.schober at stemmer-imaging.de>
Cc: vtkusers at vtk.org
Betreff: Re: [vtkusers] Scaling with VtkTransform and VtkLookupTable
Hi Bea,
There is something missing from your explanation: how are you setting the scalars for your points? The lookup table maps scalars to colors, and scalars are not changed by vtkTransformFilter.
- David
On Fri, Feb 17, 2017 at 12:50 AM, Schober Beatrix [STEMMER IMAGING GmbH] <b.schober at stemmer-imaging.de<mailto:b.schober at stemmer-imaging.de>> wrote:
Good morning!
I am a bit confused about following behaviour. I tried to find an answer / solution, but spent already more than a day with that. Maybe the behaviour is correct, I just misunderstand it?
I have a point cloud (VtkPolyData), using a VtkTransform Filter to scale the z-values. As I want the points to be displayed colored, I use the vtkLookupTable as well as the ScalarBarWidget to display the lookup table.
Before scaling my z-range is 98 – 255, after scaling (2*) the range is 196 – 510.
If I do not change the VtkLookupTable’s table range (it is still 98 – 255), the colors are mapped correctly from 196 to 510. If I change the table range to 196 – 510 and the mapper’s scalar range to 196 – 510, in order to get a correct valued ScalarBarWidget (range 196 – 510), only colors from 196 to 255 are mapped, everything else not. (The picker shows the correctly scaled point data.)
My questions: Why is the mapping wrong if I update the scalar range / lookup table range? How can I achieve a correctly scaled ScalarBarWidget (196 – 510)?
Thank you very much in advance for your support!
Bea
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20170217/0829ef6e/attachment.html>
More information about the vtkusers
mailing list