AnsysLPFMTrame-App / datasets /DriveAerNet /create_splits_and_restructure_data.py
udbhav
Recreate Trame_app branch with clean history
67fb03c
### For only keeping the available data ids
import re
file_paths = ['train_val_test_splits_400/test_design_ids.txt',
'train_val_test_splits_400/val_design_ids.txt',
'train_val_test_splits_400/train_design_ids.txt']
for file_path in file_paths:
with open(file_path, 'r') as file:
lines = file.readlines()
updated_lines = []
for line in lines:
integers = list(map(int, re.findall(r'\d+', line)))
if 'F_D_WM_WW_' not in line:
continue
elif integers[0] > 403:
continue
else:
updated_lines.append(line)
with open(file_path, "w") as file:
file.writelines(updated_lines)
### For restructuring the vtk data folder for accessing in code
import os
import shutil
def flatten_folder(main_folder):
# Walk through subfolders (bottom-up so we can delete them)
for dirpath, dirnames, filenames in os.walk(main_folder, topdown=False):
# Skip the main folder itself
if dirpath == main_folder:
continue
for filename in filenames:
src = os.path.join(dirpath, filename)
dst = os.path.join(main_folder, filename)
# If filename exists, append a counter to avoid overwriting
base, ext = os.path.splitext(filename)
count = 1
while os.path.exists(dst):
dst = os.path.join(main_folder, f"{base}_{count}{ext}")
count += 1
shutil.move(src, dst)
print(f"Moved {src} to {dst}")
# Remove the (now empty) subfolder
os.rmdir(dirpath)
print(f"Deleted folder {dirpath}")
# Usage
main_folder = '../driveaer_raw'
flatten_folder(main_folder)