start mit pandas save / load
This commit is contained in:
parent
dafa79fbb4
commit
6b414ba99c
@ -258,6 +258,8 @@ class buildpanel(tk.Frame):
|
|||||||
self.jfsbase_absorption.grid(row=17,column=4)
|
self.jfsbase_absorption.grid(row=17,column=4)
|
||||||
self.jfsbase_transmission = tk.Radiobutton(self,text="Transmision",variable=self.jf.abs_trans,value=1,state=tk.DISABLED,command=lambda CCDplot=CCDplot: self.updateplot(CCDplot))
|
self.jfsbase_transmission = tk.Radiobutton(self,text="Transmision",variable=self.jf.abs_trans,value=1,state=tk.DISABLED,command=lambda CCDplot=CCDplot: self.updateplot(CCDplot))
|
||||||
self.jfsbase_transmission.grid(row=18,column=4)
|
self.jfsbase_transmission.grid(row=18,column=4)
|
||||||
|
self.jfspdsave = tk.Button(self,text='save Data',fg="blue", command=self.jf.save_pandas)
|
||||||
|
self.jfspdsave.grid(row=19,column=4)
|
||||||
|
|
||||||
### Callbacks for traces, buttons, etc ###
|
### Callbacks for traces, buttons, etc ###
|
||||||
def callback(self):
|
def callback(self):
|
||||||
|
|||||||
21
JFSphoto.py
21
JFSphoto.py
@ -6,6 +6,7 @@ import tkinter as tk
|
|||||||
import csv
|
import csv
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from configparser import ConfigParser
|
from configparser import ConfigParser
|
||||||
|
import pandas as pd
|
||||||
####################################### object
|
####################################### object
|
||||||
|
|
||||||
class Jfsphoto (object):
|
class Jfsphoto (object):
|
||||||
@ -29,7 +30,7 @@ class Jfsphoto (object):
|
|||||||
self.darkData16 = np.zeros(3694, np.float32)
|
self.darkData16 = np.zeros(3694, np.float32)
|
||||||
self.darkline_checked = tk.IntVar()
|
self.darkline_checked = tk.IntVar()
|
||||||
self.darkline_checked.set(0)
|
self.darkline_checked.set(0)
|
||||||
########## baseline of the lightsource
|
########## baseline of the lightsource transmission or absorption
|
||||||
self.baseData16 = np.zeros(3694, np.float32)
|
self.baseData16 = np.zeros(3694, np.float32)
|
||||||
self.baseline_checked = tk.IntVar()
|
self.baseline_checked = tk.IntVar()
|
||||||
self.baseline_checked.set(0)
|
self.baseline_checked.set(0)
|
||||||
@ -38,6 +39,9 @@ class Jfsphoto (object):
|
|||||||
self.abs_trans= tk.IntVar()
|
self.abs_trans= tk.IntVar()
|
||||||
########## set to transition
|
########## set to transition
|
||||||
self.abs_trans.set(1)
|
self.abs_trans.set(1)
|
||||||
|
########## dataframe to load and save photometer data
|
||||||
|
self.pandas_count = 0
|
||||||
|
self.df = pd.DataFrame()
|
||||||
|
|
||||||
def do_calibrate(self):
|
def do_calibrate(self):
|
||||||
win = tk.Toplevel()
|
win = tk.Toplevel()
|
||||||
@ -102,7 +106,7 @@ class Jfsphoto (object):
|
|||||||
return 0
|
return 0
|
||||||
else :
|
else :
|
||||||
self.darkData16 = dark*1.0
|
self.darkData16 = dark*1.0
|
||||||
return 1
|
self.df['darkline']=self.darkData16
|
||||||
|
|
||||||
def get_darkline_checked(self):
|
def get_darkline_checked(self):
|
||||||
return self.darkline_checked.get()
|
return self.darkline_checked.get()
|
||||||
@ -132,6 +136,7 @@ class Jfsphoto (object):
|
|||||||
left = False
|
left = False
|
||||||
self.baseData16[i] = base[i]*1.0
|
self.baseData16[i] = base[i]*1.0
|
||||||
print(self.baseline_start," ",self.baseline_end)
|
print(self.baseline_start," ",self.baseline_end)
|
||||||
|
self.df['baseline']=self.baseData16
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
def get_baseline_checked(self):
|
def get_baseline_checked(self):
|
||||||
@ -171,11 +176,21 @@ class Jfsphoto (object):
|
|||||||
def set_nm_scale(self):
|
def set_nm_scale(self):
|
||||||
if (self.nm_scale_ok):
|
if (self.nm_scale_ok):
|
||||||
self.nmData16 = np.linspace(self.nm_left,self.nm_right,3694)
|
self.nmData16 = np.linspace(self.nm_left,self.nm_right,3694)
|
||||||
|
self.df['nmscale']=self.nmData16
|
||||||
|
|
||||||
def get_nm_scale(self):
|
def get_nm_scale(self):
|
||||||
self.set_nm_scale()
|
self.set_nm_scale()
|
||||||
return self.nmData16
|
return self.nmData16
|
||||||
|
|
||||||
|
def add_pandas(self,data):
|
||||||
|
self.df[str(self.pandas_count)] = data
|
||||||
|
##self.pandas_count += 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def save_pandas(self):
|
||||||
|
print(self.df.head())
|
||||||
|
|
||||||
def openfile(self,xx):
|
def openfile(self,xx):
|
||||||
rxData16 = np.zeros(3694, np.uint16)
|
rxData16 = np.zeros(3694, np.uint16)
|
||||||
filename = filedialog.askopenfilename(defaultextension=".dat", title="Open file")
|
filename = filedialog.askopenfilename(defaultextension=".dat", title="Open file")
|
||||||
@ -198,7 +213,7 @@ class Jfsphoto (object):
|
|||||||
self.nm2i = np.argmin(rxData16)
|
self.nm2i = np.argmin(rxData16)
|
||||||
self.tnm2i.set(str(self.nm2i))
|
self.tnm2i.set(str(self.nm2i))
|
||||||
self.checkit()
|
self.checkit()
|
||||||
|
self.add_pandas(rxData16)
|
||||||
except IOError:
|
except IOError:
|
||||||
messagebox.showerror("By the great otter!","There's a problem opening the file.")
|
messagebox.showerror("By the great otter!","There's a problem opening the file.")
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user