Multiple users of the scope may be running projects that require different types of objectives. How to keep a spatial calibration for each and switch between them when necessary?
Scanbox now includes an “objective” configuration variable — a cell array of strings each with the name of a different objective. Right now I have:
% objective list sbconfig.objectives = {'Nikon 16x','Nikon 25x'};
Now, within the Knobby panel you will see a pull down list containing the objective names:
Select the desired objective before performing a calibration. Once the calibration is finished it will be saved. If a calibration is not present for a given objective the calibration button will read “No Calibration” and the mouse control will be disabled. If you change the objective, simply select the corresponding entry in the pull down list to apply the new calibration (no need to restart Scanbox).
When collecting data the info structure will include the objective name and calibration data:
info = struct with fields: resfreq: 7930 postTriggerSamples: 5000 recordsPerBuffer: 512 bytesPerBuffer: 10240000 channels: 2 ballmotion: [] abort_bit: 0 scanbox_version: 2 scanmode: 1 config: [1×1 struct] sz: [512 796] otwave: [] otwave_um: [] otparam: [] otwavestyle: 1 volscan: 0 power_depth_link: 0 opto2pow: [] area_line: 1 calibration: [1×13 struct] objective: 'Nikon 25x' messages: {} usernotes: ''