herosdevices.hardware.hamamatsu.dcam_camera - Heros Devices 0.7.1 documentation

Skip to content
Back to top
View this page

# herosdevices.hardware.hamamatsu.dcam_camera

Implementation of the CameraTemplate for Hamamatsu DCAM cameras.

Also see the corresponding section in the documentation.

## Module Contents

herosdevices.hardware.hamamatsu.dcam_camera.dcamsdk4 = None

herosdevices.hardware.hamamatsu.dcam_camera.EXAMPLE_CONFIG_DICT

herosdevices.hardware.hamamatsu.dcam_camera.generate_dcam_error_dict() → dict

  Get a dictionary that maps numerical error code against human-readable string.

  Returns:

    Dictionary of error codes -> error descriptions

herosdevices.hardware.hamamatsu.dcam_camera.get_prop_or_val(prop_str: str = 'DCAMPROP.TRIGGERSOURCE.SOFTWARE') → int | float

  Get a dictionary that maps numerical error code against human-readable string.

  Parameters:

    prop_str – Property of interest

  Returns:

    Value of the property of interest

herosdevices.hardware.hamamatsu.dcam_camera.validate_roi(val: int, binning: int = 1) → int

  Calculate a valid ROI size of position with a given binning setting.

  Parameters:

    - val – ROI size or position value

    - binning – number of pixels to bin in one direction (1, 2, 4)

  Returns:

    Valid ROI size or position correwcted with binning

class herosdevices.hardware.hamamatsu.dcam_camera.DcamCompatibleCamera

  Bases: `herosdevices.core.templates.CameraTemplate`

  Camera object for Hamamatsu DCAM cameras.

  In particular, this code has been tested with the C15550-20UP.

  default_config_dict: dict
  set_property(prop: str, value: str) → bool

    Set a single property on the device.

    Parameters:

      - prop – Property of interest

      - value – Target value

    Returns:

      True if setting the property was successful

    Raises:

      RuntimeError – last error in case the API call returned False

  get_property(prop: str) → int | float | None

    Read a single property from the device and reports its value.

    Parameters:

      prop – Property of interest

    Returns:

      Value of the property

    Raises:

      RuntimeError – last error in case the API call returned False

  get_propperty_dict(prop_dict: dict | None = None) → dict

    Read a dictionary of properties and report their value.

    Parameters:

      prop_dict – A dict of properties (as strings)

    Returns:

      A dict oft property values

    Raises:

      RuntimeError – last error in case the API call returned False

  get_temperature() → dict

    Get cooling and temperature properties.

    Returns:

      A dict of sensor temperature, cooler status

    Raises:

      RuntimeError – last error in case the API call returned False

  get_acquisition_mode() → dict

    Get SENSORMODE, READOUTSPEED and BINNING properties.

    Returns:

      A dict of SENSORMODE, READOUTSPEED and BINNING

    Raises:

      RuntimeError – last error in case the API call returned False

  get_timing_infos() → dict

    Get trigger timing properties.

    Returns:

      A dict of trigger timing properties

    Raises:

      RuntimeError – last error in case the API call returned False

  get_all_properties() → list[tuple]

    Dump all properties from the device.

    Copied from demo scripts.

    Returns:

      A list with all camera properties known to DCAM.

  get_camera
  acquisition_running: bool = False
  payload_metadata: dict
  keep_device_open = True
  default_config: str
  get_device() → collections.abc.Iterator[None]

    Yield a device handle.

        # use the device in a with statement
        with self.get_device() as camera:
            camera.do_something()

  open() → Any

    Open the device handler and assign it to self._device.

  teardown() → None

    Release the device handler and potentially de-initialize the API.

  start() → bool

    Fire a software trigger.

    Returns:

      True if successful

  stop() → bool

    Abort the exposure and release queued buffers.

    Returns:

      True if successful

  reset() → None

    Reset the device by aborting any ongoing exposure, closing and re-opening the handler.

  get_status() → dict

    Get a dict with the current device status.

    Returns:

      A dict with the device status

  property config_dict: dict

    Get a copy of the configuration dict.

    Returns:

      Copy of the configuration dict

  update_configuration(new_config_dict: dict, merge: bool = True) → None

    Update the configuration dict with new configuration.

    Each dict key corresponds a (new) configuration name. Each value is a dict with config property -> config value.

    Parameters:

      - new_config_dict – A dict of configurations where the keys are the configuration names

      - merge – If `True`, the new dict is recursively merged with the current set config dict. If `False` the old configurations with the provided names (keys) are overwritten.

  get_configuration() → dict

    Get the currently active configuration.

    Returns:

      The currently active configuration.

  configure(config: str = '', metadata: dict | None = None) → bool

    Configure the device with the known configuration config.

    To add a configuration to the device, use `update_configuration()`.

    Parameters:

      - config – Key (name) of the configuration

      - metadata – Metadata that is merged into the current payload metadata dict which is send with every emitted `acquisition_data` event.

  set_configuration
  update_payload_metadata(metadata: dict, merge: bool = True) → None

    Update metadata dict send with every emitted frame by the `acquisition_data` event method.

    Parameters:

      - metadata – Metadata that is merged into the current payload metadata dict which is send with every emitted `acquisition_data` event.

      - merge – If `True`, the new dict is merged with the current set metadata dict. If `False` the old metadata is overwritten by the given dict.

  arm(metadata: dict | None = None, kill_running: bool = False) → bool

    Arm the device with the currently active configuration.

    Parameters:

      - metadata – Metadata that is merged into the current payload metadata dict which is send with every emitted `acquisition_data` event.

      - kill_running – If `True` any running acquisition will be stopped. If `False` and an acquisition is

      - running (already)

      - raised. (an error will be)

    Returns:

      True if arming was successful else False

  acquisition_data(frame: numpy.ndarray, metadata: dict | None = None) → tuple

    Event to emit new frames.

    Note

    The dtype of the frame is not changed here.

    Parameters:

      - frame – The frame payload data (for example an image or an scope trace)

      - metadata – The metadata which is passed along the payload. This argument takes precedence over the `payload_metadata` attribute (for example set by the `update_payload_metadata` method) while merging the two dicts.

    Returns:

      A tuple of image and metadata(-dict)

  acquisition_started(metadata: dict | None = None) → dict

    Event emitted when the acquisition thread starts.

    Returns:

      A dict with acquisition metadata

  acquisition_stopped(metadata: dict | None = None) → dict

    Event emitted when the acquisition thread stops.

    Returns:

      A dict with acquisition metadata