[IGSTK-Developers] "Dual sensor tool" + tracker-data-buffering
Frank Lindseth
Frank.Lindseth at sintef.no
Wed Nov 14 02:38:00 EST 2007
Hi Andinet and Patrick,
Some input regarding a topic that have been discussed:
The generic handling of the NDI trackers and tools, especially "Dual
sensor tool".
Geir Arne (our tracking expert) have put together some hopefully
clarifying comments (se below).
A question regarding a topic that have not been discussed (forgotten?):
The buffering of tracking data important for proper synchronization
with real-time image streams.
The need for this buffering is explained before (e.g. several places
in "The book", se below),
and it's difficult to see a better timing for it's introduction then
the current re-factoring?
Regards,
Frank
Generic handling of the NDI trackers and tools, especially "Dual
sensor tool"
------------------------------------------------------
Our design suggestion for the Tracker and TrackerTool classes are
based on the latest NDI documents for
the Polaris and Aurora APIs.
- Polaris Application Program Interface Guide (IL-1070101 Rev.4, May
2007)
- Aurora Application Program Interface Guide (IL-1070114 Rev.1, April
2007)
For handling of tools these APIs have introduced the Port Handle
concept.
"The API no longer supports the concept of tool ports, and instead
assigns each tool a port handle.
Port handles are independant of the physical port numbering. Port
handles provide greater flexibility than
port numbers and replace port numbers and port letters in most
commands."
The port handle is assigned by the system for wired tools or
requested by the application for wireless tools
(API command PHRQ). This makes a consistent handling of the tools
throughout the API whether they are
wired or wireless. The API docs have a flow chart for port handle
usage that details the logic for using
port handles.
Tool information can be requested by the PHINF command for the
specific port handle. This is information
specified in the tool definition file (Manufacturer, Serial number
etc...) and stored in the tools SROM device
or uploaded to the port handle from the application (for wireless
tools). If physical port location is needed
this can also be requested by the PHINF command.
Aurora has a tool type called "Dual sensor tool" consisting of two
5DOF sensors not fixed relative to each other.
In this case two port handles will be assigned by the Aurora system
one for each channel (0 and 1) and
tool transformations will be reported for both sensors. The PHINF
command can be used to get the relation
between port handle and physical port-/channel number.
Our opinion is that the Polaris and Aurora APIs enables us to design
a tracker interface - handling tools
in a generic way whether they are wired/wireless, optical or
electromagnetic. It also enables us to design
applications that don't need to know the physical port connection for
a wired tool.
From the tracker-chapter of "The Book"
-----------------------------------------------------
In a future version of IGSTK, the tracker buffer will store the
position history for each tool, and
it will be possible to determine where a tool was at any time in the
past after the instant when the
tracker began tracking the tools. This feature will make it possible
to replay the positions of the
tools, and more importantly, it will allow for accurate
synchronization of the tool positions with
video data. For example, if every video frame (generated by a planned
“video” component for
IGSTK) has a timestamp, it will be possible to search the tracker
buffer to get the tool positions
that best match the video frame’s timestamp and use those positions
to update the display.
------------------------------
Frank Lindseth
Research Scientist (PhD)
SINTEF Health Research
Dept. Medical Technology
N-7465 Trondheim, Norway
Location: Olav Kyrres gt. 9, 4th floor, Trondheim
E-mail: Frank.Lindseth at sintef.no
Telephone: +47 928 09 372
Telefax: +47 930 70 800
More information about the IGSTK-Developers
mailing list