Folks,
I have released a new version (R1-6) of the areaDetector module.
The home page is here:
http://cars.uchicago.edu/software/epics/areaDetector.html
The documentation is here:
http://cars.uchicago.edu/software/epics/areaDetectorDoc.html
areaDetector is now also available via the APS XOR Subversion
repository here:
https://subversion.xor.aps.anl.gov/synApps/areaDetector
This is a major new release with many additional features. This
is from the release notes.
Plugins
- NDPluginROI. Major rewrite. Previously the ROI plugin supported
multiple ROIs, performed statistics calculations, and highlighted the ROIs. The
new version is much simpler; it supports only a single ROI, and does not
calculate statistics or do highlighting. Those functions have been moved to new
plugins. One new function has been added, the ability to divide the array by a
scale factor, which is useful for avoiding overflow when binning. Fixed problem
when a single color is extracted from a color image; it now removes the unused
dimension and changes the colorMode to mono.
- NDPluginColorConvert. Added conversions from mono to RGB1, RGB2, and
RGB3, and from RGB1, RGB2, and RGB3 to mono. Previously this plugin only built
on Linux and WIN32. Now it builds and does all conversions except Bayer on all
architectures. Bayer conversion is restricted to Linux and WIN32.
- Added new NDPluginStats plugin. This plugin calculates statistics on
an array. It replaces the statistics calculations that were previously
performed in the ROI plugin. It adds new statistics, including the centroid
position and width. It also computes X and Y profiles, including average
profiles, profiles at the centroid position, and profiles at a user-defined
cursor position.
- Added new NDPluginProcess plugin. This plugin does arithmetic
processing on arrays:
Background subtraction.
Flat field normalization.
Offset and scale.
Low and high clipping.
Recursive filtering in the time domain.
Conversion to a different output data type.
- Added new NDPluginOverlay plugin. This plugin adds graphic overlays
to an image. It replaces the "Highligh ROIs" function that was
previously provided in the ROI plugin. But it is much more general, and can be
used to display not only ROIs, but multiple cursors, user-defined boxes, etc.
Drivers
- Fixed a bug in the Roper driver. There was a buffer overflow problem
in the function that converts C strings to Windows BSTR strings. This would
cause the IOC to crash when saving SPE files with Comment PVs longer than 40
characters.
- Many fixes and enhancements to Windows Firewire driver.
- pvCam driver. Fixed problem with exposure time being rounded to
integer. Add PVs to provide version information for software and firmware where
possible. Add PVs to provide serial numbers where possible. Perform checks on
parameters that are not available for all cameras.
- ADSC driver. Fixed a bug where it would not correctly load the
per-image parameters for the first image in a dataset if they were changed
after the acquisition was started but before the first image was taken. Added
ability to write simulated data to disk in the simulation driver.
- Pilatus driver. Increased the
timeout for the SetThreshold command to camserver from 3 seconds to 90 seconds,
because it takes almost this long to execute on the Pilatus
6M.
- marCCD driver. Added support for baseline stabilization, which is
done with the "set stability" and "get stability" remote
commands. Baseline stabilization is an extra-cost option for marCCD, so this
command only has any affect if that option is present. But all versions of
marCCD understand the command remote command syntax, so there is no problem if
the option is not installed.
Viewers
- Fixed a bug in the ImageJ EPICS_AD_Viewer.java that required
restarting the plugin if it was told to start displaying before any frames had
been acquired by the IOC.
- Fixed bugs in the ImageJ EPICS_AD_Viewer.java that caused an
exception when trying to deference a null window pointer. Some of these bugs
only became apparent when running the latest version of ImageJ (1.43U) which
will not work with previous releases of EPICS_AD_Viewer.java.
General
- Converted to be compatible with asynPortDriver in asyn R4-13, which
changes parameter handling.
- Changes to support 64-bit architectures, including linux-x86_64. This
also required changes to the synApps modules on which areaDetector
applications depend (autosave, busy, etc.)
- Added status parameter to indicate if the specified file path
(NDFilePath) exists. Added a record to NDFile.template and a status indicator
to all medm file saving screens.
- Append a trailing '/' character to file path (NDFilePath) if one is
not present.
Mark