[vtkusers] vtkPicker returned actor

David Gobbi david.gobbi at gmail.com
Tue Feb 23 19:55:32 EST 2016

If you want to interrogate your data, then the vtkCellPicker is the way to
It provides tons of information about the pick point, such as:

The (x,y,z) pick coordinate in world coords and in data coords (use the
GetMapperPosition() to get the point in data coords).

The PointId, CellId, and SubId, and PCoords for any data set that was

For images, it provides the CellIJK indices and the PointIJK indices (you
the latter if you want to know what voxel was picked).  This works
of whether you render the image as slices, or as a volume rendering, or if
image is a texture on a vtkPolyData.

It even has a method called GetDataSet() so that you can directly get the
image data that was picked (you'll have to use vtkImageData::SafeDownCast()
to verify that the data is actually image data).

 - David

On Tue, Feb 23, 2016 at 5:37 PM, Lonni Besançon <lonni.besancon at gmail.com>

> While reading your answer I was about to ask about speed and performance of
> both but you actually gave me the answer in the end :).
> One more quick question about the pickers then. So my vtkPlane is actually
> a
> slice of a bigger dataset (imageReslice). My question is, with the help of
> the pickers, is it possible to go from my screen coordinates to my dataset
> coordinates? For instance if I wanted to get on which point X,Y,Z my finger
> is placed when I'm touching the slice?
> Thanks again for the additional information and the initial help you have
> provided.
> Lonni
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160223/2066c4e4/attachment.html>

More information about the vtkusers mailing list