|
@@ -0,0 +1,55 @@
|
|
|
|
+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('--index', type=str, help='current rawls image index', required=True)
|
|
|
|
+ parser.add_argument('--nsamples', type=str, help='expected nsamples for image', 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_index = args.index
|
|
|
|
+ p_samples = args.nsamples
|
|
|
|
+
|
|
|
|
+ expected_index = str(p_index)
|
|
|
|
+
|
|
|
|
+ while len(expected_index) < 6:
|
|
|
|
+ expected_index = "0" + expected_index
|
|
|
|
+
|
|
|
|
+ output_index = ""
|
|
|
|
+ while len(output_index) < 6:
|
|
|
|
+ output_index = "0" + output_index
|
|
|
|
+
|
|
|
|
+ images_path = glob.glob(f"{p_folder}/**/**/*{expected_index}.png")
|
|
|
|
+
|
|
|
|
+ for img in sorted(images_path):
|
|
|
|
+
|
|
|
|
+ # replace expected Samples value
|
|
|
|
+ img_data = img.split('-')
|
|
|
|
+ img_data[-2] = "S" + p_samples
|
|
|
|
+ img_data[-1] = output_index + ".png"
|
|
|
|
+
|
|
|
|
+ output_path = '-'.join(img_data)
|
|
|
|
+
|
|
|
|
+ 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')
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+if __name__ == "__main__":
|
|
|
|
+ main()
|