Skip to content
Snippets Groups Projects
Commit 5a29bfeb authored by Vlad Kondratiev's avatar Vlad Kondratiev
Browse files

added two new scripts to get BF metadata from HDF5 BF file, and to create...

added two new scripts to get BF metadata from HDF5 BF file, and to create input JSON template for Pulp2 pipelines
parent 29bc8cb9
Branches
No related tags found
No related merge requests found
#!/bin/bash
#
# Script to create input JSON template for Pulp2 pipelines
# (for now 'Pulp2-folding' and 'Pulp2-redigitization')
# given the directory with the input data (.h5 and .raw)
# The output JSON will be printed out to stdout.
#
# Vlad Kondratiev (c) - 06-2025
#
if [ $# -eq 0 ]; then
echo "Usage: $0 <Pulp2 code> <dir with .h5 files> [extra files filter, e.g. '_B000_' will select all fiels for Beam 0]"
echo " where <Pulp2 code> is:"
echo " 1 - Pulp2-redigitization"
echo " 2 - Pulp2-folding"
exit 0
fi
pulp2_code=$1
if [[ $# -gt 1 ]]; then
inputdir=$2
else
echo "Error: You need to provide directory with .h5/.raw files!"
exit 1
fi
case $pulp2_code in
1 | 2)
;;
*)
echo "Error: unknown Pulp2 pipeline!"
exit 1
esac
if [[ $# -gt 2 ]]; then
inputfiles=`ls -1 ${inputdir} | grep h5 | grep $3`
else
inputfiles=`ls -1 ${inputdir} | grep h5`
fi
is_next=0
echo "{"
echo " \"sasid\": \"\","
case $pulp2_code in
2)
echo " \"use_pdmp\": false,"
echo " \"use_paz\": true,"
echo " \"use_clfd\": true,"
echo " \"nozap\": false,"
echo " \"tsubint\": 5,"
echo " \"sp_subint\": false,"
echo " \"remove_dm_delays\": false,"
echo " \"nbins\": 256,"
echo " \"parfile\": null,"
echo " \"parfile_string\": \"\","
echo " \"get_parfile_from_psrcat\": true,"
echo " \"extra_channels_factor\": 6,"
echo " \"nthreads\": 8,"
;;
1)
echo " \"output_dir\": \"8-bit\","
echo " \"nsigma\": 5.1,"
;;
esac
echo " \"h5in\": ["
for infile in $inputfiles; do
if [ $is_next -eq 1 ]; then
echo " ,"
fi
echo " {"
echo " \"class\": \"File\", \"path\": \"${inputdir}/${infile}\""
echo " }"
is_next=1
done
echo " ]"
echo "}"
#!/usr/bin/env python3
#
# Prints out the keys and attributes of the root group (/) of HDF5 metadata
# of the LOFAR BF .h5 file
#
# Vlad Kondratiev, ASTRON (c) - 28.05.2025
#
import os, sys
import numpy as np
import argparse
import h5py
if __name__ == "__main__":
# Read command line arguments
parser = argparse.ArgumentParser(prog='lofar_bf_h5info.py', usage='%(prog)s [options] <h5_file>', \
description="Prints out keys/attrs of the Root group of HDF5 metadata")
parser.add_argument('h5_file', nargs='?', help='input .h5 file')
args = parser.parse_args(args=None if sys.argv[1:] else ['--help'])
try:
h5 = h5py.File(args.h5_file)
group = h5["/"]
keys = sorted(["%s" % item for item in sorted(list(group.attrs))])
for key in keys:
print(key + " = " + str(group.attrs[key]))
except FileNotFoundError as err:
print ("File not found:\n%s" % (err))
sys.exit(1)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment