Source code for patato.convenience_scripts.scan_status

#  Copyright (c) Thomas Else 2023-25.
#  License: MIT

import argparse
import glob
from os.path import join

import h5py
from ..utils import sort_key


[docs] def init_argparse(): parser = argparse.ArgumentParser(description="Look at the status of a data folder.") parser.add_argument("input", type=str, help="Data Folder") parser.add_argument( "-v", "--version", action="version", version=f"{parser.prog} version 0.1" ) return parser
[docs] def main(): p = init_argparse() args = p.parse_args() for filename in sorted(glob.glob(join(args.input, "*.hdf5")), key=sort_key): print(filename) data_file = h5py.File(filename, "r") # 1. Check raw data and print name if "raw_data" in data_file: print("Scan name", data_file["raw_data"].attrs["name"]) print("Raw data present" if "raw_data" in data_file else "Raw data not present") if "raw_data" in data_file: print( "Speed of sound set" if "speedofsound" in data_file["raw_data"].attrs else "Speed of sound not set" ) # 2. Check reconstructions if "recons" in data_file: for method in data_file["recons"]: print(method + ": " + str(len(data_file["recons"][method]))) else: print("No reconstructions present") # 3. Unmixing? if "unmixed" in data_file: for method in data_file["unmixed"]: print( "Unmixed results:" + method + ": " + str(len(data_file["unmixed"][method])) ) else: print("No unmixed results present") # 4. Rois? if "rois" in data_file: for region in data_file["rois"]: print(region + ":", len(data_file["rois"][region])) else: print("No rois available") print("\n")