def get_netd(self,filters,spav='all',non_ill=1): self.organized(spav=spav) mean_netd = zeros([11]) mean_ner = zeros([11]) mean_sigma = zeros([11]) mean_sitf_temp = zeros([11]) mean_sitf_rad = zeros([11]) all_mean = self.all_mean all_std = self.all_std all_tms = self.all_tms for fil in filters: k = filters_positions.index(fil) if spav == 'all' or spav == 'fast': correct_pixels = [i for i in range(2) if all_mean[k,0,i]*all_mean[k,1,i]!=0] else: correct_pixels = [i for i in self.illuminated if all_mean[k,0,i]*all_mean[k,1,i]!=0] if not array(correct_pixels).size: # anomalies on all pixels, then no calculations print "NO GOOD PIXELS" mean_netd[num]=0 mean_sigma[num]=0 mean_sitf[num]=0 else: i_abb = searchsorted(self.temp_tms,all_tms[k,0])-1 i_hbb = searchsorted(self.temp_tms,all_tms[k,1])-1 sitf_temp = (all_mean[k,1,:] - all_mean[k,0,:])/(self.temp_hbb[i_hbb] - self.temp_abb[i_abb]) rad_hbb = Toolbox.radiance(self.temp_hbb[i_hbb]+273.15,fil,emiss_wls,emiss,self.temp_pm[i_hbb]) rad_abb = Toolbox.radiance(self.temp_abb[i_abb]+273.15,fil,emiss_wls,emiss,self.temp_pm[i_abb]) sitf_rad = (all_mean[k,1,:] - all_mean[k,0,:])/(rad_hbb - rad_abb) netd = abs(all_std[k,0,:]/sitf_temp) ner = abs(all_std[k,0,:]/sitf_temp) mean_netd[k] = mean(netd[correct_pixels]) mean_ner[k] = mean(ner[correct_pixels]) mean_sitf_temp[k] = mean(sitf_temp[correct_pixels]) mean_sitf_rad[k] = mean(sitf_rad[correct_pixels]) mean_sigma[k] = mean(all_std[k,0,correct_pixels]) self.sigma = mean_sigma self.netd = mean_netd self.ner = mean_ner self.sitf_temp = mean_sitf_temp self.sitf_rad = mean_sitf_rad
from pylab import * import os import glob from scipy.integrate import trapz, simps import Toolbox h = 6.62e-34 c = 3e8 kb = 1.38e-23 epsilon_wls = array([1, 50]) epsilon = array([1, 1]) Tpm = 300 filtres_ref = ["open", "F0007", "F0008", "F0009", "F0034", "F0035", "F0036", "F0010", "F0011", "F0014"] n = len(filtres_ref) temp = linspace(51, 350, 270) l = len(temp) LUT_radiances = zeros([l, n + 1]) LUT_radiances[:, 0] = temp[:] for k, f in enumerate(filtres_ref): for i, t in enumerate(temp): print t LUT_radiances[i, k + 1] = Toolbox.radiance(t, f, epsilon_wls, epsilon, 300) savetxt("LUT_radiances_new.txt", LUT_radiances)
emiss = em[:,1] """Treat measurements as a """ """Extract some nadir BB measurements only""" print "Computing NBB radiances" dates_select = [] rad_nadir = [] new_select = [] count = 0 for k in range(l): count+=1 if count%120==0: if selection[k] == 1: dates_select+=[dates[k]] rad_nadir+=[Toolbox.radiance(t_nadir[k]+273.15,all_filters[j],emiss_wls,emiss,24+273.15) for j in list_filters] n_select = len(dates_select) rad_nadir=reshape(array(rad_nadir),(n_select,11)) dnum = array([date2num(dates[k]) for k in range(l)]) if meas == "SET1": series = FirrSeries("/media/quentin/LACIE SHARE/FIRR_measurements/LR-TECH/SET1") elif meas == "SET2": series = FirrSeries("/media/quentin/LACIE SHARE/FIRR_measurements/LR-TECH/SET2") sequences = series.sequences series.get_temperature() temp_firr = series.temperature temp_firr_time = series.temp_time