[IGSTK-Developers] Bug in igstkTracker with calibration transform

David Gobbi dgobbi at atamai.com
Mon Dec 19 19:26:13 EST 2005


Hi Julien,

I think that the tool calibration transform code is correct the way it 
is, but note that the
way the code is written, the tool calibration transform goes from the 
"calibrated tool"
coordinate system to the "raw tool" coordinate system.  This might be 
the opposite of
what you expect.

There is a very good reason for having the calibration transform go in 
this direction.
You know how an igstkTransform defines a rotation followed by a 
translation? 
Since the tool tip is at (0,0,0) in the "calibrated" coord system, our 
"calibration transform"
applies a rotation about the tool tip, which is at (0,0,0) in the 
calibrated coord system,
followed by a translation to the "raw" tool tip location.

This means that even if the rotation portion of the calibration 
transformation is incorrect,
the "tool tip" portion of the calibration will still give the correct 
tool tip location, since the
rotation part of the calibration occurs around the tool tip position.  
If the calibration
transform was the other way around, then we would not get this nice 
independence of
translation from rotation.

If you already had your calibration transformation going in this 
direction, email me and I
will take a close look at the code to make sure that there is no bug.

 - David


Julien Jomier wrote:

> Hello,
>
> There is an important bug in the igstkTracker class preventing any 
> calibration matrix to be applied correctly.
>
> The problem is in the UpdateStatusSuccessProcessing() function.
>
> The calibration transform should be applied first (rotation variable) 
> and then the transform from the tracker (transform variable).
> However the code is as follow:
>
> rotation *= transform.GetRotation();
>
> whis is in the wrong order and should be:
>
> rotation = transform.GetRotation()*rotation;
>
> Let me know if I should fix it, or if someone else is currently on the 
> igstkTracker class right now or if I'm missing something...
>
> Julien
> _______________________________________________
> IGSTK-Developers mailing list
> IGSTK-Developers at public.kitware.com
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
>




More information about the IGSTK-Developers mailing list