From 0a9890eb677b3a363c75f213086aedb261163457 Mon Sep 17 00:00:00 2001 From: sldesnoo-Delft <s.l.desnoo@tudelft.nl> Date: Thu, 3 Nov 2022 21:22:29 +0100 Subject: [PATCH] Added lp.array to loop over arbitrary array --- pulse_lib/segments/utility/looping.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pulse_lib/segments/utility/looping.py b/pulse_lib/segments/utility/looping.py index dfebf3dc..4149722a 100644 --- a/pulse_lib/segments/utility/looping.py +++ b/pulse_lib/segments/utility/looping.py @@ -27,7 +27,7 @@ class loop_obj(): units (str/tuple<str>) : unit of the sweep data setvals (array/np.ndarray) : if you want to display different things on the axis than the normal data point. When None, setvals is the same as the data varaible. ''' - self.data = np.asarray(data) + self.data = np.asarray(data).astype(float) self.dtype = self.data.dtype if axis is None: @@ -75,7 +75,7 @@ class loop_obj(): if not self.no_setpoints: if setvals is None: - if len(data.shape) == 1: + if len(self.data.shape) == 1: self.setvals = (self.data, ) else: raise ValueError ('Multidimensional setpoints cannot be inferred from input.') @@ -299,6 +299,14 @@ class geomspace(loop_obj): super().add_data(np.geomspace(start, stop, n_steps, endpoint=endpoint), axis=axis, names=name, labels=label, units=unit, setvals=setvals) +class array(loop_obj): + def __init__(self, data, + name=None, label=None, unit=None, axis=-1, setvals=None): + super().__init__() + super().add_data(data, + axis=axis, names=name, labels=label, units=unit, setvals=setvals) + + if __name__ == '__main__': lp = loop_obj() lp.add_data(np.array([1]), axis=0) -- GitLab