author:Mark Rivers, University of Chicago


This is an areaDetector driver for GenICam cameras using the aravis library.

GenICam is a Generic Interface for Cameras from the European Machine Vision Association (EMVA).

ADAravis is derived from the base class ADGenICam, which handles many of the details of mapping GenICam features to EPICS records. ADAravis is based heavily on the older aravisGigE driver which has been part of areaDetector for many years. ADAravis differs from aravisGigE by using the ADGenICam base class to significantly reduce the amount of code. Many of the ideas in ADGenICam were borrowed from aravisGigE.

As it name implies, ADAravis uses the aravis library. It runs on most Linux systems, and can control any GenICam camera. It cannot be used on Windows because aravis is based on the Linux-only glib library.

The aravis package must be built before building ADAravis. Instructions for doing this can be found in the ADGenICam installing aravis documentation.

Prior to using ADAravis with a specific camera model, the XML file must be read from the camera using the arv-tool utility, and the EPICS database file and OPI screens must be generated by running the Python programs in ADGenICam Python scripts.

ADAravis driver

ADGenICam inherits from ADGenICam. It adds some parameters and EPICS records that are specific to ADAravis.

MEDM screens

The following is the MEDM screen ADAravis.adl when controlling a FLIR Oryx 51S5M 10 Gbit Ethernet camera. ADAravis.adl is very similar to ADGenICam.adl, with a few additional widgets for the PVs that are specific to ADAravis.

Note that each frame is 4.8 MB, and it is collecting 162 frames/s, which is 775 MB/s.


The following is the MEDM screen FLIR_ORX_10g_51S5M-features1.adl when controlling a FLIR Oryx 51S5M 10 Gbit Ethernet camera. This screen was autogenerated by the Python script in ADGenICam, and is specific to this camera model. It is loaded from the “Camera-specific features” related display widget in the above screen.


The following is the second feature screen generated by the Python program described above.