Ok, that was interesting! Paul Carpenter was right- there was a silly bit of code in the multi-point beam scan calibration. Once I got that fixed...
So I spent an hour or so acquiring two stage scan BSE images and several beam scan images in order to test the new three point beam scan calibration code in CalcImage and it appears to work very well. Here's the procedure I used:
1. I acquired a 512 x 512 um stage scan and a 256 x 256 um stage scan (for better accuracy for high mag calibrations) centered on an area
in Probe Image (you'll want to have some dirt or debris in the field of view for use as fiducial reference points!). These are the "reference" images because we assume our instrument stage is orthogonal!
2. Then I acquired a number of beam scan images in PFE without scan rotation. For this simply set the scan rotation on your instrument to zero and then check this box here to *not* send scan rotation commands to the instrument as described in the post above:
http://probesoftware.com/smf/index.php?topic=396.msg2505#msg25053. I acquired a range of mags from low mag 334x (one could go lower), to a fairly high mag 1335x (one could go higher). Be sure to name the images with the mag you acquired them with so you won't get mixed up. CalcImage will read the mag and scan rotation in the .acq (or PrbImg) files, but it helps to have the mags in the file name on disk.
4. Then I loaded one of the stage scan images and one of the beam scan images into the Processing | Calibrate Beam Scan From Stage Scan menu window in CalcImage. Note that the left image is always the stage scan and the right window is always the beam scan. Then using the Fiducial buttons, specify three reference points in both images that coincide exactly and then press the Calibrate button.
Just to see that the code all works in any order, I then mulched the calibrations around in the Probewin.ini file so I had both increasing and decreasing order and also a random mix as seen here:
; Single calibration
;ImageInterfaceCalNumberOfBeamCalibrations=1
;ImageInterfaceCalKeV="15.0" ; image calibration keV
;ImageInterfaceCalMag="400.0" ; image calibration mag
;ImageInterfaceCalXMicrons="943" ; SX100 Video X calibration in um (01-18-2011)
;ImageInterfaceCalYMicrons="714" ; SX100 Video Y calibration in um (01-18-2011)
;ImageInterfaceCalScanRotation="9.0" ; SX100 scan rotation calibration
; Multiple calibration (increasing mag)
ImageInterfaceCalNumberOfBeamCalibrations="5"
ImageInterfaceCalKeV="15,15,15,15,15"
ImageInterfaceCalMag="334,405,571,758,1335"
ImageInterfaceCalXMicrons="1118.2,926.9,659.7,498.7,282."
ImageInterfaceCalYMicrons="848.4,705.2,504.1,376.3,207.0"
ImageInterfaceCalScanRotation="8.7,8.8,8.9,9.1,9.3"
; Multiple calibration (decreasing mag)
;ImageInterfaceCalNumberOfBeamCalibrations="5"
;ImageInterfaceCalKeV="15,15,15,15,15"
;ImageInterfaceCalMag="1335,758,571,405,334"
;ImageInterfaceCalXMicrons="282.5,498.7,659.7,926.9,1118.2"
;ImageInterfaceCalYMicrons="207.0,376.3,504.1,705.2,848.4"
;ImageInterfaceCalScanRotation="9.3,9.1,8.9,8.8,8.7"
; Multiple calibration (random mag)
;ImageInterfaceCalNumberOfBeamCalibrations="5"
;ImageInterfaceCalKeV="15,15,15,15,15"
;ImageInterfaceCalMag="571,334,405,758,1335"
;ImageInterfaceCalXMicrons="659.7,1118.2,926.9,498.7,282.5"
;ImageInterfaceCalYMicrons="504.1,848.4,705.2,376.3,207.0"
;ImageInterfaceCalScanRotation="8.9,8.7,8.8,9.1,9.3"
Note that the semi-colon indicates a comment, so these lines are ignored by the software. It all seems to work great! Use the DebugMode menu to see the gritty details of the calibration calculations. Thanks to Paul Carpenter for testing this. I updated the code in both v. 10.9.9 and 11.0.3.
john