diff --git a/src/cal_tools/calcat_interface2.py b/src/cal_tools/calcat_interface2.py index 9048db129d60e69991e63edd14f659dc902643f7..bc598d5726741c11a0a9a01983b640687702e7dc 100644 --- a/src/cal_tools/calcat_interface2.py +++ b/src/cal_tools/calcat_interface2.py @@ -837,3 +837,13 @@ class DSSCConditions(ConditionsBase): "Offset": _params, "Noise": _params, } + + +@dataclass +class ShimadzuHPVX2Conditions(ConditionsBase): + burst_frame_count: float + + calibration_types = { + 'Offset': ['Burst Frame Count'], + 'DynamicFF': ['Burst Frame Count'], + } diff --git a/src/cal_tools/shimadzu.py b/src/cal_tools/shimadzu.py index 8366c95b5357352db297955da1ab5a107cbc743b..0251e5621c82231281f7ddb9fe55c723b3c1cf8e 100644 --- a/src/cal_tools/shimadzu.py +++ b/src/cal_tools/shimadzu.py @@ -1,20 +1,20 @@ from dataclasses import dataclass -from cal_tools.calcat_interface2 import ConditionsBase - -@dataclass -class ShimadzuHPVX2Conditions(ConditionsBase): - frame_size: float - - calibration_types = { - "Offset": ["Frame Size"], - "DynamicFF": ["Frame Size"], - } +from cal_tools.calcat_interface2 import ShimadzuHPVX2Conditions class ShimadzuHPVX2: channel = "daqOutput" image_key = "data.image.pixels" + copy_keys = [ + "data.image.binning", + "data.image.dimTypes", + "data.image.dims", + "data.image.flipX", + "data.image.flipY", + "data.image.roiOffsets", + "data.image.rotation", + ] def __init__(self, source_name_pattern: str, channel=None, image_key=None): self.source_name_pattern = source_name_pattern @@ -38,7 +38,7 @@ class ShimadzuHPVX2: source_name = self.instrument_source(module) keydata = dc[source_name, self.image_key] num_frames = keydata.shape[-3] - return ShimadzuHPVX2Conditions(frame_size=num_frames / 256) + return ShimadzuHPVX2Conditions(burst_frame_count=float(num_frames)) def instrument_source(self, module: int): source_name = self.source_name_pattern.format(module)