moved filereader to extra file
This commit is contained in:
parent
737be85ee1
commit
ffc817f306
29
QDS.py
29
QDS.py
@ -28,6 +28,7 @@ from ui import QDSMain
|
||||
|
||||
from libmath.BDSlib import FunctionRegister, FitRoutine
|
||||
from data.data import Data
|
||||
from bds_io import bds_file_reader
|
||||
|
||||
|
||||
class AppWindow(QMainWindow):
|
||||
@ -442,8 +443,6 @@ class AppWindow(QMainWindow):
|
||||
id_list = [ key.id_num for key in
|
||||
self.function_registry.get_registered_functions()
|
||||
if key.id_string == 'hn']
|
||||
for k in self.function_registry.get_registered_functions():
|
||||
print k.id_num,k.id_label
|
||||
self.peakId = 1
|
||||
print id_list
|
||||
while self.peakId in id_list:
|
||||
@ -551,31 +550,10 @@ class AppWindow(QMainWindow):
|
||||
def openFile(self,path):
|
||||
print "opening: %s"%path
|
||||
self.filepath=path
|
||||
# TODO analyze file (LF,MF, HF) and act accordingly
|
||||
data = np.loadtxt(path, skiprows=4)
|
||||
numpat = re.compile('\d+\.\d+')
|
||||
try:
|
||||
Temp = None
|
||||
for line in open(path).readlines():
|
||||
if re.search("Fixed", line) or re.search("Temp", line):
|
||||
print "Found line containing 'Fixed' or 'Temp':"
|
||||
print line
|
||||
Temp = float(re.search(numpat, line).group())
|
||||
print "Temperature found in file:", Temp
|
||||
break
|
||||
search_temp_in_filename = re.search('\d+\.\d+K', path)
|
||||
if search_temp_in_filename:
|
||||
Temp = float(search_temp_in_filename.group()[:-1])
|
||||
if Temp == None: raise ValueError
|
||||
except:
|
||||
Temp = QInputDialog.getDouble(self, "No temperature found in data set", "Temperature/K:", value=0.00)[0]
|
||||
# mask the data to values > 0 (loglog plot)
|
||||
Temp, _die_loss, _die_stor, _freq = bds_file_reader.FileReader.read_datafile(path)
|
||||
|
||||
self.setWindowTitle("%s - %.2f K"%(os.path.basename(path), Temp))
|
||||
|
||||
mask = (data[:, 1] > 0) & (data[:, 2] > 0) #& (data[:,2]>1e-3) & (data[:,0] > 1e-2)
|
||||
_freq = data[mask, 0]
|
||||
_die_stor = data[mask, 1]
|
||||
_die_loss = data[mask, 2]
|
||||
self.data.set_data(_freq, _die_stor, _die_loss)
|
||||
self.data.meta["T"] = Temp
|
||||
self.fit_boundary_imag.setRegion([np.log10(_freq.min()), np.log10(_freq.max())])
|
||||
@ -596,7 +574,6 @@ class AppWindow(QMainWindow):
|
||||
self.updatePlot()
|
||||
|
||||
|
||||
|
||||
def updatePlot(self):
|
||||
log10fmin, log10fmax = self.fit_boundary_imag.getRegion()
|
||||
self.data.set_fit_xlimits(10**log10fmin, 10**log10fmax)
|
||||
|
31
bds_io/bds_file_reader.py
Normal file
31
bds_io/bds_file_reader.py
Normal file
@ -0,0 +1,31 @@
|
||||
import numpy as np
|
||||
import re
|
||||
from PyQt4.QtGui import QInputDialog
|
||||
|
||||
class FileReader:
|
||||
@staticmethod
|
||||
def read_datafile( path ):
|
||||
# TODO analyze file (LF,MF, HF) and act accordingly
|
||||
data = np.loadtxt(path, skiprows=4)
|
||||
numpat = re.compile('\d+\.\d+')
|
||||
try:
|
||||
Temp = None
|
||||
for line in open(path).readlines():
|
||||
if re.search("Fixed", line) or re.search("Temp", line):
|
||||
print "Found line containing 'Fixed' or 'Temp':"
|
||||
print line
|
||||
Temp = float(re.search(numpat, line).group())
|
||||
print "Temperature found in file:", Temp
|
||||
break
|
||||
search_temp_in_filename = re.search('\d+\.\d+K', path)
|
||||
if search_temp_in_filename:
|
||||
Temp = float(search_temp_in_filename.group()[:-1])
|
||||
if Temp == None: raise ValueError
|
||||
except:
|
||||
Temp = QInputDialog.getDouble( "No temperature found in data set", "Temperature/K:", value=0.00)[0]
|
||||
# mask the data to values > 0 (loglog plot)
|
||||
mask = (data[:, 1] > 0) & (data[:, 2] > 0) # & (data[:,2]>1e-3) & (data[:,0] > 1e-2)
|
||||
_freq = data[mask, 0]
|
||||
_die_stor = data[mask, 1]
|
||||
_die_loss = data[mask, 2]
|
||||
return Temp, _die_loss, _die_stor, _freq
|
@ -1,12 +1,12 @@
|
||||
# -*- encoding: utf8 -*-
|
||||
|
||||
from math import libyaff
|
||||
from libmath import yafflib
|
||||
|
||||
from PyQt4.QtGui import QColor
|
||||
import numpy as np
|
||||
|
||||
from math.BDSMathlib import id_to_color
|
||||
from data.container_base import BaseObject
|
||||
from libmath.BDSlib import id_to_color
|
||||
from container_base import BaseObject
|
||||
from gui import ContainerWidgets
|
||||
|
||||
|
||||
@ -94,7 +94,7 @@ class YAFF(BaseObject):
|
||||
self.widget.on_model_changed.connect(self.change_model)
|
||||
self.widget.configuration_changed.connect(self.change_configuration)
|
||||
self.color = QColor(32, 120, 29, int(255*0.82))
|
||||
self._libyaff = libyaff.Yaff(self.widget.getYaffType())
|
||||
self._libyaff = yafflib.Yaff(self.widget.getYaffType())
|
||||
self.id_label = self._libyaff.label
|
||||
self.id_string = "yaff"
|
||||
self._param_number = self._libyaff.params
|
||||
@ -114,7 +114,7 @@ class YAFF(BaseObject):
|
||||
self.updateData()
|
||||
|
||||
def change_model(self):
|
||||
self._libyaff = libyaff.Yaff(self.widget.getYaffType())
|
||||
self._libyaff = yafflib.Yaff(self.widget.getYaffType())
|
||||
self._selector_mask = self.widget.selector_mask
|
||||
self.id_label = self._libyaff.label
|
||||
self.param_number = self._libyaff.params
|
||||
|
@ -3,7 +3,7 @@ from PyQt4.QtGui import QColor
|
||||
import numpy as np
|
||||
import pyqtgraph as pg
|
||||
|
||||
from math.BDSMathlib import FitFunctionCreator
|
||||
from libmath.BDSlib import FitFunctionCreator
|
||||
|
||||
|
||||
class Data:
|
||||
|
@ -1,5 +1,5 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
from math import libyaff
|
||||
import yafflib
|
||||
|
||||
__author__ = 'markusro'
|
||||
|
||||
@ -194,7 +194,7 @@ class Functions(QObject):
|
||||
"static": (self.static_cmplx, 1),
|
||||
"yaff": (self.yaff, 8)
|
||||
}
|
||||
self.YAFF = libyaff.Yaff()
|
||||
self.YAFF = yafflib.Yaff()
|
||||
|
||||
def hn_cmplx( self, p, x ):
|
||||
om = 2*np.pi*x
|
||||
|
5559
ui/images_rc.py
Normal file
5559
ui/images_rc.py
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user