[[%content:title%]]
Add new section!
Unknown macro: {link-to} %content:title%
%content:title%
To be added to the documentation
New Feature Details
Changes (from v3.0)
Startup & Initialization File
The startup selection screen is no longer active by default. The file scim_startup.m remains in the ScanImage installation, in the ScanImage\UserTools directory. Its contents can be copied to, or it can be invoked from, the startup.m file for a given Matlab installation (located at <MATLABROOT>\toolbox\local), if desired.
The initialization file supplied in the ScanImage installation (in the init_files folder) is now considered a model and therefor named standard_model.ini. It should not generally be edited directly. Individual users on a rig should copy this file to the same directory where they keep their user configuration (.USR) files. It should be edited to match specifics of their rig and renamed to standard.ini. ScanImage now automatically looks for a file named standard.ini in the same directory where the user file is selected on startup. (If no user file is specified, ScanImage prompts selection of a directory where a standard.ini file can be found; if none is specified, then the installation standard.ini file is used).
There are then two typical arrangements for a rig used by multiple users. In the first case, each user has their own standard.ini file, in their own .USR directory. As an alternative, all users can share a single standard.ini file, provided that all users also share a common .USR file directory.
If multiple .INI files are desired by a single user (not typical), then they should be located in the same directory as the .USR files and not named standard.ini. If no standard.ini file is found after loading a .USR file, ScanImage prompts to select a .INI file in that folder.
A principal advantage of the new scheme is that the configuration file is decoupled from the ScanImage installation. Therefore upgrading ScanImage, as new versions are released, requires simply pointing the path to a new installation folder (and revert by pointing back to a previous folder). The same standard.ini file is employed with each version. Occasionally, upgrades may require additions or changes to the standard.ini file, which will be reflected in the new version's standard_model.ini file. These changes will be clearly documented, to make upgrading/reverting as easy as possible.
Clock Synchronization
The Pockels Cell and mirror output boards are typically not the same. In this case, it is required that the clocks of these boards be synchronized to ensure that flyback blanking remains phase locked with the line scan signal.
In v3.0, this clock synchronization was done by using the RTSI7 terminal (also termed RTSI_OSC) on the RTSI (Real Time Synchronization Interface) available on the National Instruments boards.
In v3.5, synchronization synchronization is now on a terminal specified in the standard.ini file (search for 'outputBoardClockTerminal'). The default is now RTSI6, but can be specified as anything from RTSI<0-6> or PFI<1-9>. Note that RTSI7 is not an option for the clock synchronization terminal at this time. Therefore, RTSI connections made via a pair of wires (as opposed to a RTSI ribbon cable) should be changed from RTSI7 (and its ground) to the selected terminal (and its ground).
Documentation Amendments
The following points were either omitted or unclear in the ScanImage 3.0 documentation.
- The Image Processing toolbox is required for complete ScanImage functionality. Without the toolbox, features (such as ROI/power box) requiring graphical selection of areas, lines, and sites are not supported.
- The mirror and acquisition boards must be the same - this ensures timebase synchronization.
Other Changes/Additions
Naive Pockels Cell Calibration
If no photodiode is associated with a particular Pockels Cell (by leaving the photodiodeInputBoardId# property blank in standard.ini), a naive linear calibration is employed. This allows the power level to be adjusted via the Power Control window (in a nonlinear fashion) and also supports flyback blanking.
Improved handling for multiple Pockels Cells
Three Pockels Cells ('beams') are now supported. The specification of which beams are available in each of FOCUS/GRAB/Snapshot, as determined in the 'Laser Function Panel' GUI, is now saved as a user setting, and no longer as a configuration setting. To turn 'off' individual beams for a particular configuration, set the power to 1% (this will set the power to the minimum value as determined by the calibration, if available).
Modified Servo/Mirror Parameter Names
In the Configuration window (Edit>>Configuration... from MainControls menu), the 'Line Delay' parameter has been renamed to 'Line (Flyback) Delay' and the 'Cusp Delay' parameter has been renamed to 'Cusp (Servo) Delay'. See here. The renamings provide better intuition for what each parameter compensates for.
The 'Line (Flyback) Delay' parameter accounts for the time required for the mirror to catch up with the command signal following a rapid mirror flyback time: rapid flybacks in unidirectional scanning mode typically cause the mirror servo slew rate limit to be exceeded, ultimately requiring extra time for the mirror to "catch up" at the beginning of each line scan.
The 'Cusp (Servo) Delay' parameter refers to the constant lag of the mirror position, relative to the command signal. For the bidirectional scanning case, this is specified as a fraction of the 'ms/Line' value, and can vary as the line speed is varied. For unidirectional scanning, the value is specified in time (in milliseconds).
Additional Fast Configurations
'Safe' Hot Key Option
By selecting the 'Safe Hot Key' option in the User Preferences window (Settings>>Edit>>User Preferences... from MainControls), the application hot keys require the *<*CTL> key to be simultaneously pressed in order to be activated.
ROI Cycler Power Modulation
The ROI Cycler contains a Power field that allows the power level to be specified, as a percentage, for each position in the cycle. In ScanImage 3.0, this modulation applied to the beam specified as the 'scanLaserBeam' in the standard.ini file. Now, the modulation applies to the beam selected in the beam pulldown menu. This control is connected to the main Power Control GUI's beam selection menu.
Bug Fixes
- The 'pixel time' and 'bin factor' parameters now update correctly following changes to the 'Fill Fraction' or 'ms/line' parameters.
- Power Box
- 'Constrain to Line' functionality is actually turned off at startup, matching the startup checkbox setting in the GUI
- Selecting 'Constrain to Line' no longer causes Power Box to 'shift' each time
Appendix A: Standard.ini Additions
This section summarizes new state variables that have been added to ScanImage via the standard.ini file, including both those that are meant to be user/rig-modified and those which should not generally be modified.
Frequently Modified Variables
- state.init.triggerInputTerminal:
- state.init.externalTriggerInputTerminal:
- state.init.externalTriggerTimeout:
- state.init.outputBoardClockTerminal:
- state.init.shutter.shutterBoardIndex: Specifies board index or name (DAQmx) for board on which the DIO line(s) employed for the shutter(s) are located
Infrequently Modified Variables
- state.init.minUnidirectionalLinePeriodGUI: Specifies the smallest of the enumerated ms/line options to support for unidirectional scans. Values of ms/line s smaller (faster) than this are exclusively for bidirectional scanning.
- state.init.maxBufferedGrabTime: Specifies the threshold of time for a Grab acquisition, above which data will be saved during the acquisition, instead of afterwards, where possible.
- state.init.outputChanBufferTime: Specifies in time (seconds) the length of the data buffer for the output channels (mirrors and Pockels Cell(s)). Increasing this time increases the frame rate at which data logging and/or merge display can occur reliably, at some expense of memory. This will be computer dependent.
- state.acq.inputVoltageRange:_Specifies input voltage range to use for PMT input boards. Typically 10V, but lower voltages can allow for more dynamic range. (NOTE:_ This feature not currently supported!)
- state.acq.inputBitDepth: Specifies ADC resolution of PMT input boards -- typically 12 bits
- state.internal.fastParkFOVFactor: Specifies the multipler of the full FOV amplitude to use when parking the beam quickly, e.g. when stopping-and-restarting focus during zoom or rotation update (Default=1.2)
Non-modifiable Variables
Other variables added in ScanImage 3.5, which should not be modified by the user in their own .INI files, are simply listed here.
- state.internal.saveDuringAcquisition
- state.internal.framesPerFileGUI
- state.internal.framesPerFile
- state.internal.triggerTimer
- state.acq.saveDuringAcquisition
- state.acq.framesPerFile
- state.acq.externallyTriggered
- state.acq.infiniteFocus
- state.acq.bidirectionalScan
- state.acq.channelMerge
- state.acq.mergeFocusOnly
- state.init.hotKeysNeedCtl