add a .nx discover widget and / or a .h5 / bliss discover
Here is some code which does this already:
import os
import fnmatch
from tomwer.core.scan.scanfactory import ScanFactory
root_dir = "/data/visitor/in1153/bm05/20230131/cycle_C_LF/"
folder_pattern = "um_cm"
file_pattern = "*um_cm*.nx"
def discover_nx(folder) -> list:
nx_tomos = []
for file_ in os.listdir(folder):
full_file_path = os.path.join(folder, file_)
if os.path.isdir(full_file_path) and fnmatch.fnmatch(file_, folder_pattern):
nx_tomos.extend(discover_nx(full_file_path))
elif fnmatch.fnmatch(file_, pattern):
objs = ScanFactory.create_scan_objects(full_file_path, accept_bliss_scan=False)
nx_tomos.append(
objs
)
print("foudn objects are", objs)
return nx_tomos
scans = discover_nx("/data/visitor/in1153/bm05/20230131/cycle_C_LF/")
for scan in scans:
out_data = scan