[IGSTK-Developers] calibration (followup to David and James'sdiscussion)
Hui Zhang
zhang at isis.imac.georgetown.edu
Fri Dec 2 12:11:11 EST 2005
Hi, David,
I have added some new functions to manually set the calibration matrix:
RequestSetTranslation
RequestSetQuaternion
RequestSetRotationMatrix
RequestSetToolPrinicipalAxis
RequestSetToolPlaneNormal
I am a bit not sure about turning the principal axis and plane normal into
quaternion. The quaternion means a rotation, not an absolute orientation.
Tool principalaxis/planenormal defines an absolute orientation. So I set the
default principalaxis/planenormal to (0,0,1)/(0,1,0), and the quaternion is
the rotation from the input principalaxis/planenormal to the default one. I
have commited the recent code to sandbox, please feel free to check out and
change the code if that mathematic computation is not correct.
Regards,
James
----- Original Message -----
From: "David Gobbi" <dgobbi at atamai.com>
To: "Hui Zhang" <zhang at isis.imac.georgetown.edu>
Cc: "'IGSTK-developers'" <igstk-developers at public.kitware.com>
Sent: Thursday, December 01, 2005 5:36 PM
Subject: Re: [IGSTK-Developers] calibration (followup to David and
James'sdiscussion)
> Yes, I think that the igstkReferenceCalibration should be added to the
> wiki. I'm interested to see what the interface to the class will look
> like.
>
> Hui Zhang wrote:
>
>> Hi,
>>
>> This sounds good, I will put these two functions in the Wiki's class
>> requirement soon. Do we also need add that igstkReferenceCalibration
>> class in the Wiki? That is a general class to calculate the reference
>> transform between the object position/orientation to reference
>> position/orientation, which can also be used for Ziv's proposed routine
>> to get the rotation?
>> Regards,
>> James
>> ----- Original Message ----- From: "David Gobbi" <dgobbi at atamai.com>
>>
>>>
>>> We will need intuitive methods for setting the orientation, because not
>>> many people are familiar enough with quaternions. So there could be two
>>> methods:
>>>
>>> SetToolPrincipalAxis(vx, vy, vz) -- set a vector that points along the
>>> tool axis towards the tool top
>>> SetToolFaceNormal(nx, ny, nz) -- set a vector to define a that "face"
>>> of the tool, this vector must be perpendicular to the tool axis
>>>
>>> The "tool face" is for when you want to use a pointer as a virtual
>>> ultrasound probe, it will define the orientation of the plane that you
>>> want to use as the virtual ultrasound plane. This is only useful for
>>> 6DOF tools, not for 5DOF tools.
>>>
>>> These two vectors can be put together to create the quaternion that is
>>> used as the orientation. The NDI tool architect software does something
>>> very similar to this.
>>>
>>> - David
>>>
>>>
>>
>>
>>
>
>
More information about the IGSTK-Developers
mailing list