ophyd_async.epics.adpilatus#

Support for the ADPilatus areaDetector driver.

https://github.com/areaDetector/ADPilatus

Module Contents#

Classes#

PilatusDetector

Create an ADPilatus AreaDetector instance.

PilatusDriverIO

Driver for the Pilatus pixel array detectors.

PilatusTriggerLogic

Trigger logic for ADPilatus detectors.

PilatusTriggerMode

Trigger modes for ADPilatus detector.

PilatusReadoutTime

Pilatus readout time per model in ms.

API#

class ophyd_async.epics.adpilatus.PilatusDetector(prefix: str, path_provider: PathProvider | None = None, readout_time: PilatusReadoutTime = PilatusReadoutTime.PILATUS3, driver_suffix='cam1:', writer_type: ADWriterType | None = ADWriterType.HDF, writer_suffix: str | None = None, plugins: dict[str, NDPluginBaseIO] | None = None, config_sigs: Sequence[SignalR] = (), name: str = '')[source]#

Bases: ophyd_async.epics.adcore.AreaDetector[ophyd_async.epics.adpilatus.PilatusDriverIO]

Create an ADPilatus AreaDetector instance.

Parameters:
  • prefix – EPICS PV prefix for the detector

  • path_provider – Provider for file paths during acquisition

  • readout_time – Readout time for the specific Pilatus model

  • driver_suffix – Suffix for the driver PV, defaults to “cam1:”

  • writer_type – Type of file writer (HDF or TIFF)

  • writer_suffix – Suffix for the writer PV

  • plugins – Additional areaDetector plugins to include

  • config_sigs – Additional signals to include in configuration

  • name – Name for the detector device

class ophyd_async.epics.adpilatus.PilatusDriverIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#

Bases: ophyd_async.epics.adcore.ADBaseIO

Driver for the Pilatus pixel array detectors.

trigger_mode: Annotated[SignalRW[PilatusTriggerMode], ophyd_async.epics.core.PvSuffix.rbv('TriggerMode')]#

None

armed: Annotated[SignalR[bool], PvSuffix('Armed')]#

None

class ophyd_async.epics.adpilatus.PilatusTriggerLogic(driver: PilatusDriverIO, readout_time: PilatusReadoutTime)[source]#

Bases: ophyd_async.core.DetectorTriggerLogic

Trigger logic for ADPilatus detectors.

get_deadtime(config_values: SignalDict) float[source]#

Return the deadtime in seconds for the detector.

Parameters:

config_values – the value of each signal in config_sigs

async prepare_internal(num: int, livetime: float, deadtime: float)[source]#

Prepare the detector to take internally triggered exposures.

Parameters:
  • num – the number of exposures to take

  • livetime – how long the exposure should be, 0 means what is currently set

  • deadtime – how long between exposures, 0 means the shortest possible

async prepare_edge(num: int, livetime: float)[source]#

Prepare the detector to take external edge triggered exposures.

Parameters:
  • num – the number of exposures to take

  • livetime – how long the exposure should be, 0 means what is currently set

async prepare_level(num: int)[source]#

Prepare the detector to take external level triggered exposures.

Parameters:

num – the number of exposures to take

class ophyd_async.epics.adpilatus.PilatusTriggerMode[source]#

Bases: ophyd_async.core.StrictEnum

Trigger modes for ADPilatus detector.

INTERNAL#

‘Internal’

EXT_ENABLE#

‘Ext. Enable’

EXT_TRIGGER#

‘Ext. Trigger’

MULT_TRIGGER#

‘Mult. Trigger’

ALIGNMENT#

‘Alignment’

class ophyd_async.epics.adpilatus.PilatusReadoutTime[source]#

Bases: float, enum.Enum

Pilatus readout time per model in ms.

PILATUS2#

0.00228

PILATUS3#

0.00095