qdsfit/data.py
2013-06-14 08:44:34 +02:00

29 lines
1.0 KiB
Python

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()