From ed135cad77c52f65e0a3d7ecdeebbca492b7becd Mon Sep 17 00:00:00 2001 From: Thomas White Date: Thu, 8 Feb 2018 17:12:07 +0100 Subject: Add scripts/sum-hdf5-files --- Makefile.am | 3 ++- scripts/sum-hdf5-files | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 scripts/sum-hdf5-files diff --git a/Makefile.am b/Makefile.am index 3a32a42d..c3072602 100644 --- a/Makefile.am +++ b/Makefile.am @@ -184,7 +184,8 @@ script_DATA = scripts/alternate-stream scripts/cell-please \ scripts/detector-shift scripts/turbo-index-lsf \ scripts/gaincal-to-saturation-map scripts/move-entire-detector \ scripts/split-by-mask scripts/turbo-index-slurm \ - scripts/sum-peaks scripts/peakogram-stream scripts/eiger-badmap + scripts/sum-peaks scripts/peakogram-stream scripts/eiger-badmap \ + scripts/sum-hdf5-files EXTRA_DIST += $(script_DATA) diff --git a/scripts/sum-hdf5-files b/scripts/sum-hdf5-files new file mode 100644 index 00000000..22fea42b --- /dev/null +++ b/scripts/sum-hdf5-files @@ -0,0 +1,34 @@ +#!/usr/bin/env python + +import numpy as np +import h5py +import sys + +dfh = h5py.File("darkcal_jungfrau_13_05_1428.h5", "r") +darkcal = dfh["/data/data"].value +dfh.close + +sum = np.zeros((512,1024), dtype=float) +f = open(sys.argv[1], 'r') + +while True: + + fline = f.readline() + if not fline: + break + fn = fline.rstrip("\r\n") + filename = fn.split()[0] + ev = int(fn.split()[1].lstrip("/")) + + fh = h5py.File(filename, 'r') + dset = fh["/entry/instrument/detector/data"][ev,:,:].astype(np.float) + dset -= darkcal + sum = np.add(sum, dset) + fh.close() + print("Summed '{}' '{}'".format(filename,ev)) + +f.close() +fh = h5py.File('summed.h5', 'w') +fh.create_dataset('/data', data=sum) +fh.close() + -- cgit v1.2.3