diff --git a/downloadversionIRdata.py b/downloadversionIRdata.py index 7dd132267772503ab0bba48bd86ff8899b634419..098d00aa9a12b494dc341db1f7c2302f6fe0604b 100644 --- a/downloadversionIRdata.py +++ b/downloadversionIRdata.py @@ -341,15 +341,7 @@ def get_NUC_by_times(port,starttime,endtime,t_exp,version=0): cold=np.asarray(cold/len(coldframes),dtype=np.uint16) else: return False,[0],[0] - cold2=coldframes[0] - coldref2, hotref2 = IR_tools.load_ref_images('AEF' + str(port), t_exp) gain, offset = IR_tools.calculate_gain_offset_image(cold, None, coldref, hotref) - gain2, offset2 = IR_tools.calculate_gain_offset_image(cold2, None, coldref2, hotref2) - plt.imshow(offset,vmin=np.median(offset)-500,vmax=np.median(offset)+500) - plt.title("offset") - plt.figure() - plt.imshow(offset2,vmin=np.median(offset2)-500,vmax=np.median(offset2)+500) - plt.title("offset2") badpixels=find_badpixels(port,gain,offset,niterations=10,tolerance=10) return True,[gain,offset,cold,badpixels,gain_error,offset_error],['gain','offset','cold','badpixels','gain_error','offset_error'] else: @@ -360,7 +352,7 @@ def download_calibration_raw_files_by_time(port,t_exp,starttime,endtime,frametyp download_calibration_raw_files_by_time(port,t_exp,starttime,endtime,frametype=0,version=0) frametype: 0 for closed shutter frames (cold), 1 for open shutter frames (background) """ - gotit,time_t,texp_t=get_exposure_by_times(port,starttime,int(endtime-100)) + gotit,time_t,texp_t=get_exposure_by_times(port,int(starttime-100),int(endtime-20e6)) if gotit: expinds=np.where(texp_t==t_exp)[0] if len(expinds)==0: @@ -369,11 +361,13 @@ def download_calibration_raw_files_by_time(port,t_exp,starttime,endtime,frametyp else: print("exposure time not found") return False,[0],[0] - gotitf,timef,values_f=get_frametype_by_times(port,starttime,endtime) + gotitf,timef,values_f=get_frametype_by_times(port,int(starttime-100),int(endtime-20e6)) if gotitf: - typiinds=np.where(values_f==frametype)[0] + typiinds=np.where(values_f[expinds]==frametype)[0] if len(typiinds)>0: - ref_t=[np.min(timef[typiinds]),np.max(timef[typiinds])] + ref_t=[np.min(timef[expinds][typiinds]),np.max(timef[expinds][typiinds])] +# print((ref_t[1]-ref_t[0])/1e9) +# print(len(timef),len(timef[expinds]),len(timef[expinds][typiinds])) else:#okay the early data stuff or strange stuff print("frame type was not identified assuming that the first part is the cold and the second one the background") frametimes=time_t[expinds] @@ -381,10 +375,11 @@ def download_calibration_raw_files_by_time(port,t_exp,starttime,endtime,frametyp turnpoint=np.where(np.asarray(diftime)>11e6)[0][0] if frametype==0: ref_t=[np.min(frametimes[0:turnpoint+1]),np.max(frametimes[0:turnpoint+1])] + print((ref_t[1]-ref_t[0])/1e9) elif frametype==1: # print(len(frametimes[turnpoint+1:]),len(frametimes[0:turnpoint+1]),len(frametimes)) ref_t=[np.min(frametimes[turnpoint+1:]),np.max(frametimes[turnpoint+1:])] -# print((ref_t[1]-ref_t[0])/1e9) + print((ref_t[1]-ref_t[0])/1e9) else: raise Exception("requested Frametype unknown and not implemented!") else: @@ -392,15 +387,15 @@ def download_calibration_raw_files_by_time(port,t_exp,starttime,endtime,frametyp return False,[0],[0] t1date=datetime.datetime.utcfromtimestamp((endtime-100)/1e9) t1date=t1date.isoformat() - t0date=datetime.datetime.utcfromtimestamp((starttime-100)/1e9) + t0date=datetime.datetime.utcfromtimestamp((starttime-15e6)/1e9) t0date=t0date.isoformat() if version==0: version=get_latest_version("QRT_IRCAM/AEF"+str(port)+"_raw_DATASTREAM") larchivepath=archivepath+"QRT_IRCAM/"+"AEF"+str(port)+"_raw_DATASTREAM/V"+str(version)+"/0/raw" timest0=AKF_2.get_time_intervals(larchivepath,t0date.replace("T"," "),t1date.replace("T"," ")) - t_offset=np.min(timest0)-time_t[0] + t_offset=timest0[-1][0]-time_t[0] if t_offset>10e6: - print("time offset detected, try to correct this") + print("time offset detected, try to correct this, offset is",t_offset) else: t_offset=0 # print("starttime frames:",np.min(timest0),"starttime metachannels:",time_t[0],"offset",t_offset) @@ -568,7 +563,7 @@ def download_raw_images_by_times(port,starttime,stoptime,version=0,intervalSize= raise Exception if (stoptime-starttime)/intervalSize>1: nrinterv=int(np.ceil((stoptime-starttime)/intervalSize)) - print("timewindow to large, splitting into smaller fractions ("+str(nrinterv)+")") + print("timewindow to large, splitting into smaller fractions ("+str(nrinterv)+")",(stoptime-starttime)/1e9) intervalls=[] for i in range(nrinterv): intervalls.append(int(starttime-10+i*intervalSize)) @@ -1921,12 +1916,12 @@ if __name__=='__main__': prog="20171109.056" prog="20171207.050" program="20180712.027" - port=11 - prog="20180718.030" + port=20 + prog="20180724.030" status,time,images,valid=get_temp_from_raw_by_program(port,prog,time_s=[0,1],emi=0.82,T_version=2,version=0,threads=4,give_ERROR=False,use_firstframe_as_background=False) # status,time,images=download_raw_images_by_program_via_png(port,prog,time_s=1,threads=4,verbose=0) -# test=get_NUC_by_program(port,prog,8,version=0) + test=get_NUC_by_program(port,prog,8,version=0) # print(len(images)) # import h5py as h5 # szene=h5.File("X:\\E4 Diagnostics\\QIR\Calibrations\\scene_models\\AEF"+str(port)+"\\AEF"+str(port)+"_scene_model.h5") @@ -1941,7 +1936,7 @@ if __name__=='__main__': # cb.set_label("temperature K", rotation=270,labelpad=26,fontsize=26) # cb.ax.tick_params(labelsize=26) plt.figure()# # plt.imshow(CAD,cmap='gray') - plt.imshow(images[-1],vmin=300,vmax=600,cmap=exJet) + plt.imshow(images[-1],vmin=300,vmax=400,cmap=exJet) cb=plt.colorbar() cb.set_label("temperature K", rotation=270,labelpad=26,fontsize=26) cb.ax.tick_params(labelsize=26)