Real-time tracking with Vicon

I want to develop an extension that aim to acquire in real time the position of some markers and visualize them on a MRI, this is in order to track the position of an electrode inside the brain during a brain surgery.
Actually I used the Vicon system to acquire the positions of the markers and saved them in a .txt file.
My question is, how can i read in real time the .txt file and visualize the updated position on the MRI?
Thanks for your helping.

Most of these features (and many more) are readily available in SlicerIGT extension and Plus toolkit. You can track sensors, reconstruct paths real-time and show it in Slicer.

You can use a wide range of electromagnetic and optical trackers (NDI, OptiTrack, Claron, NDI, Ascension, etc.). We currently don’t support Vicon systems, as they are very expensive and for surgical tool tracking there are much better alternatives. For example, OptiTrack Duo cameras provide very good tracking (comparable to NDI Polaris medical device grade trackers), good software, great flexibility of markers (you can use not just spheres but reflective disks on 3D-printable frames) for $3000. If you must use Vicon then you could implement a VRPN interface in Plus toolkit - if you choose to do this, then let us know and we’ll help you to get started.

Let us know if you have more specific questions. Slicer has large navigation and image-guided therapy community with lots of experience in these topics.

Maybe you can use openigtlink in c/s mode or develop a module to read the file and update the transformation node!

Thanks for the reply.
I don’t aim to implement a virtual reality interface, because i don’t have the equipment and the Vicon system is only what the lab offers to me. However thanks for the support.
Do you think that it’s possible to directly aquire in real time, by SlicerIGT or Plus toolkit, the data from the Vicon system using the client/server mode?

Thanks for the reply.
Do you think that is possibile to read the file while it is updated by the vicon in real time?

As far as I know, for real-time tracking data transfer Vicon supports VRPN protocol and maybe has its own proprietary communication protocol, too. Slicer understands OpenIGTLink protocol. So you need to convert between these two protocols. PlusServer application in Plus toolkit can do protocol conversion for many devices, so it would not be too difficult to add conversion from VRPN or Vicon’s own protocol. Or you can develop a converter on your own, which receives messages from Vicon and sends them to Slicer using OpenIGTLink.

1 Like