[vtkusers] Distance between 2 points in millimeters (mm)
Dominique Töpfer
dominique at toepfer-web.de
Thu Aug 9 14:16:34 EDT 2012
Please keep the discussion on the list.
vtkDistanceWidget with the default representation also uses
sqrt(vtkMath::Distance2BetweenPoints(p1,p2)). Did you check your points
coordinates? Can you provide the rest of your code?
On 09.08.2012 19:48, Concetta Piazzese wrote:
> Yeah, I considered that. But I still got wrong numbers. When the user
> places a seed, the vtkSeedCallback stores the point world position
> (this->SeedRepresentation->GetSeedWorldPosition(i, pos);). Do you know
> how vtkDistanceWidget computes distance in millimeters?
>
> ------------------------------------------------------------------------
> Date: Thu, 9 Aug 2012 19:25:48 +0200
> From: dominique at toepfer-web.de
> To: aliens30586 at hotmail.it; vtkusers at vtk.org
> Subject: Re: [vtkusers] Distance between 2 points in millimeters (mm)
>
> I agree, the loop should work now. But then the error seems to be in
> Seed(). Is it possible, that the order of points provided by the user
> is different from the order in your vtkPoints object? Did you consider
> the image spacing?
>
> On 09.08.2012 18:52, Concetta Piazzese wrote:
>
> You're right but the problem isn't fixed. I still got wrong
> distances. The loop was wrong but I think the problem is not in
> the loop. Now the loop is:
> for (int i=0; i<num; i++)
> {
> points->GetPoint(i,punto);
> points->GetPoint(i+1,punto2);
>
> double squaredDistance;
> double dist;
>
> // Distance
> squaredDistance = vtkMath::Distance2BetweenPoints(punto, punto2);
> dist=sqrt(squaredDistance);
>
> std::cout << "Distance " << dist << std::endl;
>
> }
>
> ------------------------------------------------------------------------
> Date: Thu, 9 Aug 2012 18:47:08 +0200
> From: dominique at toepfer-web.de <mailto:dominique at toepfer-web.de>
> To: aliens30586 at hotmail.it <mailto:aliens30586 at hotmail.it>
> CC: vtkusers at vtk.org <mailto:vtkusers at vtk.org>
> Subject: Re: [vtkusers] Distance between 2 points in millimeters (mm)
>
> Hi,
>
> I think these lines in the for-loop are wrong:
>
> points->GetPoint(num-1,punto);
> points->GetPoint(num,punto2);
>
> You seem to calculate the distance between the same two points in
> every iteration. You need to use i instead of num here.
>
> Regards,
> Dominique
>
>
> On 09.08.2012 18:34, Concetta Piazzese wrote:
>
> Hy everyone. I hope somebody can help me!
> I need to find the distance between 2 points in millimeters
> like the vtkDistanceWidget does. An user places 10 points and
> then the program compute the distances. The problem is that I
> have an array of vtkPoints and I can't use vtkDistanceWidget
> to find the distances. How I can find the distance? The points
> positions are inglobal coordinate values. The distance I got
> are totally wrong. Here is my code:
>
> int main(int argc, char *argv[])
> {
> reader->SetFileName("C:/Tesi/DistanceBetween2Points_build/Debug/Data/Plaque_08.mhd");
> reader->Update();
>
> imgconn=reader->GetOutput();
>
> //Points Placement with vtkSeedWidget. Poins are stored in
> a vtkPoints called "points"
> Seed();
>
> double punto[3];
> double punto2[3];
>
> int num=points->GetNumberOfPoints();
>
> for (int i=0; i<num; i++)
> {
> points->GetPoint(num-1,punto);
> points->GetPoint(num,punto2);
>
> double squaredDistance;
> double dist;
>
> // Distance
> squaredDistance = vtkMath::Distance2BetweenPoints(punto,
> punto2);
> dist=sqrt(squaredDistance);
>
> std::cout << "Distance " << dist << std::endl;
>
> }
>
> return EXIT_SUCCESS;
> }
>
> What's the problem? vtkDistanceWidget computes distances using
> vtkMath::Distance2BetweenPoints. So what am I doing wrong?
> Thank you!
>
>
> _______________________________________________
> Powered bywww.kitware.com <http://www.kitware.com>
>
> Visit other Kitware open-source projects athttp://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
>
>
> --
> Dominique Töpfer, Dipl.-Inform.
> Institute of Medical Physics
> University of Erlangen
>
>
>
> --
> Dominique Töpfer, Dipl.-Inform.
> Institute of Medical Physics
> University of Erlangen
--
Dominique Töpfer, Dipl.-Inform.
Institute of Medical Physics
University of Erlangen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20120809/61ad238f/attachment.htm>
More information about the vtkusers
mailing list