コード例 #1
0
ファイル: FirrSequence.py プロジェクト: qlibois/FIRRTools
 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
        
コード例 #2
0
ファイル: LUT_radiances.py プロジェクト: qlibois/FIRRTools
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)
コード例 #3
0
ファイル: LRTech_linearity.py プロジェクト: qlibois/FIRRTools
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