Loading scripts/echoplot.py +43 −6 Original line number Diff line number Diff line #!/usr/bin/env python "ATARI Plot" from os.path import basename, splitext import os.path import logging import numpy as np import h5py import matplotlib.pyplot as plt from pysen import ANGSTROM, NANOSECOND from pysen import ANGSTROM, NANOSECOND, version from pysen.io import read_echo, HdfConverter from pysen.atarilib import fit_echo_current, Spectrum def echo_convert(filename): schema=None compression='gzip' mode='w' outdir='.' log = logging.getLogger() outfile, _ = os.path.splitext(os.path.basename(filename)) outfile = os.path.join(outdir, outfile + ".h5") converter = HdfConverter(outfile, mode=mode, version=version()) log.debug('converting echo %s => %s', filename, outfile) data = read_echo(filename) converter.write(data, compression=compression, schema=schema) log.info('written HDF5 file %s', outfile) return outfile def echo_plot(hdfile, iecho=0, **kwargs): "echo plot" Loading @@ -29,7 +45,7 @@ def echo_plot(hdfile, iecho=0, **kwargs): ypix1 = kwargs.pop('ypix1', 10) ypix2 = kwargs.pop('ypix2', 22) base = splitext(basename(hdfile.filename))[0] base = os.path.splitext(os.path.basename(hdfile.filename))[0] comment = hdfile.attrs['master_comment'] comment = comment.decode("utf-8") Loading Loading @@ -149,7 +165,7 @@ def echo_plot(hdfile, iecho=0, **kwargs): # plt.text(0.01, 1.01, r'$R(Q,t)$=%.3g' % R, transform=ax.transAxes) #ax.axhline(np.average(up)) #ax.axhline(np.average(dn)) #plt.xlabel(r'phase current [A]') #plt.xlabel(r'ephase current [A]') #plt.legend(loc='best') #plt.grid(True) Loading @@ -161,7 +177,8 @@ def main(): "the main" import argparse parser = argparse.ArgumentParser(description='atari plot') parser = argparse.ArgumentParser(description='echo plot') parser.set_defaults(loglevel=logging.INFO) parser.add_argument('file', metavar='filename', help='file to process', nargs='+') parser.add_argument('--echo', '-e', dest='echo', type=int, default=None, help='set echo to display (default=%(default)s)') Loading @@ -169,12 +186,32 @@ def main(): help='set min TOF bin (default=%(default)s)') parser.add_argument('--t2', '-T', dest='tbin2', type=int, default=None, help='set max TOF bin (default=%(default)s)') parser.add_argument('--verbose', '-v', dest='loglevel', action='store_const', const=logging.DEBUG, help='verbose output') parser.add_argument('--quiet', '-q', dest='loglevel', action='store_const', const=logging.WARNING, help='verbose output') parser.add_argument('--version', action='version', version='%(prog)s pysen={version}'.format(version=version(full=True))) parser.add_argument('--only-echo', '-N', dest='only_echo', action='store_true', default=False, help='show only echo (no up/down)') args = parser.parse_args() if args.loglevel>=logging.INFO: log_format=r'%(message)s' else: log_format=r'%(levelname)s: %(funcName)s: %(message)s' logging.basicConfig(level=args.loglevel, format=log_format) log = logging.getLogger() kwargs = vars(args) for filename in args.file: basename , ext = os.path.splitext(os.path.basename(filename)) if ext==".echo": log.info('converting %s to HDF', basename) outfile = echo_convert(filename) filename = outfile with h5py.File(filename, 'r') as hdf5file: echo_plot(hdf5file, iecho=args.echo, **kwargs) plt.show() Loading Loading
scripts/echoplot.py +43 −6 Original line number Diff line number Diff line #!/usr/bin/env python "ATARI Plot" from os.path import basename, splitext import os.path import logging import numpy as np import h5py import matplotlib.pyplot as plt from pysen import ANGSTROM, NANOSECOND from pysen import ANGSTROM, NANOSECOND, version from pysen.io import read_echo, HdfConverter from pysen.atarilib import fit_echo_current, Spectrum def echo_convert(filename): schema=None compression='gzip' mode='w' outdir='.' log = logging.getLogger() outfile, _ = os.path.splitext(os.path.basename(filename)) outfile = os.path.join(outdir, outfile + ".h5") converter = HdfConverter(outfile, mode=mode, version=version()) log.debug('converting echo %s => %s', filename, outfile) data = read_echo(filename) converter.write(data, compression=compression, schema=schema) log.info('written HDF5 file %s', outfile) return outfile def echo_plot(hdfile, iecho=0, **kwargs): "echo plot" Loading @@ -29,7 +45,7 @@ def echo_plot(hdfile, iecho=0, **kwargs): ypix1 = kwargs.pop('ypix1', 10) ypix2 = kwargs.pop('ypix2', 22) base = splitext(basename(hdfile.filename))[0] base = os.path.splitext(os.path.basename(hdfile.filename))[0] comment = hdfile.attrs['master_comment'] comment = comment.decode("utf-8") Loading Loading @@ -149,7 +165,7 @@ def echo_plot(hdfile, iecho=0, **kwargs): # plt.text(0.01, 1.01, r'$R(Q,t)$=%.3g' % R, transform=ax.transAxes) #ax.axhline(np.average(up)) #ax.axhline(np.average(dn)) #plt.xlabel(r'phase current [A]') #plt.xlabel(r'ephase current [A]') #plt.legend(loc='best') #plt.grid(True) Loading @@ -161,7 +177,8 @@ def main(): "the main" import argparse parser = argparse.ArgumentParser(description='atari plot') parser = argparse.ArgumentParser(description='echo plot') parser.set_defaults(loglevel=logging.INFO) parser.add_argument('file', metavar='filename', help='file to process', nargs='+') parser.add_argument('--echo', '-e', dest='echo', type=int, default=None, help='set echo to display (default=%(default)s)') Loading @@ -169,12 +186,32 @@ def main(): help='set min TOF bin (default=%(default)s)') parser.add_argument('--t2', '-T', dest='tbin2', type=int, default=None, help='set max TOF bin (default=%(default)s)') parser.add_argument('--verbose', '-v', dest='loglevel', action='store_const', const=logging.DEBUG, help='verbose output') parser.add_argument('--quiet', '-q', dest='loglevel', action='store_const', const=logging.WARNING, help='verbose output') parser.add_argument('--version', action='version', version='%(prog)s pysen={version}'.format(version=version(full=True))) parser.add_argument('--only-echo', '-N', dest='only_echo', action='store_true', default=False, help='show only echo (no up/down)') args = parser.parse_args() if args.loglevel>=logging.INFO: log_format=r'%(message)s' else: log_format=r'%(levelname)s: %(funcName)s: %(message)s' logging.basicConfig(level=args.loglevel, format=log_format) log = logging.getLogger() kwargs = vars(args) for filename in args.file: basename , ext = os.path.splitext(os.path.basename(filename)) if ext==".echo": log.info('converting %s to HDF', basename) outfile = echo_convert(filename) filename = outfile with h5py.File(filename, 'r') as hdf5file: echo_plot(hdf5file, iecho=args.echo, **kwargs) plt.show() Loading