How to register donut-shaped markers

It could be implemented the same way as described for sphere markers here. Details depend on whether the doughnut is fluid-filled (if yes then you need a robust registration algorithm for subpixel accuarcy matching in presence of an air bubble, for example, reslice along the doughnut axis of rotation and fit circles), whether the pivot point is in the center of gravity, etc.

Fiducial registration wizard module can automatically match two unsorted point lists up to 7 or so points, so once you have the point position, the registration should be fully automatic.