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