areaDetector: EPICS software for area detectors

Module Owner: Mark Lloyd Rivers: University of Chicago

This page is the home of areaDetector, an application for controlling area (2-D) detectors, including CCDs, pixel array detectors, and online imaging plates.

NOTE: This module replaces the ccd and pilatusROI modules. These older modules will no longer be supported, and users are encouraged to convert to this new areaDetector software.

Devices supported in areaDetector include:

From ADSC

From Allied Vision Technologies (formerly Prosilica)

From Andor Technology

From Axis Communications and many other manufacturers.

From Bruker

From Dectris

From Marresearch GmbH

From Perkin Elmer

From Pixirad

From Photonic Science

From Point Grey Research and many other manufacturers

From Point Grey Research/FLIR

From Point Grey Research/FLIR

From Rayonix (formely Mar-USA)

From Roper

Please email any comments and bug reports to Mark Rivers who is responsible for coordinating development and releases.

areaDetector camera drivers supplied by 3rd parties

Some areaDetector support have been developed by others. These are not distributed with the areaDetector releases (source or binary) and are not directly supported by the areaDetector working group, but may be useful for users:

From ImXPAD

Where to find it

Beginning with release R2-0 (March 2014) the areaDetector module is in the areaDetector project on Github. This project is organized as a top level module and a set of submodules, e.g. ADCore, ADProsilica, ADPilatus, etc.

The following table provides links to the github repository, the documentation, and pre-built binaries.

Github repository Description Documentation Release Notes Pre-built binaries
areaDetector Top-level module; ADCore, ADSupport, ADProsilica, etc. go under this areaDetectorDoc Release Notes N.A.
ADCore Base classes, plugins, simulation detector areaDetectorDoc Release Notes Pre-built binaries
ADSupport Source code for support libraries (TIFF, JPEG, NETCDF, HDF5, etc.) N.A. Release Notes N.A.
ADADSC Driver for ADSC detectors adscDoc Release Notes Pre-built binaries
ADAndor Driver for Andor CCD detectors andorDoc Release Notes Pre-built binaries
ADAndor3 Driver for Andor sCMOS detectors andor3Doc Release Notes Pre-built binaries
ADBruker Driver for Bruker detectors using the Bruker Instrument Server (BIS) BrukerDoc Release Notes Pre-built binaries
ADCameraLink Drivers for Silicon Software and Dalsa/Coreco frame grabbers ADCameraLinkDriver Release Notes N.A.
ADCSimDetector Driver for ADC simulation ADCSimDetectorDoc Release Notes Pre-built binaries
ADDexela Driver for Perkin Elmer Dexela detectors DexelaDoc Release Notes Pre-built binaries
ADFastCCD Driver for APS/LBL Fast CCD detector N.A. Release Notes N.A.
ADFireWireWin Driver for Firewire DCAM detectors on Windows using the Carnegie Mellon Firewire driver FirewireWinDoc Release Notes Pre-built binaries
ADLambda Driver for Lambda detectors N.A. Release Notes N.A.
ADLightField Driver for Princeton Instruments detectors using their LightField application LightFieldDoc Release Notes N.A.
ADmar345 Driver for the mar345 image plate detector Mar345Doc Release Notes Pre-built binaries
ADmarCCD Driver for CCD detectors from Rayonix (formerly Mar-USA) MarCCDDoc Release Notes Pre-built binaries
ADMerlin Driver for Merlin detectors from Quantum Detectors N.A. Release Notes N.A.
ADMythen Driver for Mythen detectors from Dectris N.A. Release Notes N.A.
ADnED Driver for neutron event data N.A. Release Notes N.A.
ADPCO Driver for PCO detectors PCODriver Release Notes N.A.
ADPerkinElmer Driver for Perkin Elmer flat-panel detectors PerkinElmerDoc Release Notes Pre-built binaries
ADPICam Driver for Princeton Instruments detectors using the PICam library PICamDoc Release Notes N.A.
ADPilatus Driver for Pilatus pixel-array detectors PilatusDoc Release Notes Pre-built binaries
ADPixirad Driver for Pixirad pixel-array detectors PixiradDoc Release Notes Pre-built binaries
ADPointGrey Driver for Point Grey Research cameras PointGreyDoc Release Notes Pre-built binaries
ADProsilica Driver for Allied Vision Technologies (formerly Prosilica) cameras prosilicaDoc Release Notes Pre-built binaries
ADPSL Driver for Photonic Science detectors PSLDoc Release Notes Pre-built binaries
ADPvCam Driver for Photometics and Princeton Instruments detectors using the PvCam library pvcamDoc Release Notes Pre-built binaries
ADQImaging Driver for QImaging detectors QImagingDoc Release Notes Pre-built binaries
ADRoper Driver for Princeton Instruments and Photometics detectors using the WinView/WinSpec programs RoperDoc Release Notes Pre-built binaries
ADSimDetector Driver for simulation detector simDetectorDoc Release Notes Pre-built binaries
ADURL Driver for reading images from any URL using the GraphicsMagick library URLDriverDoc Release Notes Pre-built binaries
aravisGigE Driver using the GNOME Aravis library for Genicam GigE cameras README Release Notes N.A.
ffmpegViewer A stand-alone Qt4 application to display a stream of ffmpeg compressed images README N.A N.A.
ffmpegServer Plugin that use the ffmpeg libraries to compress a stream of images to files or via an html service ffmpegServer Release Notes N.A.
firewireDCAM Driver for Firewire DCAM detectors on Linux README Release Notes N.A.
NDDriverStdArrays Driver that allows EPICS Channel Access clients to create NDArrays in an IOC NDDriverStdArraysDoc Release Notes Pre-built binaries
pvaDriver Driver that receives EPICS V4 NTNDArrays and converts them to NDArrays in an IOC pvaDriverDoc Release Notes Pre-built binaries

