diff --git a/downloadversionIRdata.py b/downloadversionIRdata.py index 214f43dddf9edb3bf45904e6a088c759df093839..64ac752e5cba2055d72a78f22bd7fd300f1507fd 100644 --- a/downloadversionIRdata.py +++ b/downloadversionIRdata.py @@ -514,6 +514,7 @@ if fastDL: resultdict.append(out_q.get()) for p in jobs: p.join() + print("all threads are done") order=[] for ele in resultdict: order.append(ele[0]) @@ -946,9 +947,10 @@ def get_temp_from_raw_by_program_V2(portnr,program,time_s=0,emi=0.8,version=1,th exist,time,frames=download_raw_images_by_program_via_png(portnr,program,time_s,version,threads) else: exist,time,frames=download_raw_images_by_program(portnr,program,time_s,version) - + print(datetime.datetime.now(),"raw download finished") temperatureimages=apply_calib_on_raw(frames,background,LUT,refT,gain,offset,False) del frames + print(datetime.datetime.now(),"correcting bad pixels") temperatureimages=correct_images(temperatureimages,badpixels) FOV=get_FOV_mask(portnr) valid=check_temperature_range(time[0],np.max(temperatureimages*FOV)-273.15,np.min(temperatureimages)-273.15,portnr,t_exp,cfilter) @@ -960,14 +962,20 @@ def apply_calib_on_raw(raw,background,LUT,refT=28.5,gain=0,offset=0,fullbackgrou del raw # images=images.swapaxes(1,2) if type(gain)!=int and type(offset)!=int: + print(datetime.datetime.now(),"NUCing") images=apply_NUC(images,gain,offset) - if fullbackground: - images=images[:]-background - else: - images=images-background + print(datetime.datetime.now(),"background treatment") +# if fullbackground: + for i in range(len(images)): + images[i]=images[i]-background +# else: +# for i in range(len(images)): +# images[i]=images[i]-background images=np.array(images.clip(min=0),dtype=np.uint16) - images=apply_LUT_to_images(LUT,images) - images=images+(refT+273.15) + print(datetime.datetime.now(),"applying LUT") + for i in range(len(images)): + images[i]=apply_LUT_to_images(LUT,images[i]) + images[i]=images[i]+(refT+273.15) return images except Exception as E: print(E) @@ -978,8 +986,9 @@ def apply_NUC(images,gain,offset): apply_NUC(images=numpy array(time,width,height),gain,offset =numpy array(width,height) ) """ try: - images=images[:]*gain - images=images[:]+offset + for i in range(len(images)): + images[i]=images[i]*gain + images[i]=images[i]+offset return images except Exception as E: print(E) @@ -1004,7 +1013,7 @@ def get_calib_data(port,program,emissivity=0.8,Temp_V=2,version=1): cfilter=0 expo_DL=get_exposure_by_times(port,t1,t6,version) if expo_DL[0]: - t_exp=expo_DL[2][0] + t_exp=int(expo_DL[2][0]) del expo_DL time=int(TimeToNs([2017,9,26],[8,0,0,0])) LUT_DL=download_LUT(port,time,t_exp,emissivity,cfilter,version) @@ -1065,10 +1074,11 @@ def find_badpixels(port,gain,offset): return np.array(badpixels,dtype=np.ubyte) def correct_images(images,badpixels): - cimages=[] - for imag in images: - cimages.append(restore_pixels(imag,np.invert(badpixels==1))) - return np.array(cimages) + + for i in range(len(images)): + images[i]=restore_pixels(images[i],np.invert(badpixels==1)) + print("done") + return images def restore_pixels(frame, bad_pixel): # make sure bad pixel are provided as mask and list @@ -1254,7 +1264,7 @@ valid_FOV_circle = { if __name__=='__main__': #status,time,images,valid=get_temp_from_raw_by_program_V1(51,"20171018.019",time_s=0,emi=0.8,divertorpart="all",version=1) - status,time,images,valid=get_temp_from_raw_by_program_V2(51,"20171109.045",time_s=0.9,emi=0.8,version=1,threads=1) + status,time,images,valid=get_temp_from_raw_by_program_V2(51,"20171121.028",time_s=6,emi=0.8,version=1,threads=8) \ No newline at end of file