Skip to content

Commit

Permalink
fetplot now loading all new density data
Browse files Browse the repository at this point in the history
  • Loading branch information
leobrowning92 committed Jan 17, 2018
1 parent e0b2f71 commit 2eb606a
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 13 deletions.
10 changes: 5 additions & 5 deletions afmdensityplot.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ def save_density_metrics(fname,tubedata,juncdata,lengths, splits=0):
lengths=lengths*5/1024
lengthMeanCorrected=sum(lengths)/(len(lengths)-splits)
percolationCorrected = calc_percolation(lengthMeanCorrected)
basename=os.path.basename(fname)[:-4]
data=[[basename, np.mean(juncdata), np.std(juncdata), np.mean(tubedata), np.std(tubedata), np.mean(lengths), np.std(lengths), calc_percolation(lengths), splits, np.mean(juncdata)-splits/25, np.mean(tubedata)-splits/25, lengthMeanCorrected,percolationCorrected]]
columns=["fname","junctionMean","junctionStd","tubeMean","tubeStd","lenthMean","lengthStd","percolation", "splits", "junctionMeanCorrected", "tubeMeanCorrected", "lengthMeanCorrected", "percolationCorrected"]
device=os.path.basename(fname)[4:13]
data=[[device, np.mean(juncdata), np.std(juncdata), np.mean(tubedata), np.std(tubedata), np.mean(lengths), np.std(lengths), calc_percolation(lengths), splits, np.mean(juncdata)-splits/25, np.mean(tubedata)-splits/25, lengthMeanCorrected,percolationCorrected]]
columns=["device","junctionMean","junctionStd","tubeMean","tubeStd","lenthMean","lengthStd","percolation", "splits", "junctionMeanCorrected", "tubeMeanCorrected", "lengthMeanCorrected", "percolationCorrected"]
df=pd.DataFrame(data, columns=columns)
df.to_csv( fname.replace("_tubes.txt", "_density.csv"), delimiter=',')

Expand Down Expand Up @@ -118,10 +118,10 @@ def plot_image(fname,save=False, show=True):
if show:
plt.show()
def combine_data(folder):
cols=["fname","junctionMean","junctionStd","tubeMean","tubeStd","lenthMean","lengthStd","percolation", "splits", "junctionMeanCorrected", "tubeMeanCorrected", "lengthMeanCorrected", "percolationCorrected"]
cols=["device","junctionMean","junctionStd","tubeMean","tubeStd","lenthMean","lengthStd","percolation", "splits", "junctionMeanCorrected", "tubeMeanCorrected", "lengthMeanCorrected", "percolationCorrected"]
fnames=glob.glob(folder+"*density.csv")
data=pd.concat([pd.read_csv(fname) for fname in fnames])
data.sort_values(by="fname",inplace=True)
data.sort_values(by="device",inplace=True)
data.to_csv("all_density_data.csv",index=False,columns=cols)


Expand Down
15 changes: 7 additions & 8 deletions fetplot.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,7 @@ def find_gate(fname):
try:return re.search('_([^_]*gate[^_]*)_', fname).group(1)
except: return "backgate"

def load_AFMdensities(directory='AFM_densities', v=False):
fnames = glob.glob(os.path.join(directory,"*"))
densities={os.path.basename(x)[7:13]:float(pd.read_csv(x)['1uMean'][0]) for x in fnames}
deviations ={os.path.basename(x)[7:13]:float(pd.read_csv(x)['1uStd'][0]) for x in fnames}
return densities,deviations

def get_metrics(df,fname):
df['IGmax']=max(df["IG"])
df['IDmax']=max(df["ID"])
Expand All @@ -102,6 +98,12 @@ def get_metrics(df,fname):
df['ONOFF']=np.nan
df["Ithresh"]=np.nan
df["Vthresh"]=np.nan


tubedata=pd.read_csv("all_density_data.csv")
for key in list(tubedata):
if key!="device":
df[key]=float( tubedata["junctionMeanCorrected"][ os.path.basename(fname)[0:9] ==tubedata.device ].values )
return df
def gate_area(gate):
areas={"backgate":3600,"topgate1":600,"topgate2":200,"topgate3":200,"topgate4":600}
Expand All @@ -128,7 +130,6 @@ def load_to_dataframe(directory,v=True,force=True):
for i in range(1,len(directory)):
fnames=fnames+glob.glob(os.path.join(directory[i],"data/COL*"))
fnames.sort()
mean,std=load_AFMdensities(v=v)
# process fnames
frames= [ get_metrics(pd.read_csv(fname),fname) for fname in fnames ]
# sets index to fname and concatenates dataset
Expand All @@ -150,8 +151,6 @@ def load_to_dataframe(directory,v=True,force=True):
df['sweep'] = df['temp'].apply(find_sweep)
df['timestamp']=df['temp'].apply(get_timestamp)
df['uuid']=df['temp'].apply(get_runID)
df['junctionMean']=df['device'].apply(lambda x: mean[x] if x in mean.keys() else np.nan)
df['junctionStd']=df['device'].apply(lambda x: std[x] if x in std.keys() else np.nan)
df['fname']=df['temp']
df.drop(['temp'],axis=1,inplace=True)
# resets the index to a unique identifier for a datarun
Expand Down

0 comments on commit 2eb606a

Please sign in to comment.