ophyd_async.epics.advimba#

Support for the ADVimba areaDetector driver.

https://github.com/areaDetector/ADVimba.

Module Contents#

Classes#

VimbaDetector

Create an ADVimba AreaDetector instance.

VimbaDriverIO

Mirrors the interface provided by ADVimba/db/vimba.template.

VimbaTriggerLogic

Trigger logic for ADVimba detectors.

VimbaConvertFormat

Convert pixel format for the Vimba detector.

VimbaTriggerSource

Mode for the source of triggers on the Vimba.

VimbaOverlap

Overlap modes for the Vimba detector.

VimbaExposeOutMode

Exposure control modes for Vimba detectors.

API#

class ophyd_async.epics.advimba.VimbaDetector(prefix: str, path_provider: PathProvider | None = None, driver_suffix='cam1:', override_deadtime: float | None = None, 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.advimba.VimbaDriverIO]

Create an ADVimba AreaDetector instance.

Parameters:
  • prefix – EPICS PV prefix for the detector

  • path_provider – Provider for file paths during acquisition

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

  • override_deadtime – If provided, this value is used for deadtime instead of looking up based on camera model.

  • 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.advimba.VimbaDriverIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#

Bases: ophyd_async.epics.adcore.ADBaseIO

Mirrors the interface provided by ADVimba/db/vimba.template.

convert_pixel_format: Annotated[SignalRW[VimbaConvertFormat], ophyd_async.epics.core.PvSuffix.rbv('ConvertPixelFormat')]#

None

trigger_source: Annotated[SignalRW[VimbaTriggerSource], ophyd_async.epics.core.PvSuffix.rbv('TriggerSource')]#

None

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

None

trigger_overlap: Annotated[SignalRW[VimbaOverlap], ophyd_async.epics.core.PvSuffix.rbv('TriggerOverlap')]#

None

exposure_mode: Annotated[SignalRW[VimbaExposeOutMode], ophyd_async.epics.core.PvSuffix.rbv('ExposureMode')]#

None

class ophyd_async.epics.advimba.VimbaTriggerLogic(driver: VimbaDriverIO, override_deadtime: float | None = None)[source]#

Bases: ophyd_async.core.DetectorTriggerLogic

Trigger logic for ADVimba detectors.

config_sigs() set[SignalR][source]#

Return the signals that should appear in read_configuration.

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.advimba.VimbaConvertFormat[source]#

Bases: ophyd_async.core.StrictEnum

Convert pixel format for the Vimba detector.

NONE#

‘None’

MONO8#

‘Mono8’

MONO16#

‘Mono16’

RGB8#

‘RGB8’

RGB16#

‘RGB16’

class ophyd_async.epics.advimba.VimbaTriggerSource[source]#

Bases: ophyd_async.core.StrictEnum

Mode for the source of triggers on the Vimba.

FREERUN#

‘Freerun’

LINE1#

‘Line1’

LINE2#

‘Line2’

FIXED_RATE#

‘FixedRate’

SOFTWARE#

‘Software’

ACTION0#

‘Action0’

ACTION1#

‘Action1’

class ophyd_async.epics.advimba.VimbaOverlap[source]#

Bases: ophyd_async.core.StrictEnum

Overlap modes for the Vimba detector.

OFF#

None

PREV_FRAME#

‘PreviousFrame’

class ophyd_async.epics.advimba.VimbaExposeOutMode[source]#

Bases: ophyd_async.core.StrictEnum

Exposure control modes for Vimba detectors.

TIMED#

‘Timed’

TRIGGER_WIDTH#

‘TriggerWidth’