ophyd_async.epics.adcore#
Core components of the areaDetector software.
https://github.com/areaDetector/ADCore
Package Contents#
Classes#
Some members should exist in the Backend, and there should be no extras. |
|
Some members should exist in the Backend, and there should be no extras. |
|
Class responsible for passing detector data from drivers to pluglins. |
|
All members should exist in the Backend, but there may be extras. |
|
Default set of states of an AreaDetector driver. |
|
Base class from which areaDetector drivers are derived. |
|
Base class from which plugins are derived. |
|
Plugin for taking a region of an NDArray. |
|
Plugin for computing statistics from an image or ROI within an image. |
|
Defines the parameters for a single ROI used for statistics calculation. |
|
Plugin for calculating basic statistics for multiple ROIs. |
|
All members should exist in the Backend, and there will be no extras. |
|
Plugin for flow control of arrays based on NDAttributes. |
|
All members should exist in the Backend, and there will be no extras. |
|
Base class from which file writing drivers are derived. |
|
Base class from which file plugins are derived. |
|
All members should exist in the Backend, and there will be no extras. |
|
Plugin for storing data in HDF5 file format. |
|
Logic for configuring detector triggering modes. |
|
Abstract base class for detector arming and disarming logic. |
|
Abstract base class for detector arming and disarming logic. |
|
Abstract base class for detector data logic and handling. |
|
Data logic for AreaDetector HDF5 writer plugin. |
|
Data logic for multipart AreaDetector file writers (e.g. JPEG, TIFF). |
|
Create a collection of name/value pairs. |
|
Detector base class for step and fly scanning detectors. |
|
Create an ADSimDetector AreaDetector instance. |
|
Create a collection of name/value pairs. |
|
Create a collection of name/value pairs. |
|
Functions#
Convert a set of NDAttribute params to XML. |
|
Set up nd stats sum nd attribute for a detector. |
API#
- class ophyd_async.epics.adcore.ADBaseDataType[source]#
Bases:
ophyd_async.core.SupersetEnumSome members should exist in the Backend, and there should be no extras.
- INT8#
‘Int8’
- UINT8#
‘UInt8’
- INT16#
‘Int16’
- UINT16#
‘UInt16’
- INT32#
‘Int32’
- UINT32#
‘UInt32’
- INT64#
‘Int64’
- UINT64#
‘UInt64’
- FLOAT32#
‘Float32’
- FLOAT64#
‘Float64’
- UNDEFINED = <Multiline-String>#
- class ophyd_async.epics.adcore.ADBaseColorMode[source]#
Bases:
ophyd_async.core.SupersetEnumSome members should exist in the Backend, and there should be no extras.
- MONO#
‘Mono’
- BAYER#
‘Bayer’
- RGB1#
‘RGB1’
- RGB2#
‘RGB2’
- RGB3#
‘RGB3’
- YUV444#
‘YUV444’
- YUV422#
‘YUV422’
- YUV421#
‘YUV421’
- class ophyd_async.epics.adcore.NDArrayBaseIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#
Bases:
ophyd_async.epics.core.EpicsDeviceClass responsible for passing detector data from drivers to pluglins.
This mirrors the interface provided by ADCore/db/NDArrayBase.template. See HTML docs at https://areadetector.github.io/areaDetector/ADCore/NDArray.html
- acquire: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('Acquire'), EpicsOptions(wait=non_zero)]#
None
- color_mode: Annotated[SignalR[ADBaseColorMode], PvSuffix('ColorMode_RBV')]#
None
- data_type: Annotated[SignalR[ADBaseDataType], PvSuffix('DataType_RBV')]#
None
- array_counter: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('ArrayCounter')]#
None
- class ophyd_async.epics.adcore.ADImageMode[source]#
Bases:
ophyd_async.core.SubsetEnumAll members should exist in the Backend, but there may be extras.
- SINGLE#
‘Single’
- MULTIPLE#
‘Multiple’
- CONTINUOUS#
‘Continuous’
- class ophyd_async.epics.adcore.ADState[source]#
Bases:
ophyd_async.core.StrictEnumDefault set of states of an AreaDetector driver.
See definition in ADApp/ADSrc/ADDriver.h in https://github.com/areaDetector/ADCore.
- IDLE#
‘Idle’
- ACQUIRE#
‘Acquire’
- READOUT#
‘Readout’
- CORRECT#
‘Correct’
- SAVING#
‘Saving’
- ABORTING#
‘Aborting’
- ERROR#
‘Error’
- WAITING#
‘Waiting’
- INITIALIZING#
‘Initializing’
- DISCONNECTED#
‘Disconnected’
- ABORTED#
‘Aborted’
- class ophyd_async.epics.adcore.ADBaseIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#
Bases:
ophyd_async.epics.adcore._io.NDArrayBaseIOBase class from which areaDetector drivers are derived.
This mirrors the interface provided by ADCore/db/ADBase.template. See HTML docs at https://areadetector.github.io/areaDetector/ADCore/ADDriver.html
- acquire_time: Annotated[SignalRW[float], ophyd_async.epics.core.PvSuffix.rbv('AcquireTime')]#
None
- acquire_period: Annotated[SignalRW[float], ophyd_async.epics.core.PvSuffix.rbv('AcquirePeriod')]#
None
- num_images: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('NumImages')]#
None
- image_mode: Annotated[SignalRW[ADImageMode], ophyd_async.epics.core.PvSuffix.rbv('ImageMode')]#
None
- class ophyd_async.epics.adcore.NDPluginBaseIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#
Bases:
ophyd_async.epics.adcore._io.NDArrayBaseIOBase class from which plugins are derived.
This mirrors the interface provided by ADCore/db/NDPluginBase.template. See HTML docs at https://areadetector.github.io/areaDetector/ADCore/NDPluginDriver.html
- nd_array_port: Annotated[SignalRW[str], ophyd_async.epics.core.PvSuffix.rbv('NDArrayPort')]#
None
- enable_callbacks: Annotated[SignalRW[EnableDisable], ophyd_async.epics.core.PvSuffix.rbv('EnableCallbacks')]#
None
- nd_array_address: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('NDArrayAddress')]#
None
- queue_size: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('QueueSize')]#
None
- class ophyd_async.epics.adcore.NDROIIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#
Bases:
ophyd_async.epics.adcore._io.NDPluginBaseIOPlugin for taking a region of an NDArray.
This mirrors the interface provided by ADCore/db/NDROI.template. See HTML docs at https://areadetector.github.io/areaDetector/ADCore/NDPluginROI.html
- size_x: Annotated[SignalR[int], ophyd_async.epics.core.PvSuffix.rbv('SizeX')]#
None
- size_y: Annotated[SignalR[int], ophyd_async.epics.core.PvSuffix.rbv('SizeY')]#
None
- size_z: Annotated[SignalR[int], ophyd_async.epics.core.PvSuffix.rbv('SizeZ')]#
None
- class ophyd_async.epics.adcore.NDStatsIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#
Bases:
ophyd_async.epics.adcore._io.NDPluginBaseIOPlugin for computing statistics from an image or ROI within an image.
This mirrors the interface provided by ADCore/db/NDStats.template. See HTML docs at https://areadetector.github.io/areaDetector/ADCore/NDPluginStats.html
- compute_statistics: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('ComputeStatistics')]#
None
- bgd_width: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('BgdWidth')]#
None
- total: Annotated[SignalR[float], ophyd_async.epics.core.PvSuffix.rbv('Total')]#
None
- compute_centroid: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('ComputeCentroid')]#
None
- centroid_threshold: Annotated[SignalRW[float], ophyd_async.epics.core.PvSuffix.rbv('CentroidThreshold')]#
None
- compute_profiles: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('ComputeProfiles')]#
None
- profile_size_x: Annotated[SignalR[int], ophyd_async.epics.core.PvSuffix.rbv('ProfileSizeX')]#
None
- profile_size_y: Annotated[SignalR[int], ophyd_async.epics.core.PvSuffix.rbv('ProfileSizeY')]#
None
- cursor_x: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('CursorX')]#
None
- cursor_y: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('CursorY')]#
None
- compute_histogram: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('ComputeHistogram')]#
None
- hist_size: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('HistSize')]#
None
- hist_min: Annotated[SignalRW[float], ophyd_async.epics.core.PvSuffix.rbv('HistMin')]#
None
- hist_max: Annotated[SignalRW[float], ophyd_async.epics.core.PvSuffix.rbv('HistMax')]#
None
- class ophyd_async.epics.adcore.NDROIStatNIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#
Bases:
ophyd_async.epics.core.EpicsDeviceDefines the parameters for a single ROI used for statistics calculation.
Each instance represents a single ROI, with attributes for its position (min_x, min_y) and size (size_x, size_y), as well as a name and use status.
This mirrors the interface provided by ADCore/db/NDROIStatN.template. See definition in ADApp/pluginSrc/NDPluginROIStat.h in https://github.com/areaDetector/ADCore.
Attributes: name: The name of the ROI. use: Flag indicating whether the ROI is used. min_x: The start X-coordinate of the ROI. min_y: The start Y-coordinate of the ROI. size_x: The width of the ROI. size_y: The height of the ROI. min_value: Minimum count value in the ROI. max_value: Maximum count value in the ROI. mean_value: Mean counts value in the ROI. total: Total counts in the ROI.
- use: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('Use')]#
None
- min_x: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('MinX')]#
None
- min_y: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('MinY')]#
None
- size_x: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('SizeX')]#
None
- size_y: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('SizeY')]#
None
- class ophyd_async.epics.adcore.NDROIStatIO(prefix, num_channels=8, with_pvi=False, name='')[source]#
Bases:
ophyd_async.epics.adcore._io.NDPluginBaseIOPlugin for calculating basic statistics for multiple ROIs.
Each ROI is implemented as an instance of NDROIStatNIO, and the collection of ROIs is held as a DeviceVector.
This mirrors the interface provided by ADCore/db/NDROIStat.template. See HTML docs at https://areadetector.github.io/areaDetector/ADCore/NDPluginROIStat.html
- class ophyd_async.epics.adcore.NDCBFlushOnSoftTrgMode[source]#
Bases:
ophyd_async.core.StrictEnumAll members should exist in the Backend, and there will be no extras.
- ON_NEW_IMAGE#
‘OnNewImage’
- IMMEDIATELY#
‘Immediately’
- class ophyd_async.epics.adcore.NDCircularBuffIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#
Bases:
ophyd_async.epics.adcore._io.NDPluginBaseIOPlugin for flow control of arrays based on NDAttributes.
This mirrors the interface provided by ADCore/db/NDCircularBuff.template. See HTML docs at https://areadetector.github.io/areaDetector/ADCore/NDPluginCircularBuff.html
- pre_count: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('PreCount')]#
None
- post_count: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('PostCount')]#
None
- preset_trigger_count: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('PresetTriggerCount')]#
None
- trigger: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('Trigger'), EpicsOptions(wait=non_zero)]#
None
- capture: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('Capture'), EpicsOptions(wait=non_zero)]#
None
- flush_on_soft_trg: Annotated[SignalRW[NDCBFlushOnSoftTrgMode], ophyd_async.epics.core.PvSuffix.rbv('FlushOnSoftTrg')]#
None
- class ophyd_async.epics.adcore.ADFileWriteMode[source]#
Bases:
ophyd_async.core.StrictEnumAll members should exist in the Backend, and there will be no extras.
- SINGLE#
‘Single’
- CAPTURE#
‘Capture’
- STREAM#
‘Stream’
- class ophyd_async.epics.adcore.NDFileIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#
Bases:
ophyd_async.epics.adcore._io.NDArrayBaseIOBase class from which file writing drivers are derived.
This mirrors the interface provided by ADCore/ADApp/Db/NDFile.template. It does not include any plugin-related fields, for that see NDFilePluginIO.
- file_path: Annotated[SignalRW[str], ophyd_async.epics.core.PvSuffix.rbv('FilePath')]#
None
- file_name: Annotated[SignalRW[str], ophyd_async.epics.core.PvSuffix.rbv('FileName')]#
None
- file_template: Annotated[SignalRW[str], ophyd_async.epics.core.PvSuffix.rbv('FileTemplate')]#
None
- file_write_mode: Annotated[SignalRW[ADFileWriteMode], ophyd_async.epics.core.PvSuffix.rbv('FileWriteMode')]#
None
- num_capture: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('NumCapture')]#
None
- capture: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('Capture'), EpicsOptions(wait=non_zero)]#
None
- class ophyd_async.epics.adcore.NDPluginFileIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#
Bases:
ophyd_async.epics.adcore._io.NDPluginBaseIO,ophyd_async.epics.adcore._io.NDFileIOBase class from which file plugins are derived.
This mirrors the interface provided by ADCore/db/NDFile.template when added to NDPluginBase.template See HTML docs at https://areadetector.github.io/areaDetector/ADCore/NDPluginFile.html
- class ophyd_async.epics.adcore.ADCompression[source]#
Bases:
ophyd_async.core.StrictEnumAll members should exist in the Backend, and there will be no extras.
- NONE#
‘None’
- NBIT#
‘N-bit’
- SZIP#
‘szip’
- ZLIB#
‘zlib’
- BLOSC#
‘Blosc’
- BSLZ4#
‘BSLZ4’
- LZ4#
‘LZ4’
- JPEG#
‘JPEG’
- class ophyd_async.epics.adcore.NDFileHDF5IO(prefix: str, with_pvi: bool = False, name: str = '')[source]#
Bases:
ophyd_async.epics.adcore._io.NDPluginFileIOPlugin for storing data in HDF5 file format.
This mirrors the interface provided by ADCore/db/NDFileHDF5.template. See HTML docs at https://areadetector.github.io/areaDetector/ADCore/NDFileHDF5.html
- position_mode: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('PositionMode')]#
None
- compression: Annotated[SignalRW[ADCompression], ophyd_async.epics.core.PvSuffix.rbv('Compression')]#
None
- num_extra_dims: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('NumExtraDims')]#
None
- swmr_mode: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('SWMRMode')]#
None
- xml_file_name: Annotated[SignalRW[str], ophyd_async.epics.core.PvSuffix.rbv('XMLFileName')]#
None
- num_frames_chunks: Annotated[SignalRW[int], ophyd_async.epics.core.PvSuffix.rbv('NumFramesChunks')]#
None
- chunk_size_auto: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('ChunkSizeAuto')]#
None
- lazy_open: Annotated[SignalRW[bool], ophyd_async.epics.core.PvSuffix.rbv('LazyOpen')]#
None
- async ophyd_async.epics.adcore.prepare_exposures(driver: ADBaseIO, num: int, livetime: float = 0.0, deadtime: float = 0.0)[source]#
- class ophyd_async.epics.adcore.ADContAcqTriggerLogic(driver: ADBaseIO, cb_plugin: NDCircularBuffIO)[source]#
Bases:
ophyd_async.core.DetectorTriggerLogicLogic for configuring detector triggering modes.
This class defines the interface for detector trigger configuration, handling both internal and external triggering modes. Implementations should provide detector-specific logic for preparing the detector to operate in different trigger modes and manage exposure parameters.
The class manages:
Configuration signals that should appear in detector metadata
Deadtime calculations based on detector configuration
Preparation for internal (self-triggered) exposures
Preparation for external edge-triggered exposures
Preparation for external level-triggered exposures
Multi-exposure collection batching
Subclasses must implement the appropriate
prepare_*method for any trigger mode the detector supports,get_deadtimeif it supports external triggering, andconfig_sigsif the deadtime would vary according to detector parameters.- 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
- class ophyd_async.epics.adcore.ADArmLogic(driver: ADBaseIO, driver_armed_signal: SignalR[bool] | None = None)[source]#
Bases:
ophyd_async.core.DetectorArmLogicAbstract base class for detector arming and disarming logic.
Implementations must provide methods to arm the detector, wait for it to become idle, and disarm it. This interface allows for detector-specific behavior during the arm/disarm lifecycle.
- class ophyd_async.epics.adcore.ADContAcqArmLogic(driver: ADBaseIO, cb_plugin: NDCircularBuffIO)[source]#
Bases:
ophyd_async.core.DetectorArmLogicAbstract base class for detector arming and disarming logic.
Implementations must provide methods to arm the detector, wait for it to become idle, and disarm it. This interface allows for detector-specific behavior during the arm/disarm lifecycle.
- class ophyd_async.epics.adcore.NDArrayDescription[source]#
-
- data_type_signal: SignalR[ADBaseDataType]#
None
- color_mode_signal: SignalR[ADBaseColorMode]#
None
- class ophyd_async.epics.adcore.PluginSignalDataLogic[source]#
Bases:
ophyd_async.core.DetectorDataLogicAbstract base class for detector data logic and handling.
Implementations must implement either prepare_unbounded for data sources that work with step scans as well as flyscans, or prepare_single for those that only work with step scans.
- async prepare_single(detector_name: str) SignalDataProvider[source]#
Provider can only work for a single event.
- class ophyd_async.epics.adcore.ADHDFDataLogic[source]#
Bases:
ophyd_async.core.DetectorDataLogicData logic for AreaDetector HDF5 writer plugin.
- Parameters:
shape_signals – Signals that provide the shape of the NDArray.
data_type_signal – Signal that provides the data type of the NDArray.
path_provider – Callable that provides path information for file writing.
driver – The AreaDetector driver instance.
writer – The NDFileHDFIO plugin instance.
plugins – Additional NDPluginBaseIO instances to extract NDAttributes from.
datakey_suffix – Suffix to append to the data key for the main dataset
- description: NDArrayDescription#
None
- path_provider: PathProvider#
None
- writer: NDFileHDF5IO#
None
- plugins: Sequence[NDPluginBaseIO]#
()
- async prepare_unbounded(detector_name: str) StreamableDataProvider[source]#
Provider can work for an unbounded number of collections.
- class ophyd_async.epics.adcore.ADMultipartDataLogic[source]#
Bases:
ophyd_async.core.DetectorDataLogicData logic for multipart AreaDetector file writers (e.g. JPEG, TIFF).
- Parameters:
shape_signals – Signals that provide the shape of the NDArray.
data_type_signal – Signal that provides the data type of the NDArray.
path_provider – Callable that provides path information for file writing.
writer – The NDFilePluginIO instance.
extension – File extension for the written files (e.g. “.jpg”, “.tiff”).
mimetype – Mimetype for the written files (e.g. “multipart/related;type=image/jpeg”).
datakey_suffix – Suffix to append to the data key for the main dataset
- description: NDArrayDescription#
None
- path_provider: PathProvider#
None
- writer: NDPluginFileIO#
None
- async prepare_unbounded(detector_name: str) StreamableDataProvider[source]#
Provider can work for an unbounded number of collections.
- class ophyd_async.epics.adcore.ADWriterType(*args, **kwds)[source]#
Bases:
enum.EnumCreate a collection of name/value pairs.
Example enumeration:
class Color(Enum): … RED = 1 … BLUE = 2 … GREEN = 3
Access them by:
attribute access::
Color.RED <Color.RED: 1>
value lookup:
Color(1) <Color.RED: 1>
name lookup:
Color[‘RED’] <Color.RED: 1>
Enumerations can be iterated over, and know how many members they have:
len(Color) 3
list(Color) [<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]
Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.
- HDF#
‘HDF’
- JPEG#
‘JPEG’
- TIFF#
‘TIFF’
- class ophyd_async.epics.adcore.AreaDetector(driver: ADBaseIOT, arm_logic: DetectorArmLogic | None = None, trigger_logic: DetectorTriggerLogic | None = None, path_provider: PathProvider | None = None, writer_type: ADWriterType | None = ADWriterType.HDF, prefix: str = '', writer_suffix: str | None = None, plugins: Mapping[str, NDPluginBaseIO] | None = None, config_sigs: Sequence[SignalR] = (), name: str = '')[source]#
Bases:
ophyd_async.core.StandardDetector,typing.Generic[ophyd_async.epics.adcore._io.ADBaseIOT]Detector base class for step and fly scanning detectors.
Aggregates trigger, arm, reading or stream logic together.
- class ophyd_async.epics.adcore.ContAcqDetector(prefix: str, path_provider: PathProvider | None = None, driver_suffix='cam1:', cb_suffix='CB1:', 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._detector.AreaDetector[ophyd_async.epics.adcore._io.ADBaseIO]Create an ADSimDetector 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:”
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.adcore.NDAttributeDataType(*args, **kwds)[source]#
Bases:
enum.EnumCreate a collection of name/value pairs.
Example enumeration:
class Color(Enum): … RED = 1 … BLUE = 2 … GREEN = 3
Access them by:
attribute access::
Color.RED <Color.RED: 1>
value lookup:
Color(1) <Color.RED: 1>
name lookup:
Color[‘RED’] <Color.RED: 1>
Enumerations can be iterated over, and know how many members they have:
len(Color) 3
list(Color) [<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]
Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.
- INT#
None
- INT64#
None
- DOUBLE#
None
- STRING#
‘S40’
- class ophyd_async.epics.adcore.NDAttributePvDbrType(*args, **kwds)[source]#
Bases:
enum.EnumCreate a collection of name/value pairs.
Example enumeration:
class Color(Enum): … RED = 1 … BLUE = 2 … GREEN = 3
Access them by:
attribute access::
Color.RED <Color.RED: 1>
value lookup:
Color(1) <Color.RED: 1>
name lookup:
Color[‘RED’] <Color.RED: 1>
Enumerations can be iterated over, and know how many members they have:
len(Color) 3
list(Color) [<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]
Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.
- DBR_SHORT#
None
- DBR_ENUM#
None
- DBR_INT#
None
- DBR_LONG#
None
- DBR_FLOAT#
None
- DBR_DOUBLE#
None
- DBR_STRING#
‘S40’
- DBR_CHAR#
None
- class ophyd_async.epics.adcore.NDAttributePv[source]#
-
- dbrtype: NDAttributePvDbrType#
None
- class ophyd_async.epics.adcore.NDAttributeParam[source]#
-
- datatype: NDAttributeDataType#
None
- ophyd_async.epics.adcore.ndattributes_to_xml(ndattributes: Sequence[NDAttributeParam | NDAttributePv]) str[source]#
Convert a set of NDAttribute params to XML.
- ophyd_async.epics.adcore.setup_ndattributes(device: NDArrayBaseIO, ndattributes: Sequence[NDAttributeParam | NDAttributePv])[source]#
- ophyd_async.epics.adcore.setup_ndstats_sum(detector: AreaDetector, stats_name: str = 'stats')[source]#
Set up nd stats sum nd attribute for a detector.