# areaDetector: EPICS software for area detectors

Module Owner: Mark 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 Dectris

- The Pilatus pixel-array detector.

From Prosilica

- High-speed, high-resolution CCD cameras. These use GigE and Firewire interfaces.

From ADSC

- Large CCD detectors for x-ray diffraction. This support is from Lewis Muir of IMCA-CAT at the APS.

From MAR

- MarCCD detectors
- MAR-345 online image plate reader (coming soon)

From Roper

- All CCD detectors supported by the WinView and WinSpec programs. This includes all Princeton Instruments detectors, as well as most Photometrics detectors.

From Bruker

- The SMART CCD camera line with Photometrics cameras. This requires the PCI interface card, replacing the old ISA bus card, and requires controlling the detector with WinView, not the SMART software.

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

## Where to find it

The areaDetector module is in the EPICS Applications SVN repository on SourceForge. Persons wishing to collaborate on this project can contact Mark Rivers to get write access to this application there.

You can download the software 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.

Module Version | Release Date | Source Code Filename | Pre-built Filename | Documentation | Release Notes | Known Problems
--- | --- | --- | --- | --- | --- | ---
1-4 | XXX-Dec-2008 | 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-4 | 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-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

After obtaining a copy of the distribution, it must be installed and built for use at your site. These steps only need to be performed once for the site (unless versions of the module running under different releases of EPICS and/or the other required modules are needed).

1. Create an installation directory for the module, usually this will end with
   `.../support/`
2. Place the distribution file in this directory. Then issue the commands (Unix style)

       tar xvzf areaDetectorRX-Y.tgz

   where X-Y is the release.
3. This creates a <top> application.

       .../support/areaDetectorRX-Y

4. Edit the `configure/RELEASE` file and set the paths to your installation of EPICS base and to your versions of supporting modules.
5. Run `gnumake` in the top level directory and check for any compilation errors.
6. 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.

- ANL/APS : In use at CARS beamlines.
- NSLS: In use on X17B2 and other beamlines.
- Australian Synchrotron : In use at microspectroscopy beamline, ID5.