diff options
author | tlatorre <tlatorre@uchicago.edu> | 2018-10-03 09:52:19 -0500 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2018-10-03 09:52:19 -0500 |
commit | 86e89541032a0a345ae70d4b31aec474e4899890 (patch) | |
tree | 8257c8f1a7ca847a5f8d4cfcdee055ed02d1049a /utils/convert-ratdb | |
parent | 405f0d448eb15b4f686c1f7ee47794d82eaaf62c (diff) | |
download | sddm-86e89541032a0a345ae70d4b31aec474e4899890.tar.gz sddm-86e89541032a0a345ae70d4b31aec474e4899890.tar.bz2 sddm-86e89541032a0a345ae70d4b31aec474e4899890.zip |
move python scripts into utils/ directory
Diffstat (limited to 'utils/convert-ratdb')
-rwxr-xr-x | utils/convert-ratdb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/utils/convert-ratdb b/utils/convert-ratdb new file mode 100755 index 0000000..5dd6ee4 --- /dev/null +++ b/utils/convert-ratdb @@ -0,0 +1,43 @@ +#!/usr/bin/env python +""" +Script to convert the PMT database in RAT to a CSV file (with spaces instead of commas). +""" +from __future__ import print_function, division +import yaml + +if __name__ == '__main__': + import argparse + import numpy as np + + parser = argparse.ArgumentParser("convert a RATDB file -> CSV file") + parser.add_argument("filename", help="RATDB filename") + parser.add_argument("-o", "--output", help="output filename", required=True) + args = parser.parse_args() + + s = '' + with open(args.filename) as f: + for line in f: + if line.startswith('//'): + continue + s += line + + data = yaml.load(s) + + csv = np.zeros((len(data['x']),7),dtype=np.float64) + csv[:,0] = data['x'] + csv[:,1] = data['y'] + csv[:,2] = data['z'] + csv[:,3] = data['u'] + csv[:,4] = data['v'] + csv[:,5] = data['w'] + csv[:,6] = data['pmt_type'] + + # reverse PMT normals + csv[:,3] = -csv[:,3] + csv[:,4] = -csv[:,4] + csv[:,5] = -csv[:,5] + + header = "Format: x, y, z, u, v, w, pmt_type" + + np.savetxt(args.output, csv, fmt=['%10.2f']*6 + ['%i'], + header=header) |