[IGSTK-Users] Tip and Origin Translation Coordinates

Patrick Cheng cheng at isis.georgetown.edu
Thu Jan 21 17:01:40 EST 2010


Hi Jake,

There is a pivot calibration class and example in IGSTK 4.2.

Please refer to "Chapter 16 Calibration" of the IGSTK book, 2nd edition, 
page 225.

Patrick

On 1/21/2010 3:52 PM, Jake McIvor wrote:
> Hello Fauze,
>
> Are you using the standard .rom file for your pointer tool?  Based on
> the Vicra Tool Guide I have seen (2006 version), the tool coordinate
> system is defined at the center of 'Marker A', or the marker closest
> to the tip of the tool.  It is offset from the mechanical axis of the
> pointer shaft.
>
> If you are rotating about the mechanical axis of the pointer shaft,
> then the origin of the tool should be moving in a circle.  Could this
> be the source of the movement?
>
>
> Patrick:
> I remember coming across a mention of an IGSTK rotational calibration
> class some time ago.  Is this still in development?
>
>
> Cheers,
> Jake
>
> --
> Jake McIvor
> MASc Candidate, Biomedical Engineering
> University of British Columbia
>
> On Thu, Jan 21, 2010 at 10:20 AM, Patrick Cheng
> <cheng at isis.georgetown.edu>  wrote:
>> 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
>>>
>>>
>> _______________________________________________
>> 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