[IGSTK-Users] Build a custom tracker in IGSTK
Patrick Cheng
cheng at isis.georgetown.edu
Mon May 17 13:23:50 EDT 2010
Hi Charmara Jayalath,
The TrackerController class is just an integrated configuration class.
It reads XML setting files, instantiates specific Tracker class,
establishes communications, and provides generic tracker tool handles.
It provides a uniform interface, through which you can write a tracker
independent application.
What you need to do is:
1. Create a new tracker class. You can make a copy and rename the
igstkMicronTracker class, which is similar to the tracker you developed.
2. Rewrite some of the internal methods, following this guide:
http://public.kitware.com/IGSTKWIKI/index.php/How_to_extend_tracker_support
3. You can compile your own Tracker controlling module into a library,
and link to that library.
4. Last stage is to test your tracker in the Navigator application. If
you want to skip the tracker controller class, you can try to test your
code in the NeedleBiopsy application.
Hopes this will help you get started.
Patrick
On 5/16/2010 9:57 PM, chamara jayalath wrote:
> Thank you for the reply and I will tell you what we are doing in more
> detail.
>
> Our project is to develop an intra-operative navigator equipment that
> can be used for nuro surgery. For this purpose we are building our own
> optical tracking system -using stereo vision techniques- and we want to
> use this with IGSTK navigator application. Now we can acquire the
> coordinates of the reference and surgical tool in a different thread in
> C++ which is developed with the use of OpenCV and our objective is to
> use these tow coordinates to register and tack the surgical seen. As we
> have only two weeks to the 1st demonstration of the project we need some
> quick help very badly. The most important thing to note here is that we
> are communicating with the cameras in OpenCV. According to our
> understanding the tracker independent development procedure used with
> the "Navigator" application should allow us to make use of our tracking
> system with the "tracker controller" class.
>
> We have some major problems which are listed below,
>
> 1. How can we wrap our own tracker software with the IGSTK tracker
> class. ( We use software to find the positions of the tools relative to
> the cameras, which is not the case in most of the commercial position
> sensing equipments.
> We handle our own communication and the final out put of the code is the
> 3D coordinates of the two tools.)
>
> 2. How to combine our tracker class (once we come up with a IGSTK
> wrapped tracker class for the previous matter) to the navigator
> application via the tracker controller.
> Since our application is highly specific we want to get rid of most of
> the redundancies in the "tracker controller" and "tracker configuration"
> classes.
>
> 3. And also we feel that we can just eliminate the Tracker Configuration
> part and proceed to do the registration and transformation and then the
> tracking in Navigator.cxx class itself. But we can't predict the
> accuracy and reliability at the run time.
>
> Above are the reasons that we are expecting a help from you as this is
> very critical application.
>
> We find the IGSTK class library very helpful in our project but we have
> to mention that the technical documentation is highly inadequate
> regarding our application. We would be thankful to you if you can give
> us what ever the assistance you can at your earliest convenience since
> we have only 3 months duration.
>
> And to mention we are newbies to the IGSTK and the C++ knowledge is good
> but not to the expert level and this is the first time that we are doing
> a software implementation of this scale even though we have done average
> software implementation.
>
> We are using GigE cameras and if it is easy to communicate, rectify, get
> coordinates from the cameras in the IGSTK workspace than using openCV
> and then use the coordinate extracted form that in IGSTK please explain
> us how to do this.
More information about the IGSTK-Users
mailing list