[IGSTK-Developers] Position the CylinerSpatialObject
Julien Jomier
jjomier at cs.unc.edu
Sun Dec 18 13:27:29 EST 2005
Patrick, Luis,
I don't think we really need these functions.
From the current design we have, the ToolCalibrationTransform defines
the location of the tracker w.r.t the local origin of the object and the
PatientTransform defines the location of the patient w.r.t to the tracker.
These two transforms are sufficient to localize the tool in the OR.
For a tool, the only point you care about is the tip of the tool
(correct me if I'm wrong here). So it is just a matter of defining a
common coordinate frame among tools in IGSTK. My first impression is to
always set the tip of the object at (0,0,0) and align the object in the
X axis. I think David suggested the Z axis, but I cannot see any
particular reason for this, David can you tell us more?
Once we have defined the common local frame for the tools, depending on
how the tracker is physically attached to the object, the user can set
the ToolCalibrationTransform to define the exact position of the tracker
w.r.t to the tip of the tool.
Patrick, can you tell me what problem you encounter with the
ToolCalibrationTransform?
BTW, I've implemented a tracker class for the Flock of Birds, David (and
others) you've done a very nice job with the tracker class, it took me
no time to do the basic implementation.
I'm also working on making some ToolSpatialOjbects, if someone has some
blueprints for the NDI tools that would be great.
Thanks,
Julien
Luis Ibanez wrote:
>
> Hi Patrick,
>
> This sounds like a good idea,
>
> but...
>
> Shouldn't this be a method specific for the "NeedleSpatialObject" ?
>
>
> after all,
> the NeedleSpatialObject is the class that will
> have a notion of "EntryPoint" and "TargetPoint".
>
>
> Adding such methods to the Cylinder will be confusing,
> because a cylinder is a generic geometrical shape,
> and it is not designed to be inserted into a patient,
> as needles are.
>
>
>
> Luis
>
>
>
>
> -------------------
> Patrick Cheng wrote:
>
>> Hi all,
>>
>> I am proposing adding a RequestSetTipPoints( PointType &pts ) to the
>> CylinderSpatialObject. The parameters passed by are two points
>> indicates the two ends of the CylinderSpatialObject.
>>
>> Reason:
>>
>> 1. In path planing, we need to place the CylinderSpatialObject by
>> setting entry point and target point. We don't have the Transform
>> here. Actually place the CylinderSpatialObject by fixing it's two ends
>> is more straight forward.
>>
>> 2. When the CylinderSpatialObject is attached to the tracker tool,
>> even if we get the transform and orientation right (We haven't got to
>> that point yet), Then there should be another shift applied to the
>> CylinderSpatialObject to move it's tip to the probe tip. This is very
>> cumbersome, confusing, and erroneous. Why don't we take the transform
>> and the size of CylinderSpatialObject, and internally calculate the
>> points for the two ends (Which is easy to do), and place the
>> CylinderSpatialObject in the right position by pinpointing the two ends?
>>
>> Thank you,
>>
>> Patrick
>>
>> _______________________________________________
>> IGSTK-Developers mailing list
>> IGSTK-Developers at public.kitware.com
>> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
>>
>>
>
> _______________________________________________
> 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