[IGSTK-Users] Tool positions or Tools Translations?

Ziv Yaniv zivy at isis.imac.georgetown.edu
Mon Jun 29 10:17:09 EDT 2009


Hi Eric,

Which tracking system are you using?

Currently, IGSTK does not support tracking of single markers 
(MicronTracker's XPoint or NDI's reflective spheres). All tracked 
objects consist of at least three points, with IGSTK sending the 
relevant API commands to the tracker based on the assumption that we are 
tracking a frame (coordinate system).

              regards
                 Ziv


-- 
Ziv Yaniv, PhD., Research Assistant Professor
Imaging Science and Information Systems (ISIS) Center
Department of Radiology
Georgetown University Medical Center
2115 Wisconsin Avenue, Suite 603
Washington, DC, 20007,

Phone: +1-202-687-7286
Fax: +1-202-784-3479
email: zivy at isis.georgetown.edu
web: http://isiswiki.georgetown.edu/zivy/


Eric L. B. wrote:
>  
>  
> Hi all.
>  
> I'm working in a project where I need to know the positions in 3D of 
> each marker (reflective sphere) of a passive tool.
> I have some problems with this.
> The tool is intented to be referenced to a static tool (the reference 
> tool provided with the tracking system).
> The problem is that when I try to get the transformations of each 
> marker, there is no consistent data.
>  
> My design tool have three spheres(ellipses), like this:
> /////////////Desing Tool03
> translation[0] = 0;
> translation[1] = 0;
> translation[2] = 0;
> rotation.Set( 0.0, 0.0, 0.0, 1.0 );
> transform.SetTranslationAndRotation(translation, rotation, errorValue, 
> validityTimeInMilliseconds );
> Tool03Ellip1->RequestSetTransformAndParent( transform, Tool03 );
>  
> translation[0] = 50;
> transform.SetTranslationAndRotation(translation, rotation, errorValue, 
> validityTimeInMilliseconds );
> Tool03Ellip2->RequestSetTransformAndParent( transform, Tool03 );
>  
> translation[0] = 32.07;
> translation[1] = 58.83;
> transform.SetTranslationAndRotation(translation, rotation, errorValue, 
> validityTimeInMilliseconds );
> Tool03Ellip3->RequestSetTransformAndParent( transform, Tool03 );
>  
>  
> I set some observers to each ellipse:
> T3Ellip1Observer = ObserverType::New();
> T3Ellip1Observer->ObserveTransformEventsFrom( Tool03Ellip1 );
> T3Ellip2Observer = ObserverType::New();
> T3Ellip2Observer->ObserveTransformEventsFrom( Tool03Ellip2 );
> T3Ellip3Observer = ObserverType::New();
> T3Ellip3Observer->ObserveTransformEventsFrom( Tool03Ellip3 );
>  
> And I get the transformations:
> TT3Ellip01=T3Ellip1Observer->GetTransform();
> translation=TT3Ellip01.GetTranslation();
> T3RotE1=TT3Ellip01.GetRotation();
> ///...  for  each ellipse
>  
> With the transformations data I try to apply the rotation and 
> translation to each position marker taked from origin of coordinate 
> system (reference tool), but the positions that i get seems to be incorrect.
> Then, I decided to take directly the translation as the position, with 
> no rotation, and the result were better, but with positions not aligned 
> to the coordinated system (rotated). If i apply the rotation to each 
> marker, the result is again bad.
>  
> I undesrtand that to get the transformations referenced to the static 
> tool need to apply:
> T= (Mreg) (Tref^-1) (Traw) (Mcal)     ... (IGSTK The book for release 
> 2.0, Chap 8.2.5 Coordinate Transformations, pp 105)
> In this case, there is no Mreg and Mcal. When i try to get the 
> referenced transformation of the ellispes, i use this code:
> TAbs01=TAbs01.TransformCompose(TRef.GetInverse(),TT3Ellip01);  //...  
> for  each ellipse
> But the data is incorrect.
>  
> I plot the data with matlab to emulate the movement of the tool, thats 
> why i can see the incorrect transformations.
> Considering all this long process :s my question is How can i get the 
> three marker positions??? What i need to do with the rotations???
> There is something that i'm doing bad?? Some idea????
> Please, I hope someone can help me.
>  
> Thanks.
>  
>  
> Eric LB
>  
>  
>  
> 
> ------------------------------------------------------------------------
> Estás a un clic para ganar premios con Windows Live 
> <http://www.actualizatuperfil.com.mx/>
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> 
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users





More information about the IGSTK-Users mailing list