ScanImage 3.8 is a major upgrade adding several new features and several unser interface enhancements. Notably, Cycle mode operation, previously only available in r3.5.x, has been restored and revamped.
Existing ScanImage users (of versions 3.5-3.7) should see the upgrade notes .
Major Enhancements
- Cycle mode has been restored, using new table-based Cycle Controls to specify changes (motor steps, CFG file loads, and/or other settings) to apply at each Cycle iteration
- Operation under 64-bit Windows 7
- A 'Mosaic' macro allows configuration of Cycle for acquisition at multiple, tiled fields-of-view
- Point/Line/Rectangle/Square ROIs all now treated via unified ROI concept, managed in the new ROI Controls dialog
- Extended support for User Functions, including USR file bindings and configurable 'override functions'
- Support for a display rolling average, independent of any file frame averaging
Other Enhancements
- Support stack acquisitions centered at the current axial position
- Support for separated XY & Z motor controllers
- Support for secondary Z motor controller, e.g. case of XYZ stage plus additional piezo controller
- Support for Physik Instrumente stage controllers, for standard stack acquisition
- Sub-unity zoom factor values are permitted, in relation to new ScanAngularRangeReference values defined in INI file
- PMT Offset values can now be auto-subtracted from displayed/stored image data, per channel (set in Image Controls or Channels panels)
- Support for fast scanning, e.g. with AODs or small-angle galvos:
- Line periods of 0.125 and 0.25 ms/line
- Fill fraction range extended from 0.5 to 0.975
- Output sample rates up to 800kHz
- Faster CFG file loading
- Faster Fast Configuration switching
- New scim_pointLaser() utility function
- Option to park scanner between stack slices (e.g. useful when no/insufficient Pockels blanking present)
- Improvements to scim_openTif():
- Support MPEG video creation
- Much faster read times, now using Matlab TIF object instead of imread()
Changes
- The Acquisition Controls dialog has been eliminated, with the various controls (# Frames, Repeat Period, etc) redistributed to the (significantly redesigned) Main Controls, Motor Controls, Image Controls, and Configuration dialogs
- The ROI addition/selection tools on the Main Controls have been significantly changed, with much of this functionality now shared with the newly added ROI Controls dialog
- The motor position controls, e.g. to define/goto/save/load motor positions, have been moved from the Motor Controls to the new Position Controls dialog
- The Scan Angular Rangevalues (fast & slow) have been replaced by the combination of:
- ScanAngularRangeReference values (fast & slow), specified in the INI file, and
- ScanAngleMultiplier values (fast & slow), specified as part of the Configuration on the Main Controls dialog
- The externalTriggerInputTerminals no longer need to be specified in the INI file; PFI numbers can simply be entered in Triggers... dialog
- The Channels dialog is no longer modal – any changes take effect immediately
- Figure size no longer changes upon change in aspect ratio (e.g. rectangular ROIs); rectangular area is simply shown in existing (typ. square) figure window
- PMT Offset values are now per-sample, not per-pixel, so value does not depend on configured bin factor, etc.
Upgrade Notes
As always, please note the Windows, Matlab, NI compatibility chart for ScanImage 3.8. Using DAQmx version 8.8 allows co-installation of ScanImage 3.8 and 3.5.x or 3.6.x, i.e. allowing users of these versions to try SI 3.8 without affecting the current installation. Otherwise, DAQmx 9.3 should be used – this allows use of X Seriesdevices, avoids known bugs with some multi-channel use cases, and is the most currently tested version.
To upgrade from ScanImage 3.7.x, you may use the utility scim_upgrade to upgrade your existing INI/CFG/USR files for operation with SI 3.8. You must simply specify the source and destination directory(s) for your existing files.
To upgrade from earlier version, you must create new INI/CFG/USR files.
Known Issues
Full List of Known Issues
ISSUE
WORKAROUND
Error message appears when editing iterations table in Cycle Controls in one of the first 2 rows if 1) there are more than 2 rows and 2) user tabs away, rather than hitting enter, on completing edit. Error says 'Matlab converted string to number clairvoyantly'.
Hit return after making edit in one of first two rows.
Loading a USR file which had a different number of beams than currently configured in INI file generates error.
Load without a USR file and create a new one.
ScanImage averaging flag (state.acq.averaging) flag incorrectly set to 1 when # Avg = 1. Scim_openTif() fails to read multi-frame data correctly.
Patch the following files: scim_openTif.m updateNumAvgFramesSave.m
The state.motor.zDepthPositive INI var is not honored for value 0.
Patch the following files: makeFrameByStripes.m computePowerLz.m
GUIs display incorrectly, with controls misplaced on each figure, etc.
This issue occurs when using 'medium' or larger font size in Windows. Reset to default setting of 'small' font display in Windows control panel.
Cannot GOTO positionID values > 9 correctly in Position Controls window
Patch the following file: positionGUI.m