Add INL-GraphfrombaseLine.py
This commit is contained in:
parent
0814874b6f
commit
c953aadb4e
68
INL-GraphfrombaseLine.py
Normal file
68
INL-GraphfrombaseLine.py
Normal file
@ -0,0 +1,68 @@
|
||||
## Have gitpython pull in the repository
|
||||
import os
|
||||
import git
|
||||
import shutil
|
||||
import pandas as pd
|
||||
from matplotlib import pyplot as plt
|
||||
import numpy as np
|
||||
|
||||
username = "####"
|
||||
password = "####"
|
||||
remote = f"https://{username}:{password}@git.0xc6.com/xans/INL-Measurements.git"
|
||||
if not os.path.exists(os.getcwd()+"/INL-Measurements"):
|
||||
git.Repo.clone_from(remote, os.getcwd()+"/INL-Measurements/")
|
||||
print(os.getcwd()+"/INL-Measurements/")
|
||||
else:
|
||||
shutil.rmtree(os.getcwd()+"/INL-Measurements/", ignore_errors=True)
|
||||
git.Repo.clone_from(remote, os.getcwd()+"/INL-Measurements/")
|
||||
print(os.getcwd()+"/INL-Measurements/")
|
||||
|
||||
# List of all meters that will average out the calibrators INL
|
||||
meterList = ['solartron-7081', 'hp-3458a', 'keysight-3458a', 'agilent-3458a',
|
||||
'datron-1281', 'wavetek-1281','datron-1271', 'wavetek-1271',
|
||||
'advantest-r6581t', 'advantest-r6581','fluke-8508', 'keithley-2002', 'hp-3458A-2823A14043']
|
||||
|
||||
# If directory name contains meters go down and load in dataframe
|
||||
root, dirs, files = os.walk(os.getcwd()+"/INL-Measurements/").__next__()
|
||||
dirs = [i for i in os.listdir(os.getcwd()+"/INL-Measurements/") if not i.__contains__(('.'))]
|
||||
for dir in dirs:
|
||||
rootdevice, dirsdevice, filesdevice = os.walk(os.getcwd()+"/INL-Measurements/"+dir).__next__()
|
||||
for dirb in dirsdevice:
|
||||
rootdata, dirsdata, filesdata = os.walk(os.getcwd()+"/INL-Measurements/"+dir+'/'+dirb+"/data/").__next__()
|
||||
filedirs = [i for i in filesdata if i.__contains__(('.csv'))]
|
||||
for correctFile in filedirs:
|
||||
if not os.path.exists(os.getcwd()+"/INL-Measurements/"+dir+'/'+dirb+"/data/firstOrderRemoved"):
|
||||
os.makedirs(os.getcwd()+"/INL-Measurements/"+dir+'/'+dirb+"/data/firstOrderRemoved")
|
||||
df = pd.read_csv(os.getcwd()+"/INL-Measurements/"+dir+'/'+dirb+"/data/"+correctFile)
|
||||
df_closesta = df.iloc[(df['Measured Volts']-10).abs().argsort()[:1]].index[0]
|
||||
df_closestb = df.iloc[(df['Measured Volts']+10).abs().argsort()[:1]].index[0]
|
||||
df_closestc = df.iloc[(df['Set Volts']-10).abs().argsort()[:1]].index[0]
|
||||
df_closestd = df.iloc[(df['Set Volts']+10).abs().argsort()[:1]].index[0]
|
||||
a = df.at[df_closestc,'Measured Volts'] - df.at[df_closesta,'Set Volts']
|
||||
b = df.at[df_closestb,'Measured Volts'] - df.at[df_closestb,'Set Volts']
|
||||
firstorderslope = (a - b)/(10*2)
|
||||
for index, row in df.iterrows():
|
||||
tempval = df.at[index,'Measured Volts']
|
||||
df.at[index,'Measured Volts'] = df.at[index,'Measured Volts'] - firstorderslope*tempval
|
||||
df.to_csv(os.getcwd()+"/INL-Measurements/"+dir+'/'+dirb+"/data/firstOrderRemoved/"+correctFile, sep=';')
|
||||
df = pd.read_csv(os.getcwd()+"/INL-Measurements/"+dir+'/'+dirb+"/data/firstOrderRemoved/"+correctFile, sep=';')
|
||||
plt.plot(df["Set Volts"], (df["Set Volts"]-df["Measured Volts"]))
|
||||
plt.xlabel('Source Voltage')
|
||||
plt.ylabel('Delta Set/Meas')
|
||||
plt.title ('INLV sweep '+ correctFile[:-4])
|
||||
plt.savefig(os.getcwd()+"/INL-Measurements/"+dir+'/'+dirb+"/data/firstOrderRemoved/"+correctFile[:-4]+".jpg", bbox_inches='tight')
|
||||
plt.clf()
|
||||
del df
|
||||
|
||||
print("--------------------------")
|
||||
# If directory name contains meters go down and load in dataframe
|
||||
root, dirs, files = os.walk(os.getcwd()+"/INL-Measurements/").__next__()
|
||||
dirs = [i for i in os.listdir(os.getcwd()+"/INL-Measurements/") if not i.__contains__(('.'))]
|
||||
dirs[:] = [url for url in dirs if any(sub.upper() in url.upper() for sub in meterList)]
|
||||
for dir in dirs:
|
||||
rootdevice, dirsdevice, filesdevice = os.walk(os.getcwd()+"/INL-Measurements/"+dir).__next__()
|
||||
os.makedirs(os.getcwd()+"/INL-Measurements/CalibratorINLAverages/"+dir)
|
||||
print(dirsdevice)
|
||||
for dirb in dirsdevice:
|
||||
rootdata, dirsdata, filesdata = os.walk(os.getcwd()+"/INL-Measurements/"+dir+'/'+dirb+"/data/").__next__()
|
||||
print(filesdata)
|
||||
Loading…
x
Reference in New Issue
Block a user