[IGSTK-Users] Tip and Origin Translation Coordinates

Patrick Cheng cheng at isis.georgetown.edu
Thu Jan 21 13:20:13 EST 2010


Hi Fauze,

...When we "rotate" the tool around it's own axis without any tip and 
origin translations...

When you say "rotate", do you mean "Pivot"? If that the case, then you 
probably didn't set the "calibration transform" right.

If you just "rotate" your needle, the object being displayed should not 
move at all, even without proper "tip calibration (translational)", 
because we only have 5 degree-of-freedom sensor. If it does move, it 
means the sensor's principle axis is not aligned with your needle's 
principle axis, then you need to do a "principle axis calibration 
(orthogonal axis swap)" or "rotational calibration (non-orthogonal)".

Patrick

On 1/21/2010 1:07 PM, Fauze Polpeta wrote:
> Dear Patrick;
>
> After applying the registration transform to a tool (consider the NDI
> Vicra Standard Probe - 8700340) and start the navigation, we've noticed
> a strange behavior in our 2D tool representation, which, in turn, is a
> line drawn in three OpengGL contexts (MPR). When we rotate the tool
> around it's own axis without any tip and origin translations, we faced
> that the origin is being shifted as it was being translated, but it's not.
>
> In order to draw the line that represents the tool we use the
> tipTransform (obtained on each track event) and the (inverse)
> calibration transform (see code below). Thus, with tip and origin
> translations in hands the line can be drawn. At a first glance I thought
> this was caused by a high registration error, but it's not, even with
>   such error below 3.0 this scenario remains. Is this caused by the way
> we are getting the origin's coordinates back? Should we rely on the
> rotation instead of origin translation?
>
> Thanks in advance for any suggestion.
>
> Regards
>
> Fauze
>
>
> ----
>
> INPUT: tipTransform and calibrationTransform
>
> igstk::Transform inverseCalibrationTransform
> = calibrationTransform.GetInverse();
> igstk::Transform originTransform = igstk::Transform::TransformCompose(
> tipTransform, inverseCalibrationTransform );
> igstk::Transform::VectorType tipTranslation = tipTransform.GetTranslation();
> igstk::Transform::VectorType originTranslation =
> originTransform.GetTranslation();
>
> OUTPUT: tipTranslation and originTranslation
>
>



More information about the IGSTK-Users mailing list