Prior to release R2-0 the areaDetector module is in the synApps Subversion repository at the APS. The "trunk" directory contains the most recent unreleased code, while the "tags" directory contains the released versions.

For releases prior to R2-0 the software can be downloaded from the links in the table below. The software is available both in source code form, and in pre-built form so that it can be used without an EPICS build system. There are separate pre-built binary packages for linux-x86, linux-x86_64, win32-x86, windows-x64, and cygwin-x86.

Module Version Release Date Source Code Filename Pre-built Filename Documentation Release Notes Known Problems
1-9-1 11-March-2013 areaDetectorR1-9-1.tgz areaDetectorPrebuilt_R1-9-1_linux-x86.tgz
areaDetectorPrebuilt_R1-9-1_linux-x86-gcc43.tgz
areaDetectorPrebuilt_R1-9-1_linux-x86_64.tgz
areaDetectorPrebuilt_R1-9-1_linux-x86_64-gcc42.tgz
areaDetectorPrebuilt_R1-9-1_win32-x86.tgz
areaDetectorPrebuilt_R1-9-1_windows_x64.tgz
areaDetectorPrebuilt_R1-9-1_cygwin-x86.tgz
areaDetectorPrebuilt_R1-9-1_darwin-x86.tgz
areaDetectorDoc Release notes See release notes
1-9 27-February-2013 areaDetectorR1-9.tgz areaDetectorPrebuilt_R1-9_linux-x86.tgz
areaDetectorPrebuilt_R1-9_linux-x86-gcc43.tgz
areaDetectorPrebuilt_R1-9_linux-x86_64.tgz
areaDetectorPrebuilt_R1-9_linux-x86_64-gcc42.tgz
areaDetectorPrebuilt_R1-9_win32-x86.tgz
areaDetectorPrebuilt_R1-9_windows_x64.tgz
areaDetectorPrebuilt_R1-9_cygwin-x86.tgz
areaDetectorPrebuilt_R1-9_darwin-x86.tgz
areaDetectorDoc Release notes See release notes
1-8 6-October-2012 areaDetectorR1-8.tgz areaDetectorPrebuilt_R1-8_linux-x86.tgz
areaDetectorPrebuilt_R1-8_linux-x86-gcc43.tgz
areaDetectorPrebuilt_R1-8_linux-x86_64.tgz
areaDetectorPrebuilt_R1-8_linux-x86_64-gcc42.tgz
areaDetectorPrebuilt_R1-8_win32-x86.tgz
areaDetectorPrebuilt_R1-8_windows_x64.tgz
areaDetectorPrebuilt_R1-8_cygwin-x86.tgz
areaDetectorDoc Release notes See release notes
1-7 9-Aug-2011 areaDetectorR1-7.tgz areaDetectorPrebuilt_R1-7_linux-x86.tgz
areaDetectorPrebuilt_R1-7_linux-x86_64.tgz
areaDetectorPrebuilt_R1-7_win32-x86.tgz
areaDetectorPrebuilt_R1-7_windows_x64.tgz
areaDetectorPrebuilt_R1-7_cygwin-x86.tgz
areaDetectorDoc Release notes See release notes
1-6 20-May-2010 areaDetectorR1-6.tgz areaDetectorPrebuilt_R1-6.tgz areaDetectorDoc Release notes See release notes
1-5 23-August-2009 areaDetectorR1-5.tgz areaDetectorPrebuilt_R1-5.tgz areaDetectorDoc Release notes See release notes
1-4 30-Jan-2009 areaDetectorR1-4.tgz areaDetectorPrebuilt_R1-4.tgz areaDetectorDoc Release notes See release notes
1-3 24-Nov-2008 areaDetectorR1-3.tgz areaDetectorPrebuilt_R1-3.tgz areaDetectorDoc Release notes See release notes
1-2 24-Oct-2008 areaDetectorR1-2.tgz N.A. areaDetectorDoc Release notes See release notes
1-1 10-May-2008 areaDetectorR1-1.tgz N.A. areaDetectorDoc Release notes See release notes
1-0 11-Apr-2008 areaDetectorR1-0.tgz N.A. areaDetectorDoc Release notes See release notes

