From 8558374c2a3c10f446e2849851c06ddebd8bfc7e Mon Sep 17 00:00:00 2001 From: Egor Sobolev <egor.sobolev@xfel.eu> Date: Sat, 12 Oct 2024 13:03:52 +0200 Subject: [PATCH] Add device and perfix parameters to correction addons constructor --- src/calng/base_correction.py | 4 +--- src/calng/correction_addons/base_addon.py | 5 +++-- src/calng/correction_addons/integrated_intensity.py | 3 ++- src/calng/correction_addons/litpixel_counter.py | 3 ++- src/calng/correction_addons/peakfinder9.py | 3 ++- src/calng/correction_addons/random_frames.py | 3 ++- src/calng/correction_addons/saturation_monitor.py | 3 ++- 7 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/calng/base_correction.py b/src/calng/base_correction.py index 459ef83f..6d56b2d2 100644 --- a/src/calng/base_correction.py +++ b/src/calng/base_correction.py @@ -545,9 +545,7 @@ class BaseCorrection(PythonDevice): addon_prefix = f"addons.{addon_class.__name__}" if not self.get(f"{addon_prefix}.enable"): continue - addon = addon_class(self._parameters[addon_prefix]) - addon._device = self - addon._prefix = addon_prefix + addon = addon_class(self, addon_prefix, self._parameters[addon_prefix]) self._enabled_addons.append(addon) if ( (self.get("useShmemHandles") != self._use_shmem_handles) diff --git a/src/calng/correction_addons/base_addon.py b/src/calng/correction_addons/base_addon.py index b5578c1e..0a063bde 100644 --- a/src/calng/correction_addons/base_addon.py +++ b/src/calng/correction_addons/base_addon.py @@ -15,9 +15,10 @@ class BaseCorrectionAddon: and add properties to it.""" pass - def __init__(self, config): + def __init__(self, device, prefix, config): """Will be given the node from extend_device_schema, no prefix needed here""" - pass + self._device = device + self._prefix = prefix def post_correction( self, train_id, processed_data, cell_table, pulse_table, output_hash diff --git a/src/calng/correction_addons/integrated_intensity.py b/src/calng/correction_addons/integrated_intensity.py index 5cfaad9e..188b6d4f 100644 --- a/src/calng/correction_addons/integrated_intensity.py +++ b/src/calng/correction_addons/integrated_intensity.py @@ -11,7 +11,8 @@ def maybe_get(a): class IntegratedIntensity(BaseCorrectionAddon): - def __init__(self, config): + def __init__(self, device, prefix, config): + super().__init__(device, prefix, config) global cupy import cupy diff --git a/src/calng/correction_addons/litpixel_counter.py b/src/calng/correction_addons/litpixel_counter.py index 7baa14fd..cc1c9a4c 100644 --- a/src/calng/correction_addons/litpixel_counter.py +++ b/src/calng/correction_addons/litpixel_counter.py @@ -6,7 +6,8 @@ from .base_addon import BaseCorrectionAddon class LitPixelCounter(BaseCorrectionAddon): - def __init__(self, config): + def __init__(self, device, prefix, config): + super().__init__(device, prefix, config) global cupy import cupy diff --git a/src/calng/correction_addons/peakfinder9.py b/src/calng/correction_addons/peakfinder9.py index dba74214..1647350c 100644 --- a/src/calng/correction_addons/peakfinder9.py +++ b/src/calng/correction_addons/peakfinder9.py @@ -169,7 +169,8 @@ class Peakfinder9(BaseCorrectionAddon): except AttributeError: pass - def __init__(self, config): + def __init__(self, device, prefix, config): + super().__init__(device, prefix, config) global cupy import cupy diff --git a/src/calng/correction_addons/random_frames.py b/src/calng/correction_addons/random_frames.py index d3447710..bfbb78cf 100644 --- a/src/calng/correction_addons/random_frames.py +++ b/src/calng/correction_addons/random_frames.py @@ -30,7 +30,8 @@ class RandomFrames(BaseCorrectionAddon): .commit(), ) - def __init__(self, config): + def __init__(self, device, prefix, config): + super().__init__(device, prefix, config) # TODO: figure out why no / 100 here... self._probability = config["probability"] diff --git a/src/calng/correction_addons/saturation_monitor.py b/src/calng/correction_addons/saturation_monitor.py index 1c48a219..31bcec59 100644 --- a/src/calng/correction_addons/saturation_monitor.py +++ b/src/calng/correction_addons/saturation_monitor.py @@ -87,7 +87,8 @@ def saturation_monitoring_schema(schema=None): class SaturationMonitor(BaseCorrectionAddon): - def __init__(self, config): + def __init__(self, device, prefix, config): + super().__init__(device, prefix, config) global cupy import cupy self._alarmThreshold = config["alarmThreshold"] -- GitLab