Renew your license to continue

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


ScanImage 3.7.1 is a service pack release, with several bugfixes and small enhancements relative to r3.7.0

Easy Upgrade

To upgrade from ScanImage 3.7.0, you can use use your existing INI/CFG/USR files! (To upgrade from earlier versions, new INI/CFG/USR files should be created.)

Enhancements

  • Support for PXI-based DAQ boards (e.g. PXIe-6124) & USB X series boards (USB-6356)
  • Allow scan angular range values up to 40 optical degrees
  • Support input channel voltage ranges of 0.2, 0.5, and 20V
  • Smarter beam parking to avoid large step transients on scan start
  • Configurable delay for motor steps, to allow for motor 'settling' before starting next slice in a stack
  • Configurable delay for shutter opening, to allow for shutter 'settling' before starting acquisition
  • Support for slower line periods of 16-128ms
  • Support small frame sizes (e.g. < 32 lines) without generating TIF errors
  • Support for negative photodiode voltages
  • 4-digit display for countdown/timer

Bugfixes

  • Motor operation reliability issues eliminated, or greatly reduced
  • Image data collected with Snapshot would disappear
  • Scans driven by ROI/LS/CT selections were incorrectly positioned
  • Change to fill fraction during FOCUS was producing error
  • Scan delay values were corrupted switching between bidirectional and sawtooth scanning
  • Power was being set incorrectly at end of P/z stacks when Return Home After Acq/Repeat is disabled
  • Pockels calibration now works in rejected-light case
  • # Frames/File adjustment now accounts for # Z Slices and Average Frames settings correctly
  • Zero XY and Zero Z operations no longer act like Zero XYZ
  • Recent Zoom and other scan setting changes are now correctly honored at start of LOOP acquisitions
  • TIF files where linesPerFrame is not a power-of-two are now correctly read by ImageJ
  • Discontinuous slow-dimension scan command waveform fixed, for case where Flyback on final line is selected
  • Hard error no longer occurs after some bad Pockels calibrations
  • Fix support for Matlab 2009b, which was broken for case where exported clocks are used
  • In User Functions dialog, edit operations could affect the wrong event, inadvertently
  • Save selections in Channels... dialog were being ignored
  • Crosshair was appearing doubled on ScanImage startup
  • Override Lz was being applied even when start/end-points were not defined
  • Error indicating insufficient buffering could occur when using slower imaging rates and with Disable Image Striping enabled
  • scim_openTif(): error was occurring for cases when channels selected for saving are not contiguous
  • Sporadic errors occurring during PMT Offset determination fixed
  • Position was not correctly displayed at end of Zero XY/Z/XYZ operations; now motor position is read before setting zero
  • Some header values were not saved correctly when Pockels cell feature was disabled

ScanImage 3.7.0 README (12-23-2010)

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