Required Modules

Module Version Requires module Release needed Required for
1-9, 1-9-1 EPICS base 3.14.12.3 Base support
asyn 4-21 Socket and interface support
busy 1-4 busy record
calc 3-0 scalcout and sseq records, needed by sscan database and useful for other databases
sscan 2-8-1 sscan record
autosave 5-0 Save/restore
1-8 EPICS base 3.14.12.2 (with all current patches) Base support
asyn 4-20 Socket and interface support
busy 1-4 busy record. This was formerly included in sscan, but now has its own support module.
calc 3-0 scalcout and sseq records, needed by sscan database and useful for other databases
sscan 2-8-1 sscan record
autosave 5-0 Save/restore
1-7 EPICS base 3.14.12.1 Base support
asyn 4-17 Socket and interface support
busy 1-3 busy record. This was formerly included in sscan, but now has its own support module.
calc 2-8 scalcout record, needed by sscan database and useful for other databases
sscan 2-6-6 sscan record
mca 7-0 mca record for getting time sequence of Total or Net counts from statistics plugin
autosave 4-7 Save/restore
1-6 EPICS base 3.14.11 Base support
asyn 4-13-1 Socket and interface support
busy 1-3 busy record. This was formerly included in sscan, but now has its own support module.
calc 2-8 scalcout record, needed by sscan database and useful for other databases
sscan 2-6-6 sscan record
mca 6-12-1 mca record for getting time sequence of Total or Net counts from statistics plugin
autosave 4-7 Save/restore
1-5 EPICS base 3.14.10 Base support
asyn 4-12 Socket and interface support
busy 1-2 busy record. This was formerly included in sscan, but now has its own support module.
calc 2-7 scalcout record, needed by sscan database and useful for other databases
sscan 2-6-3 sscan record
mca 6-11 mca record for getting time sequence of ROI counts
autosave 4-5 Save/restore
1-4 EPICS base 3.14.10 Base support
asyn 4-10 Socket and interface support
busy 1-1 busy record. This was formerly included in sscan, but now has its own support module.
calc 2-7 scalcout record, needed by sscan database and useful for other databases
sscan 2-6-3 sscan record
mca 6-10 mca record for getting time sequence of ROI counts
autosave 4-5 Save/restore
1-3 EPICS base 3.14.10 Base support. 3.14.8.2 also works, but the bug in epicsRingPointer can be a problem on multi-processor Linux systems.
asyn 4-10 Socket and interface support
calc 2-6-7 scalcout record, needed by sscan database and useful for other databases
sscan 2-6-2 sscan and busy records
mca 6-10 mca record for getting time sequence of ROI counts
autosave 4-4 Save/restore
1-2 EPICS base 3.14.10 Base support. 3.14.8.2 also works, but the bug in epicsRingPointer can be a problem on multi-processor Linux systems.
asyn 4-10 Socket and interface support
calc 2-6-5 scalcout record, needed by sscan database and useful for other databases
sscan 2-5-6 Busy record
mca 6-10 mca record for getting time sequence of ROI counts
autosave 4-3 Save/restore
1-1 EPICS base 3.14.8.2 Base support
asyn 4-10 Socket and interface support
sscan 2-5-6 Busy record
autosave 4-3 Save/restore
1-0 EPICS base 3.14.8.2 Base support
asyn 4-10 Socket and interface support
sscan 2-5-6 Busy record
autosave 4-3 Save/restore

Installation and Building

For R2-0 and later this is described in the INSTALL_GUIDE.md on Github.

For releases prior to R2-0 this is described in detail in the installation section of the areaDetector documentation for that particular release.

Please email  Mark Rivers  so that a record can be kept of which sites are using this software.

In Use

This software was originally developed by Mark Rivers.