from IPython.core.display import Image, display
import numpy as np
import pandas as pd
from polybot import data_tools
Table of Contents
data = pd.read_csv('spectro_data/1.csv',header=0)
data
x = data['Wavelength (nm)'].to_numpy()
y = data['Abs_sebs-0'].to_numpy()
data_tools.spectro_plot(x, y, png='spectro_data/1.png')
print("top: raw data, bottom: smoothed curve and peak identification")
display(Image(filename="spectro_data/1.png",width=600))
out = data_tools.spectro_extract_peaks(x, y)
print('peak positions =',out['peaks'])
print('peak heights =',out['peaks_y'])
data = pd.read_csv('IV_data/1.csv',header=0)
data
data_tools.IV_plot(data, png='IV_data/1.png')
print("I-V curve of interest is in red")
display(Image(filename="IV_data/1.png",width=600))
out = data_tools.IV_analysis(data)
out
left: trenches (acceptable but not preferred), right: bad morphology (must reject)
smooth surfaces hence low contrast
print("# image_file, variance, defective film?")
for i in [1,2,3,4]:
imagefile = f"imaging_data/{i}.png"
variance = data_tools.imaging_variance(imagefile)
print(f"| {imagefile}, {variance:.6f}, {variance>0.001}")
variance filter highlights defects in films
variance filter has minimal effect on non-defective films