Track images using Polhemus Fastrak electromagnetic tracker


We are working on tracking images with Electromagnetic Tracker (Polhemus Fastrak) using PLUS/Slicer. We have position data from the emt and images from ultrasound system:
Q How do we obtain real-time transform matrices from the tracker ?

I referred the link :

But I would like to know how real time position/transform matrix can be obtained.

Thank you!


I am actually quite curious about that system. Can you get coordinates (e.g., as pointLists, or continuous curves) from that device directly into Slicer?

@muratmaga -

Yes, you can add the device to slicer using SlicerIGT and get the coordinate values from the EMT in real-time. These tutorials might be helpful: User tutorial | SlicerIGT

I don’t see Polhemus tracker interface in the source code - PlusLib/src/PlusDataCollection at master · PlusToolkit/PlusLib · GitHub

How did you connect to the Polhemus tracker?
Have you implemented the interface and has not contributed yet to the Plus toolkit?

1 Like

Hello. Sorry to revive this thread…totally new to this. Did you manage to connect the Polhemus tracker to 3d Slicer?

I’m not aware of an OpenIGTLink interface for Polhemus. Since cost of development, testing, optimization, maintenance, and support of a new interface would be higher than the cost of an already supported electromagnetic tracker (such as NDI Aurora or Ascension), probably most people end up buying an already supported tracker instead. Surgical navigation users may also end up choosing NDI instead of Polhemus, because NDI appears to be used in many more clinical products.

If somebody already has several Polhemus tracking systems or wants to use some unique characteristics of these systems then it would worth inplementing an OpenIGTLink interface. Maybe a quick&dirty bridge can be put together in Python, which converts Polhemus VRPN messages (received by some VRPN Python package) to OpenIGTLink messages (sent by pyigtl).

1 Like