Esempio n. 1
0
if False:
    fg,ax = pl.subplots(1)
    idx = range(655,745)
    rndrow = 177 # Chosen by looking for nasty examples
    x, y = d.qu1.lmbd[idx],d.qu1[rndrow,idx]
    ax.step(x,y)
    ax.xaxis.set_major_formatter(ticker.StrMethodFormatter("{x:3.1f}"))   
    ax.set_xlabel("Wavelength [nm]")
    ax.set_ylabel("Relative intensity")
    fg.savefig("../thesis/presentation/noise_spectra.png")
    fg.show()

d =  __import__("6405")
rndrow = 177
con =  spc.continua(d.qu1m,d.qu1.lmbd,"top N")
scon =  spc.continua(d.qu1m,d.qu1.lmbd,"segments")

pl.plot(d.qu1.lmbd,d.qu1m)
pl.plot(d.qu1.lmbd[con.idx],d.qu1m[con.idx],'rx')
pl.plot(d.qu1.lmbd[scon.idx],d.qu1m[scon.idx],'ko')
pl.show()

n_con =  spc.continua(d.qu1[rndrow,:],d.qu1.lmbd,"top N")
n_scon =  spc.continua(d.qu1[rndrow,:],d.qu1.lmbd,"segments")

pl.plot(d.qu1.lmbd,d.qu1[rndrow,:])
pl.plot(d.qu1.lmbd[n_con.idx],d.qu1[rndrow,n_con.idx],'rx')
pl.plot(d.qu1.lmbd[n_scon.idx],d.qu1[rndrow,n_scon.idx],'ko')
pl.show()
Esempio n. 2
0
    ax.set_ylabel("Number of spectra")
    ax.set_title("Distribution of continuum value")
    ax.figure.show()

def selected(cont,spec):
    mnspec = spec[:,:].mean(axis=0)
    pl.plot(spec.lmbd,mnspec)
    pl.plot(cont.lmbd,mnspec[cont.idx],'ro')
    pl.show()

def normalize(block,lmbd,continua):
    return block/continua(lmbd,block)

# Defining
as1_const   = copy.deepcopy(as1)
as1_manual  = copy.deepcopy(as1); con_as1_const   = spc.continua(np.array(as1flat),as1.lmbd,"manual")
as1_top20   = copy.deepcopy(as1); con_as1_top20   = spc.continua(as1[:,:].mean(axis=0),as1.lmbd,"top 20")
as1_segment = copy.deepcopy(as1); con_as1_segment = spc.continua(as1[:,:].mean(axis=0),as1.lmbd,"segments")

# Normalize
as1_const.modify(lambda x: x/cont_as1.reshape(-1,1))
as1_manual.modify(lambda x:  normalize(x,as1.lmbd,con_as1_const))
as1_top20.modify(lambda x:   normalize(x,as1.lmbd,con_as1_top20))
as1_segment.modify(lambda x: normalize(x,as1.lmbd,con_as1_segment))

# Evaluate, special windows to not evaluate on training set
cas1_const = as1_const[:,list(range(584,622))].mean(axis=1)
cas1_manua = as1_manual[:,list(range(584,622))].mean(axis=1)
cas1_top20 = as1_top20[:,list(range(584,622))].mean(axis=1)
cas1_segme = as1_segment[:,list(range(584,622))].mean(axis=1)
cas1_orig  = as1[:,list(range(584,622))].mean(axis=1)