import numpy as N class Data: def __init__(self, frequency, die_real, die_imag): self.frequency = frequency self.epsilon = die_real +1j *die_imag self.data_curve = None # mpl object self.fitted_curve = None # mpl object self.length = len(frequency) self.meta = dict() self.fit_limits = (frequency.min(),frequency.max(),die_imag.min(),die_imag.max()) def __del__(self): self.remove_curves() #def set_fit_limits(self, limits=(None,None,None,None)): def get_data(self): """ """ mask = N.ones(len(self.frequency),dtype = 'bool') mask = (self.frequency > self.fit_limits[0]) & (self.frequency < self.fit_limits[1]) mask &= (self.epsilon.imag > self.fit_limits[2]) & (self.epsilon.imag < self.fit_limits[1]) return self.frequency[mask], self.epsilon[mask] def remove_curves(self): if self.data_curve is not None: self.data_curve.remove() if self.fitted_curve is not None: self.fitted_curve.remove()