[vtkusers] Locating a 3D position in 3D scheme from a XYZ coordinates

Wagner Sales wsales at gmail.com
Tue Sep 2 15:09:01 EDT 2008


Hi Dean,

My point are defined in int XYZ, which Z are my slice, and XY the simple
pixel coordinate. Are no interpolation here. This points are used to
segment, works fine.
Bu I need to show this points on 3D. The only way that's I know until now
are the celllocation by vtkCell::EvaluateLocation. But are crashing, and I
think are thread problem since this method aren't thread safe. I tried with
the thread safe method too, and are not working. Based on your sugestion, I
tried the second option, which appears to be the correct to my case:

    double dummyCoords[3];
    int mCoords[3] = { m_XPosition, m_YPosition, m_ZPosition };
    int ret = m_ImageData->ComputeStructuredCoordinates(viewCordinates,
mCoords, dummyCoords);
    if(ret >0 )
    {
        std::cout << "Point inside. Coords are: " << viewCordinates[0] << ",
" << viewCordinates[1] << ", " << viewCordinates[2] << endl;
    } else {
        std::cout << "Point outside of volume" << endl;
    }

Well, the point are always outside of the volume. dummyCoords ( pcoords
method parameter ) don't needs to be calculated?

Regards,

Wagner Sales
2008/9/1 Dean Inglis <dean.inglis at sympatico.ca>

>  Hi Wagner,
>
>
>
> how are m_XPosition, m_YPosition, m_ZPosition defined?
>
>
>
> Given a 3D double precision 3D spatial point:
>
>
>
> vktIdType id = m_CurrentImageData->FindPoint(xyzCoords)
>
> if(id > -1)
>
> {
>
> //do what you need to do with the point: it's valid!
>
> }
>
>
>
> if you have integer ijk indices:
>
>
>
> double queryPoint[3];
>
> double dummyPcoords[3];
>
> if(m_CurrentImageData->ComputeStructuredCoordinates(queryPoint,myijkindices,dummyPcoords)
> == 1)
>
> {
>
> //the ijk indices refer to a point in the 3D image volume and you have a
> valid 3D point
>
> //otherwise, try with different ijk indices
>
> }
>
>
>
> HTH
>
> Dean
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20080902/f897fedc/attachment.htm>


More information about the vtkusers mailing list