In [1]:
from stack import *
N = 100;
L = 10.0e3; dL=0.2*L;
L1= 1.0e3; dL1=0.2*L1;
n0= 1.0; n1=1.35
#concat = lambda x: 'io_files/saved_stack_100_10um_1um_20p-'+ x +'.txt'
#files = map(concat,['A','B','C','D','E'])
#files = map(concat,['A'])
#stacks = map(load,files)
#stacks = map(load,['io_files/saved_stack_special-A.txt','io_files/saved_stack_special-B.txt'])
stacks = map(lambda q:random_stack(N/q,n0,n1,dL,L,dL1=dL1,L1=L1),[1])
#pyplot.figure(figsize=(18,5))
#output = map(lambda s:s.plot(),stacks)
stacks[0].plot()
In [2]:
#wlrange = [1300.0,1900.0]
wlrange = [1500.0,1650.0]
Nmodes = 1000
dw = (wlrange[1]-wlrange[0])/float(Nmodes)
#print 1.0/dw,"data points per nm"
#print dw,"nm per data point"
In [3]:
specs = map(lambda s:s.scan('transmission',wlrange,Nmodes,style='-'),stacks)
In [4]:
for j in range(len(specs)):
data = locate_spectral_peaks(abs(specs[j][:,1]))[:,0]
data = map(lambda j:data[j+1]-data[j],range(len(data)-1))
print 'average peak-to-peak distance is:',np.average(data)*dw,'nm'
In [12]:
"""
save(stacks[0],'io_files/saved_stack_special-A.txt')
save(stacks[1],'io_files/saved_stack_special-B.txt')
save(stacks[2],'io_files/saved_stack_100_2um_1um_20p-C.txt')
save(stacks[3],'io_files/saved_stack_100_2um_1um_20p-D.txt')
save(stacks[4],'io_files/saved_stack_100_2um_1um_20p-E.txt')
"""
def multiplot(corrs):
for corr in corrs:
pyplot.figure(figsize=(18,5))
pyplot.xscale('log')
pyplot.xlabel('wavelength displaced (nm)',fontsize=20)
pyplot.plot(np.arange(len(corr))*dw,abs(corr),'b-')
pyplot.show()
corrs = map(lambda s:autocorrelate((s[:,1]),900),specs)
#multiplot([reduce(lambda x,y:x+y,corrs)])
multiplot(corrs)
In [5]:
"""
fs = map(lambda c:abs(np.fft.rfft(c)),corrs)
for f in fs:
pyplot.figure(figsize=(18,5))
#pyplot.axis([2,20,0,1000])
pyplot.plot(f[1:200],'-o');pyplot.show()
"""
Out[5]:
In [ ]: