From dc3893f52a482146a6e3ee82e18f50fe920a4189 Mon Sep 17 00:00:00 2001 From: linarphy Date: Sun, 13 Jul 2025 01:24:12 +0200 Subject: [PATCH] Check if every components are unique --- .../measurement.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/backscattering_experimental_data/measurement.py b/src/backscattering_experimental_data/measurement.py index 5069fda..1815802 100644 --- a/src/backscattering_experimental_data/measurement.py +++ b/src/backscattering_experimental_data/measurement.py @@ -90,13 +90,26 @@ class Measurement(Section): def to_hdf5(self, store: File | Group) -> Group | File: _ = self.metadata.to_hdf5(store) + unique_components: list[Component] = [] + + # Make sure that every component are unique (two scatterers can + # be associated with the same component) for component in self.components: + for unique_component in unique_components: + if ( + component.metadata.name + == unique_component.metadata.name + ): + continue # already in the list + unique_components.append(component) + + for component in unique_components: _ = component.to_hdf5( store.require_group("components").create_group( component.metadata.name ) ) - for scatterer in self.scatterers: + for scatterer in self.scatterers: # each scatterer is unique _ = scatterer.to_hdf5( store.require_group("scatterers").create_group( scatterer.metadata.name