From 31eb4bb70506a9343125feb03b72b87e1d4683bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Weber?= Date: Sun, 12 Jan 2025 22:41:06 +0100 Subject: [PATCH] proper working in case on set data as a quantity --- src/pymodaq_data/data.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pymodaq_data/data.py b/src/pymodaq_data/data.py index 1132b959..dbba18d3 100644 --- a/src/pymodaq_data/data.py +++ b/src/pymodaq_data/data.py @@ -396,7 +396,7 @@ def data(self): @data.setter def data(self, data: Union[np.ndarray, Q_]): if data is not None: - self._check_data_valid(data) + data = self._check_data_valid(data) self.get_scale_offset_from_data(data) self._size = data.size elif self.size is None: @@ -484,7 +484,7 @@ def _check_index_valid(index: int): elif index < 0: raise ValueError('index for the Axis class should be a positive integer') - def _check_data_valid(self, data: Union[np.ndarray, Q_]): + def _check_data_valid(self, data: Union[np.ndarray, Q_]) -> np.ndarray: if isinstance(data, Q_): self.units = str(data.units) data = data.magnitude @@ -492,6 +492,7 @@ def _check_data_valid(self, data: Union[np.ndarray, Q_]): raise TypeError(f'data for the Axis class should be a 1D numpy array') elif len(data.shape) != 1: raise ValueError(f'data for the Axis class should be a 1D numpy array') + return data def _linear_data(self, nsteps: int): """create axis data with a linear version using scaling and offset"""