From 9282d4580c2ea5e132cafd4eab6e358ddbec9ade Mon Sep 17 00:00:00 2001
From: Holger Niemann <holger.niemann@ipp.mpg.de>
Date: Fri, 3 May 2019 11:32:39 +0200
Subject: [PATCH] Update V3.2.2: Bugfixe for range overflow in calibration
 method, update of examples to new code structure, smaller bug fixes

---
 downloadversionIRdata.py | 42 ++++++++++++++++++++++++----------------
 plot_IR_data.py          |  2 +-
 plot_heatflux_example.py |  4 ++--
 3 files changed, 28 insertions(+), 20 deletions(-)

diff --git a/downloadversionIRdata.py b/downloadversionIRdata.py
index f0e9d9f..729c6e5 100644
--- a/downloadversionIRdata.py
+++ b/downloadversionIRdata.py
@@ -1797,6 +1797,8 @@ def get_temp_from_raw_by_program(portnr,program,time_window=0,emi=0.8,T_version=
                             
                             for i in range(len(frames)):
                                 frames[i]=(frames[i]*FOV).astype(np.float32)
+                            
+#                            if portnr!=50:
                             if verbose>0:
                                 print(datetime.datetime.now(),"get_temp_from_raw_by_program: correcting bad pixels")
                             frames=IR_tools.correct_images(frames,badpixels)
@@ -2108,7 +2110,7 @@ def apply_calib_on_raw(images,background,LUT,refT=28.5,gain=0,offset=0,gain_erro
 #        if fullbackground:
         #sbackground=np.zeros(np.shape(images[0]),dtype=np.float32)+background
         for i in range(len(images)):
-            images[i]=np.clip((images[i]-background),a_min=0,a_max=None).astype(np.uint16)
+            images[i]=np.clip((images[i].astype(np.int32)-background),a_min=0,a_max=None).astype(np.uint16)
 #        else:
 #            for i in range(len(images)):
 #                images[i]=images[i]-background
@@ -2638,7 +2640,7 @@ def download_heatflux_by_times(port,tstart,tend,time_window=0,threads=1,testmode
                 if verbose>0:
                     print(now,"download_heatflux_by_times: heat flux data is not available, creating request")          
                 if request:
-                    f=open(heatflux_requestlist_path+str(now.year)+str(now.month)+"_q_requests.txt",'a')
+                    f=open(heatflux_requestlist_path+str(now.year)+str(now.month-1)+"_q_requests.txt",'a')
                     try:
                         programid=AKF_2.get_program_id(tstart)
                     except Exception as E:
@@ -3333,24 +3335,30 @@ if __name__=='__main__':
     print("local function calling") 
     
 #%% temperature download and plotting example                  
-#    port=50#"AEF50"#"AEF51"
-#    prog="20180920.042"#"20171109.021"#"20181010.036"
-#    status,time,images,valid=get_temp_from_raw_by_program(port,prog,time_window=[0,2],emi=0.82,T_version=2,version=0,threads=1,give_ERROR=False,use_firstframe_as_background=False,verbose=50,framerate=1)
+    port=50#"AEF50"#"AEF51"
+    prog='20170927.020'#"20181011.036"#"20181016.037"#"20180920.042"#"20171109.021"#"20181010.036"
+    status,time,images,valid=get_temp_from_raw_by_program(port,prog,time_window=[0,4],emi=0.80,T_version=2,version=0,threads=4,give_ERROR=False,use_firstframe_as_background=False,verbose=5)
+#    status2,time2,images2=download_raw_images_by_program(port,prog,time_window=0.02,verbose=5)
+#    bla=get_calib_data(50,program=prog,verbose=5)
 #    success,t,s,profile=extract_temperature_profile_from_DL(port,np.asarray(time-time[0])/1e9,images,profile="TM3h_5_5",verbose=10,reference_time=time[0])
-#    if status:
-#        plt.figure()
-#        plt.imshow(images[0],vmin=330,vmax=1000,cmap=exJet)
-#        cb=plt.colorbar()
-#        cb.set_label("temperature in K",rotation=270,labelpad=20,fontsize=20)
-#        cb.ax.tick_params(labelsize=20)
+    if status:
+        plt.figure()
+        plt.imshow(images[0],vmin=330,vmax=1000,cmap=exJet)
+        cb=plt.colorbar()
+        cb.set_label("temperature in K",rotation=270,labelpad=20,fontsize=20)
+        cb.ax.tick_params(labelsize=20)
 #%% heatflux test
 #    port=10
-#    prog="20171114.039"    
-#    status,time,images=download_heatflux_by_program(port,prog,timewindow=0.5,threads=1,version=1,verbose=3,givealpha=False,request=True)
-#    if status:
-#        print(prog,port,"OK")
-#    else:
-#        print(prog,port,"missing")
+#    prog="20180904.015" 
+#    
+#    for prog in ["20180823.016","20180918.045","20181016.037","20181009.024","20181016.016"]:#"20171207.024","20180814.024","20181016.016","20181010.036"]:
+#        for port in [10,11,20,21,30,31,40,41,50,51]:
+#            status,time,images=download_heatflux_by_program(port,prog,time_window=4,threads=4,version=2,verbose=3,givealpha=False,request=True)            
+##            status,time,load,error=download_divertor_load(port,targetmodule=['all','tm1h'],program=prog,verbose=5,version=3)
+#            if status:
+#                print(prog,port,"OK")
+#            else:
+#                print(prog,port,"missing")
 #        plt.figure(),plt.imshow(images[0],vmin=0)
 #        plt.figure(),plt.imshow(images[50],vmin=0)
 #    status,mapping=download_heatflux_mapping_reference(verbose=4)
diff --git a/plot_IR_data.py b/plot_IR_data.py
index 6c34d00..29a58e5 100644
--- a/plot_IR_data.py
+++ b/plot_IR_data.py
@@ -15,7 +15,7 @@ if __name__=='__main__':
     
     #%% loading data
     print(datetime.datetime.now(),"start")
-    status,time,images,valid=downIR.get_temp_from_raw_by_program(10,"20180801.017",time_s=2.5,emi=0.8,T_version=2,version=0,threads=1,give_ERROR=False,verbose=5)
+    status,time,images,valid=downIR.get_temp_from_raw_by_program(10,"20180801.017",time_window=2.5,emi=0.8,T_version=2,version=0,threads=1,give_ERROR=False,verbose=5)
     print('fertig')
     
     #%% plotting data
diff --git a/plot_heatflux_example.py b/plot_heatflux_example.py
index db6091d..67e41e6 100644
--- a/plot_heatflux_example.py
+++ b/plot_heatflux_example.py
@@ -16,12 +16,12 @@ if __name__=='__main__':
     
     #%% loading data
     print(datetime.datetime.now(),"start")
-    status,times,images=IR.download_heatflux_by_program(port,program,time_window=0.9,version=1,threads=1,verbose=5,testmode=False)
+    status,times,images=IR.download_heatflux_by_program(port,program,time_window=6.5,version=2,threads=1,verbose=5,testmode=False)
     print('done')
     
     #%% plotting data
     if status:
-        status2,time,s,q=IR.extract_heatflux_profile_from_DL((np.asarray(times)-times[0])/1e9,images,profile="TM3h_5_5",time_window=0.5,verbose=5,testmode=False)        
+        status2,time,s,q=IR.extract_heatflux_profile_from_DL((np.asarray(times)-times[0])/1e9,images,profile="TM3h_5_5",time_window=None,verbose=5,testmode=False)        
         plt.figure()
         plt.imshow(images[-1]/1e6)
         plt.clim([0,4])
-- 
GitLab