From 2cc95d92b5ea633e11499b4a23f88f74ffa6ebf0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gr=C3=B6ne=2C=20Tjark=20Leon=20Raphael?=
 <tjark.leon.raphael.groene@uni-hamburg.de>
Date: Mon, 16 Jun 2025 17:54:31 +0200
Subject: [PATCH] Update file maxwell_integrate_to_h5.py

---
 maxwell_integrate_to_h5.py | 45 ++++++++++++++++++++------------------
 1 file changed, 24 insertions(+), 21 deletions(-)

diff --git a/maxwell_integrate_to_h5.py b/maxwell_integrate_to_h5.py
index 0bca638..43bd446 100644
--- a/maxwell_integrate_to_h5.py
+++ b/maxwell_integrate_to_h5.py
@@ -16,6 +16,8 @@ from watchdog.events import PatternMatchingEventHandler
 from multiprocessing.pool import ThreadPool as Pool
 import pandas as pd
 
+
+
 global NPROC
 
 
@@ -50,9 +52,6 @@ def integrate_ims_in_dir(path_im, path_int, dtype_im=".tif", dtype_int=".dat"):
         global POLARIZATION
         global ERRORMODE
 
-        if not os.path.isdir(path_int):
-            os.mkdir(path_int)
-
         im = fabio.open(fname_im).data
         basename_int = os.path.basename(fname_im)[:-len(dtype_im)] + dtype_int
         fname_int = os.path.join(path_int, basename_int)
@@ -93,10 +92,14 @@ def integrate_ims_in_dir(path_im, path_int, dtype_im=".tif", dtype_int=".dat"):
 
     pool = Pool(int(NPROC))
     for subdir in set(os.path.dirname(fname) for fname in fnames_ims):
+        
+            
         subdir_fnames = [fname for fname in fnames_ims if os.path.dirname(fname) == subdir]
         subdir_path_int = path_int_list[fnames_ims.index(subdir_fnames[0])]
+        
+        if not os.path.isdir(subdir_path_int):
+            os.mkdir(subdir_path_int)
 
-        results = []
         filtered_fnames = [fname_im for fname_im in subdir_fnames if "metadata" not in fname_im]
 
         if filtered_fnames:
@@ -107,24 +110,24 @@ def integrate_ims_in_dir(path_im, path_int, dtype_im=".tif", dtype_int=".dat"):
                 filtered_fnames
             )
 
-            pool.close()
-            pool.join()
-
-            # Export the DataFrame to a CSV file with the name of the subdirectory
-            if async_result.ready():
-                # Retrieve results from async_result
-                results_data = async_result.get()
-                results_df = pd.DataFrame(results_data)
-                results_df = results_df.sort_values(by="filename", key=lambda col: col.str.lower())
-                subdir_name = os.path.basename(os.path.normpath(subdir_path_int))
-                results_df.to_csv(os.path.join(subdir_path_int, f"{subdir_name}.csv"), index=False)
-                results_df.to_hdf(os.path.join(subdir_path_int, f"{subdir_name}.h5"), key='data', mode='w')
-                print(f"Results for subdirectory {subdir_name} saved to CSV and HDF5 files.")
-                del results_df
-            else:
-                print(f"No images were integrated in subdirectory {subdir}. No results DataFrame created.")
+        pool.close()
+        pool.join()
+
+        # Export the DataFrame to a CSV file with the name of the subdirectory
+        if async_result.ready():
+            # Retrieve results from async_result
+            results_data = async_result.get()
+            results_df = pd.DataFrame(results_data)
+            results_df = results_df.sort_values(by="filename", key=lambda col: col.str.lower())
+            subdir_name = os.path.basename(os.path.normpath(subdir_path_int))
+            results_df.to_csv(os.path.join(subdir_path_int, f"{subdir_name}.csv"), index=False)
+            results_df.to_hdf(os.path.join(subdir_path_int, f"{subdir_name}.h5"), key='data', mode='w')
+            print(f"Results for subdirectory {subdir_name} saved to CSV and HDF5 files.")
+            del results_df
         else:
-            print(f"No valid filenames found in subdirectory {subdir}.")
+            print(f"No images were integrated in subdirectory {subdir}. No results DataFrame created.")
+    else:
+        print(f"No valid filenames found in subdirectory {subdir}.")
 
         # Reset the pool for the next subdirectory
         pool = Pool(int(NPROC))
-- 
GitLab