Area Detectors and Cameras

Area detectors are all largely the same but with small variations from device-to-device. All the device definitions for area detectors are in the haven.instrument.area_detector module.

Currently supported detectors:

  • Eiger 500K (Eiger500K)

  • Lambda (Lambda250K)

  • Simulated detector (SimDetector)

EPICS and Ophyd do not make a distinction between area detectors and cameras. After all, a camera is just an area detector for visible light.

In Haven, the device classes are largely the same. The only substantive difference is that cameras have the ophyd label “cameras”, whereas non-camera area detectors (e.g. Eiger 500K), have the ophyd label “area_detectors”. They can be used interchangeably in plans.

Warning

Currently, cameras are not properly implemented in Haven. This will be fixed soon.

Using Devices in Haven

If the device you are using already has a device class created for it, then using the device only requires a suitable entry in the iconfig file (~/bluesky/instrument/iconfig.toml). The iconfig section name should begin with “area_detector”, and end with the device name (e.g. “area_detector.eiger”). The device name will be used to retrieve the device later from the instrument registry.

The key “prefix” should list the IOC prefix, minus the trailing “:”. The key “device_class” should point to a subclass of ophyd’s DetectorBase class that is defined in haven.instrument.area_detector.

[area_detector.eiger]

prefix = "dp_eiger_xrd91"
device_class = "Eiger500K"

Once this section has been added to iconfig.toml, then the device can be loaded from the instrument registry. No special configuration is generally necessary.

>>> import haven
>>> haven.load_instrument()
>>> det = haven.registry.find("eiger")
>>> plan = haven.xafs_scan(..., detectors=[det])

Usually, no special configuration is needed for area detectors. By default it will save HDF5 and TIFF files for each frame. The filenames for these TIFF and HDF5 files will be stored automatically to the database. The outputs of the stats plugins will also be saved.

Warning

It is up you to make sure the file path settings are correct for the HDF5 and TIFF NDplugins. Also, ensure that the routing is correct for the ROI and STATS NDplugins.

Warning

The first time you stage the device after the IOC has been restarted, you may receive an error about the plugin not being primed. The means that the plugin does not know the size of the image to expect since it has not seen one yet. The solution is to open the caQtDM panels for the detector, ensure the corresponding plugins are enabled, and then manually acquire a frame.