PlusToolkit / ndicapi

A common C API for communicating with NDI Polaris and Aurora devices
MIT License
47 stars 31 forks source link

How to calibrate a NDI polaris camera #22

Closed wiersmalab closed 10 months ago

wiersmalab commented 4 years ago

Wish I didn't have to ask this here as it is not directly related to this project, but you guys seem to know these camera's well. Basically, I have noticed a slight error in tracking accuracy of my Polaris Hybrid camera. Referring to NDI documentation they suggest sending it in for recalibration, however, when I contacted NDI, they were no longer willing to support my camera as it is too "old". Paying $17,000 for a new camera is a bit out of my budget.

Any idea on how to recalibrate these cameras?

lassoan commented 4 years ago

What do you mean by slight error? All position trackers have some error. How did you measure it?

I don't know what exactly they do when they "calibrate the camera", but I suspect that you cannot do it yourself (it may involve realigning optical elements with precision instruments, etc.). If you cannot afford to service/buy an NDI tracker, you can buy a cheaper one, such as OptiTrack Duo, which is slightly less accurate than a Polaris but costs only $2300.

wiersmalab commented 4 years ago

I placed my IR tool on a high accuracy (micrometer) stepper motor 3D stage and moved it to several well-known points in space while sampling for 60 frames at each point. Fitting the camera's measured positions to the reference positions showed a slight scaling error for the camera, mainly along the y-axis. This didn't exist a few months ago and may have been caused by the camera being bumped.

Thanks for the info on the OptiTrack! I'll look it up.

lassoan commented 4 years ago

Have you tried placing new reflective balls on your tool? Have you tried to recalibrate your tool?

Accuracy may also depend on how far your measurement setup is from the camera, and on lighting conditions (angle or amount of natural or artificial lights getting into the room has changed, etc.).

wiersmalab commented 4 years ago

I'll give it a try. I was always under the impression that the camera either detected the tool or didn't. That there was a built in error checking method that if markers are not seen or to far from the ROM file specified positions it would not report an output. As these cameras are used for surgical procedures I would expect they would have this for safety reasons.

lassoan commented 4 years ago

There is some room for error, even if you are within the tolerance. You can specify tolerance values in the tool ROM file.

If the markers get scratched or become dirty (it is enough if you touch them a few times they become slightly discolored over time, even if your hand was clean).