dotfiles

config files for my linux setup
git clone git://edryd.org/dotfiles
Log | Files | Refs | README

commit 95ec56c34149267f015b0f1638df8bd845ba9929
parent c87607344566c4ba7bb86d7ebb811a7ad90b459e
Author: Ed van Bruggen <ed@edryd.org>
Date:   Tue, 24 Dec 2024 15:44:15 -0500

bin: Add h5meta script

Diffstat:
Abin/h5meta | 44++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+), 0 deletions(-)

diff --git a/bin/h5meta b/bin/h5meta @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 +""" +Print metadata from H5 files. +Specially designed for Pocar Lab DAQ data files. + +Created on June 22, 2023 + +@author: Ed van Bruggen (evanbruggen@umass.edu) +""" + +import sys +import h5py +import pprint +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument('h5file', nargs='+') +parser.add_argument('-q', dest='quite_mode', action='store_true') +parser.add_argument('-v', dest='quite_mode', action='store_false') +parser.add_argument('-V', dest='volt_mode', action='store_true') +parser.set_defaults(quite_mode=False) +args = parser.parse_args() + +extra_attrs = [ 'AcquisitionMode', 'LowerLevel', 'Offset', 'OffsetTime', 'Preamp', 'Quota', + 'Range', 'SampleTime', 'Shaper', 'ShaperGain1', 'ShaperGain2', 'SlowControlUser', + # 'TemperatureMean', 'TemperatureStdDev', 'Xe(g)', + 'TriggerSlope', 'TriggerSource'] + +# Print all group's metadata +for f in args.h5file: + with h5py.File(f, 'r') as hdf: + if args.volt_mode: # print just the bias voltage + print(f, end=': ') + print(hdf['RunData'][next(iter(hdf['RunData'].keys()))].attrs['Bias(V)']) + continue + print(f"Run metadata: {dict(hdf['RunData'].attrs)}") + for groupname in list(hdf['RunData'].keys()): + metadata = dict(hdf['RunData'][groupname].attrs) + print(f"{groupname}:") + print(f"size: {hdf['RunData'][groupname][:].shape[1]}") + if args.quite_mode: # if in quite mode don't print extra attributes + for attr in extra_attrs: + metadata.pop(attr) + pprint.pprint(metadata) # ['Bias(V)']