Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{composition-setup}
ScanImage 3.8 is a major upgrade adding several new features and several user 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|#UpgradeNotes].

{comment}
Functionally, ScanImage 3.7 is very similar to 3.6, so the transition should be fairly straightforward. However, there are [changes and other recommended steps|ScanImage r3.7 Documentation#UpgradeInfo] in upgrading to 3.7 from 3.5.x or 3.6.x.

New users, and existing users who can benefit from the new features (listed below) should use ScanImage 3.8. Other existing users of 3.5.x-3.7.x may  or 3.6.x may want to defer upgrading until ScanImage 3.8 (expected spring or early summer of 2011), which will have further new features.
{comment}\\
----
{toc}

h3. Major Enhancements
{multi-excerpt:name=MajorEnhancements}
* 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
{multi-excerpt}



h3. Other Enhancements
{multi-excerpt:name=OtherEnhancements}
{comment}* Display frame averaging now decoupled from file frame averaging{comment}
* 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()
{multi-excerpt}

h3. 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 Range_ values (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.

{anchor:UpgradeNotes}

h3. Upgrade Notes

As always, please note the [Windows, Matlab, NI compatibility chart|ScanImage Version Compatibility] 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 Series|http://www.ni.com/xseries/] devices, 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.

{anchor:KnownIssues}

h3. Known Issues

{section:border=true}
{column:width=60%}
*ISSUE*
{column}
{column:width=40%}
*WORKAROUND*
{column}
{section}

{section:border=true}
{column:width=60%}
 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'.
{column}
{column:width=40%}
Hit return after making edit in one of first two rows.
{column}
{section}

{section:border=true}
{column:width=60%}
Loading a USR file which had a different number of beams than currently configured in INI file generates error. 
{column}
{column:width=40%}
Load without a USR file and create a new one. 
{column}
{section}


{section:border=true}
{column:width=60%}
ScanImage averaging flag (state.acq.averaging) flag incorrectly set to 1 when # Avg = 1. Scim_openTif() fails to read multi-frame data correctly.
{column}
{column:width=40%}
Patch the following files: [^scim_openTif.m] [^updateNumAvgFramesSave.m]
{column}
{section}

{section:border=true}
{column:width=60%}
The state.motor.zDepthPositive INI var is not honored for value 0.
{column}
{column:width=40%}
Patch the following files: [^makeFrameByStripes.m] [^computePowerLz.m]
{column}
{section}