Renew your license to continue

Your evaluation license has expired. Contact your administrator to renew your Composition license.

ScanImage 3.7 adds several new features and includes architectural changes that lay the foundation for further new features in future releases.

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 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.7. Other existing users of 3.5.x 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.

Version Compatibility

As always, users should note the Matlab & National Instruments version compatibility before using ScanImage 3.7.



Major Changes

  • RTSI7 should be used for clock synchronization, rather than RTSI6
  • Scan Amplitude values replaced by Scan Angular Range values, which now represent the full (peak-peak) optical angular range of acquisition – not half-angle as in 3.6.x or half-voltage (of command signal) as in 3.5.x and earlier

Major Enhancements

Unknown macro: {multi-excerpt}
  • Automatic power adjustment during stack collection
  • Export of line/frame/pixel clock signals
  • External triggering enhancements, including Next Triggering
  • Continuous file streaming improvements, including support for stacks and a configurable running data buffer
  • Enhanced User Functions capability, supporting a much greater number of events during ScanImage operation
  • Enhanced Fast Configurations
  • Faster DAQ performance, due to architectural changes
  • Compatibility with latest Matlab (2010b) and DAQmx (9.2.2) versions
  • Compatibility with X series boards, for the 'second' DAQ board (for Pockels and/or clock signals)

Other Enhancements

Unknown macro: {multi-excerpt}
  • Finite LOOP acquisitions now possible
  • Slider control adjustment of power (optionally) allowed during FOCUS operation
  • Fractional zoom adjustment
  • More image display colormap options, including option for user-defined colormap function
  • Option to average, rather than sum, binned samples
  • Support for case where shutter is located before EOM/Pockels
  • Ability to set root save file path for initial Set Save Path... operation
  • Separate mapping of 1) Channel 0/1 to X/Y scanners (INI file) and 2) X/Y scanners to Fast/Slow axes (CONFIGURATION dialog)
  • External trigger timeout is now a USR setting, not an INI file variable
  • Improved EOM/Pockels calibration robustness
  • Support for 4096 pixels/line
  • Improved default path handling for file selection dialogs
  • Initial support for Sutter MPC-200 and Scientifica stage controllers

Bugfixes

  • FOCUS acquisition capability in midst of LOOP acquisition Repeat Period has been restored
  • PowerBox BoxOff array values were not independent across beams
  • Handle Discard Flyback Line option correctly for Channel Merge display window
  • Controls in CONFIGURATION window would move upward slowly when advanced controls were toggled on/off

Notes on Architectural Changes

ScanImage 3.7 makes significant use of the new object-oriented programming features added first in Matlab release 2008a. The most notable uses are the device adaptor packages of classes, e.g. for the National Instruments DAQmx driver and Sutter linear stage controllers. Another example is the ScanImage EventManager class underlying the improved User Functions capabilities in ScanImage 3.7.

With object-oriented programming, scripts/functions create (construct) handles to objects whose behavior is defined in class definition files. The behavior consists of:

  • properties which can be accessed and modified
  • methods (functions) which can be invoked which operate on or pertain to the instance handle(s).
DAQmx Device Adaptor Package

The DAQmx device adapter 'wraps' the DAQmx driver application programming interface (API) in the form of several classes – Task, Channel, Device, and System – which correspond to concepts in the DAQmx API. Most of the functionality is made available through the Task class.

The properties & methods defined for the Task and other classes correspond to the properties and functions defined in the DAQmx API, used when programming National Instruments in C, but also corresponding to VI names and property nodes in LabView. In this way, the DAQmx device adapter package comprises a 'scriptable LabView' – it provides near-comprehensive access to DAQmx capabilities.

The DAQmx device adaptor package developed for and used by ScanImage 3.7 overcomes several limitations:

  • Read access times are much faster
    • DAQmx API allows reads in 'native' format (e.g. 2 byte format), in addition to 'scaled' format (double). The DAQ Toolbox only allows 'scaled' reads. By using 'native' format, read times are reduced ~4x.
      Unknown macro: {comment}
        • Read operations in DAQmx API adapter can be done in C (through a MEX function) rather than via Matlab function call. This further reduces read time.
  • Access to NI counter/timer channels not supported by DAQ toolbox. This is basis of two new features in ScanImage 3.7:
    • Frame/Line/Pixel clock export
    • 'Next' triggering feature
Stage Controller Adapter Classes

ScanImage stage control code has been rewritten to use a generic Linear Stage Controller interface (an abstract class), rather than directly communicating with Sutter MP-285 as in earlier versions. Specific device adapters have been developed as concrete subclasses for the MP-285 as well as the newer Sutter MPC-200 controller. In addition, an initial adapter/subclass has been developed for Scientifica controllers.

  • No labels