diff options
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | scripts/sum-hdf5-files | 34 |
2 files changed, 36 insertions, 1 deletions
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() + |