Parcourir la source

Add of modulo extraction

Jérôme BUISINE il y a 3 ans
Parent
commit
20e567da91
1 fichiers modifiés avec 45 ajouts et 0 suppressions
  1. 45 0
      run/extract_specific_modulo.py

+ 45 - 0
run/extract_specific_modulo.py

@@ -0,0 +1,45 @@
+import os
+import argparse
+import glob
+
+
+def main():
+
+    parser = argparse.ArgumentParser(description="Extract specific samples indices")
+
+    parser.add_argument('--folder', type=str, help='folder with all rawls files', required=True)
+    parser.add_argument('--modulo', type=str, help='every image to take', required=True)
+    parser.add_argument('--output', type=str, help='folder with all png files', required=True)
+
+    args = parser.parse_args()
+
+    p_folder = args.folder
+    p_output = args.output
+    p_modulo = args.modulo
+
+    images_path = glob.glob(f"{p_folder}/**/**/*.rawls")
+
+    for img in sorted(images_path):
+
+        # replace expected Samples value
+        img_data = img.split('-')
+        index_img = int(img_data[-1].split('.')[0])
+
+        if (index_img % p_modulo) - 1 == 0:
+
+            output_path = output_path.replace(p_folder, p_output)
+            output_folder, _ = os.path.split(output_path)
+
+            if not os.path.exists(output_folder):
+                os.makedirs(output_folder)
+            
+            if not os.path.exists(output_path):
+                os.system(f'cp {img} {output_path}')
+            else:
+                print(f'{output_path} already exists')
+        else:
+            print(f'Not considered: {img}')
+    
+
+if __name__ == "__main__":
+    main()