Kinetic now OK first Value is now OK
This commit is contained in:
parent
e0eea56ff7
commit
6b585873ca
@ -38,6 +38,7 @@ import CCDfiles
|
|||||||
|
|
||||||
#jfs
|
#jfs
|
||||||
from JFSphoto import *
|
from JFSphoto import *
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
class buildpanel(tk.Frame):
|
class buildpanel(tk.Frame):
|
||||||
@ -252,6 +253,7 @@ class buildpanel(tk.Frame):
|
|||||||
def darkline():
|
def darkline():
|
||||||
if (self.jf.do_save_darkline(config.rxData16)==1):
|
if (self.jf.do_save_darkline(config.rxData16)==1):
|
||||||
self.jfsdark_check.config(state=tk.NORMAL)
|
self.jfsdark_check.config(state=tk.NORMAL)
|
||||||
|
|
||||||
def baseline():
|
def baseline():
|
||||||
if (self.jf.get_darkline_checked() == 1):
|
if (self.jf.get_darkline_checked() == 1):
|
||||||
base = self.jf.darkData16-config.rxData16
|
base = self.jf.darkData16-config.rxData16
|
||||||
@ -268,16 +270,22 @@ class buildpanel(tk.Frame):
|
|||||||
self.jfsbase_transmission.config(state=tk.NORMAL)
|
self.jfsbase_transmission.config(state=tk.NORMAL)
|
||||||
self.jfsbase_absorption.config(state=tk.NORMAL)
|
self.jfsbase_absorption.config(state=tk.NORMAL)
|
||||||
|
|
||||||
|
def start_kinetics():
|
||||||
|
if self.device_status.get() == "Device exist":
|
||||||
|
self.bcollect.invoke()
|
||||||
|
self.jf.start_kinetic()
|
||||||
|
kinetics()
|
||||||
|
else:
|
||||||
|
messagebox.showerror("By the great otter!"," Sorry No Device")
|
||||||
|
|
||||||
def messure():
|
def messure():
|
||||||
kin_time.set(kin_time.get()+1)
|
kin_time.set(kin_time.get()+1)
|
||||||
self.bcollect.invoke()
|
self.bcollect.invoke()
|
||||||
self.jf.add_kinetic(str(kin_delta.get()*kin_time.get()))
|
self.jf.add_kinetic(str(kin_delta.get()*kin_time.get()))
|
||||||
kinetics()
|
kin_repeats.set(kin_repeats.get()-1)
|
||||||
|
kinetics()
|
||||||
|
|
||||||
def kinetics():
|
def kinetics():
|
||||||
if self.device_status.get() == "Device exist":
|
|
||||||
kin_repeats.set(kin_repeats.get()-1)
|
|
||||||
if kin_repeats.get() > 0 :
|
if kin_repeats.get() > 0 :
|
||||||
self.after(kin_delta.get()*1000,messure)
|
self.after(kin_delta.get()*1000,messure)
|
||||||
else:
|
else:
|
||||||
@ -286,10 +294,8 @@ class buildpanel(tk.Frame):
|
|||||||
self.jf.df['baseline']=self.jf.baseData16
|
self.jf.df['baseline']=self.jf.baseData16
|
||||||
self.jf.df['darkline']=self.jf.darkData16
|
self.jf.df['darkline']=self.jf.darkData16
|
||||||
self.jf.df['nmscale']=self.jf.nmData16
|
self.jf.df['nmscale']=self.jf.nmData16
|
||||||
self.jf.save_kinetics("kini.dat")
|
self.jf.do_math()
|
||||||
print(self.jf.df.head())
|
|
||||||
else:
|
|
||||||
messagebox.showerror("By the great otter!"," Sorry No Device")
|
|
||||||
|
|
||||||
|
|
||||||
self.jfstitel = tk.Label(self, text=' Photometer ',fg="#6A9662")
|
self.jfstitel = tk.Label(self, text=' Photometer ',fg="#6A9662")
|
||||||
@ -318,7 +324,7 @@ class buildpanel(tk.Frame):
|
|||||||
#### LabelFrame
|
#### LabelFrame
|
||||||
self.jfslf1 = tk.LabelFrame(self,text= 'kinetic')
|
self.jfslf1 = tk.LabelFrame(self,text= 'kinetic')
|
||||||
self.jfslf1.grid(row=plt_row,column=4,sticky='e',padx=4)
|
self.jfslf1.grid(row=plt_row,column=4,sticky='e',padx=4)
|
||||||
self.jfskinb = tk.Button(self.jfslf1,text='start Kinetic',fg="blue", command=kinetics)
|
self.jfskinb = tk.Button(self.jfslf1,text='start Kinetic',fg="blue", command=start_kinetics)
|
||||||
self.jfskinb.grid(row=2,column=1,sticky='e')
|
self.jfskinb.grid(row=2,column=1,sticky='e')
|
||||||
self.jfskinl1 = tk.Label(self.jfslf1,text='Interval [s]',fg="blue")
|
self.jfskinl1 = tk.Label(self.jfslf1,text='Interval [s]',fg="blue")
|
||||||
self.jfskinl1.grid(row=0,column=0,sticky='w')
|
self.jfskinl1.grid(row=0,column=0,sticky='w')
|
||||||
|
|||||||
28
JFSphoto.py
28
JFSphoto.py
@ -15,6 +15,7 @@ from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg,NavigationToolba
|
|||||||
from matplotlib.figure import Figure
|
from matplotlib.figure import Figure
|
||||||
from numpy import arange, sin, pi,cos
|
from numpy import arange, sin, pi,cos
|
||||||
import fnmatch
|
import fnmatch
|
||||||
|
import time
|
||||||
####################################### object
|
####################################### object
|
||||||
|
|
||||||
class Jfsphoto (object):
|
class Jfsphoto (object):
|
||||||
@ -53,7 +54,7 @@ class Jfsphoto (object):
|
|||||||
######### jfs math
|
######### jfs math
|
||||||
self.ok = tk.IntVar()
|
self.ok = tk.IntVar()
|
||||||
self.ok.set(0)
|
self.ok.set(0)
|
||||||
|
|
||||||
def do_calibrate(self):
|
def do_calibrate(self):
|
||||||
win = tk.Toplevel()
|
win = tk.Toplevel()
|
||||||
win.geometry("450x200+100+100")
|
win.geometry("450x200+100+100")
|
||||||
@ -193,9 +194,19 @@ class Jfsphoto (object):
|
|||||||
self.set_nm_scale()
|
self.set_nm_scale()
|
||||||
return self.nmData16
|
return self.nmData16
|
||||||
|
|
||||||
def add_kinetic(self,name):
|
def add_kinetic(self,name):
|
||||||
self.df[str(name)]=config.rxData16
|
self.df[str(name)]=config.rxData16
|
||||||
print(name)
|
toc = time.perf_counter()
|
||||||
|
print(f"{name} time {toc :0.4f} sec")
|
||||||
|
|
||||||
|
def start_kinetic(self):
|
||||||
|
self.col_list = list(self.df.columns.values.tolist())
|
||||||
|
##### delete remaining _trans and _abs
|
||||||
|
##filtered = fnmatch.filter(self.col_list,'*_*')
|
||||||
|
self.df.drop(self.col_list,axis=1,inplace=True)
|
||||||
|
toc = time.perf_counter()
|
||||||
|
print(f"start time {toc :0.4f} sec")
|
||||||
|
|
||||||
|
|
||||||
def save_pandas(self):
|
def save_pandas(self):
|
||||||
filename = filedialog.asksaveasfilename(defaultextension=".csv", title="Save file as")
|
filename = filedialog.asksaveasfilename(defaultextension=".csv", title="Save file as")
|
||||||
@ -297,16 +308,17 @@ class Jfsphoto (object):
|
|||||||
stati = [("Raw",1),("Raw + Baseline",2),("Transmission",4),("Absorbanz",3)]
|
stati = [("Raw",1),("Raw + Baseline",2),("Transmission",4),("Absorbanz",3)]
|
||||||
|
|
||||||
win = tk.Toplevel()
|
win = tk.Toplevel()
|
||||||
self.center = tk.Frame(win, bg='gray2', width=50, height=40, padx=3, pady=3)
|
self.center = tk.Frame(win, bg='gray2', width=800, height=400, padx=3, pady=3)
|
||||||
self.center.grid_rowconfigure(0, weight=1)
|
self.center.grid_rowconfigure(0, weight=1)
|
||||||
self.center.grid_columnconfigure(1, weight=1)
|
self.center.grid_columnconfigure(1, weight=1)
|
||||||
self.center.grid(row=1, sticky="nsew")
|
self.center.grid(row=1, sticky="nsew")
|
||||||
self.ctr_mid = tk.Frame(self.center, width=250, height=250, padx=3, pady=3)
|
self.ctr_mid = tk.Frame(self.center, width=250, height=300, padx=3, pady=3)
|
||||||
self.ctr_right = tk.Frame(self.center, width=200, height=250, padx=3, pady=3)
|
self.ctr_right = tk.Frame(self.center, width=200, height=300, padx=3, pady=3)
|
||||||
self.ctr_mid.grid(row=0, column=0, sticky="nsew")
|
self.ctr_mid.grid(row=0, column=0, sticky="nsew")
|
||||||
self.ctr_right.grid(row=0, column=1, sticky="ns")
|
self.ctr_right.grid(row=0, column=1, sticky="ns")
|
||||||
|
|
||||||
self.fig = plt.Figure(figsize=(8,4),dpi=100)
|
self.fig = plt.Figure(figsize=(8,4),dpi=120)
|
||||||
|
plt.rc('legend',fontsize=8)
|
||||||
self.ax1 = self.fig.add_subplot(111)
|
self.ax1 = self.fig.add_subplot(111)
|
||||||
|
|
||||||
|
|
||||||
@ -334,12 +346,14 @@ class Jfsphoto (object):
|
|||||||
self.kbtn1 = tk.Button(master=self.ctr_right,text="show",command=self.show_selected)
|
self.kbtn1 = tk.Button(master=self.ctr_right,text="show",command=self.show_selected)
|
||||||
self.kbtn1.grid(row=14,column=0,sticky="w")
|
self.kbtn1.grid(row=14,column=0,sticky="w")
|
||||||
|
|
||||||
|
|
||||||
if self.calculate() :
|
if self.calculate() :
|
||||||
self.show_first_look()
|
self.show_first_look()
|
||||||
else:
|
else:
|
||||||
t = arange(0.0, 3.0, 0.01)
|
t = arange(0.0, 3.0, 0.01)
|
||||||
s = sin(2*pi*t)
|
s = sin(2*pi*t)
|
||||||
self.ax1.plot(t, s, linewidth=0.6)
|
self.ax1.plot(t, s, linewidth=0.6)
|
||||||
|
|
||||||
|
|
||||||
win.focus_set()
|
win.focus_set()
|
||||||
win.grab_set()
|
win.grab_set()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user