I think you can do that with good accuracy with the 3D Slicer.
Have a look at SlicerCMF tutorial here.
If it does not work you can do get it to work with the SlicerIGT fiducial registration