Loading pysen/plot/nseplot.py +80 −67 Original line number Diff line number Diff line Loading @@ -4,15 +4,18 @@ import os.path import argparse import numpy as np import h5py import matplotlib.pyplot as plt from pysen import version, setup_logger from pysen.config import DEFAULT_ACCELERATOR_POWER from pysen.inout import convert_to_hdf from pysen.plot import ( plot_echo, plot_atari, plot_map, plot_magnetic_fields, from pysen.plot import ( plot_echo, plot_atari, plot_map, plot_xyz, plot_magnetic_fields, plot_diffrun, plot_transmission ) from pysen.plot.cmdline import NsePlotApp #from pysen.plot.cmdline import NsePlotApp def action_default(filenames, **kwargs): "default action for echo, atari, etc" Loading @@ -39,6 +42,26 @@ def action_default(filenames, **kwargs): print(exc) return to_show def action_xyz(filenames, **kwargs): "default action for xyz" outdir = kwargs.pop('outdir') savefig = kwargs.pop('savefig') overwrite = kwargs.pop('overwrite') log = kwargs.pop('log') hfiles = [] for filename in filenames: _ , ext = os.path.splitext(os.path.basename(filename)) if ext==".dat": hfiles.append(convert_to_hdf(filename, outdir, data_type='magnetic', overwrite=overwrite)) else: hfiles.append(filename) plot_xyz(*hfiles, **kwargs) if not savefig: to_show = True return to_show def action_diffrun(filenames, **kwargs): "action for diffrun" savefig = kwargs.pop('savefig') Loading Loading @@ -97,25 +120,35 @@ def arguments_selection(pars, pix=True, tof=True): pars.add_argument('--whole-detector', '-W', dest='whole_detector', action='store_true', help='show sum over entire detector area') def arguments_vertscale(pars): """vertical scale arguments""" pars.add_argument('--vmin' , dest='vmin', type=int, help='set min vertical scale (default=%(default)s)') pars.add_argument('--vmax' , dest='vmax', type=int, help='set max vertical scale (default=%(default)s)') pars.add_argument('--logz' , dest='logz', action='store_true', help='detector image log vertical scale') pars.add_argument('--normalize', '-n' , dest='normalize', action='store_true', help='normalize results') def main(): "the main" plot_action = dict(echo=plot_echo, atari=plot_atari, maps=plot_map, bfield=plot_magnetic_fields, diffrun=plot_diffrun) description = "SNS NSE plotting tool" parser_top = argparse.ArgumentParser(description=description) parser_top.set_defaults(loglevel=1, outdir='.') parser_top.add_argument('--version', '-V', action='version', version='%(prog)s pysen={version}'.format(version=version(full=True))) subparsers = parser_top.add_subparsers(dest='what', required=False, help='what to plot') subparsers = parser_top.add_subparsers(dest='what', required=True, help='what to plot') # common arguments parser = argparse.ArgumentParser(add_help=False) parser.set_defaults(loglevel=1, outdir='.', tbin1=0, tbin2=None, vmin=0, vmax=None, logz=False, parser.set_defaults(loglevel=1, outdir='.', tau=0, npix=0, absy=0, normalize=False, tbin1=0, tbin2=None, xpix1=10,xpix2=22,ypix1=10,ypix2=22, vmin=0, vmax=None, logz=False, normalize=False, absy=0, center_only=False, whole_detector=False, map_type='all', phase0=None, incoherent=False, max_chi2=1e3) Loading Loading @@ -151,20 +184,6 @@ def main(): grp_echo.add_argument('--num-pix', '-N', dest='npix', metavar='N', type=int, help='set pixel binning (default=%(default)s)') arguments_selection(grp_echo) #grp_echo.add_argument('--t1' , '-b', dest='tbin1', type=int, # help='set min TOF bin (default=%(default)s)') #grp_echo.add_argument('--t2' , '-B', dest='tbin2', type=int, # help='set max TOF bin (default=%(default)s)') #grp_echo.add_argument('--x1' , dest='xpix1', type=int, # help='set min X pix (default=%(default)s)') #grp_echo.add_argument('--x2' , dest='xpix2', type=int, # help='set max X pix (default=%(default)s)') #grp_echo.add_argument('--y1' , dest='ypix1', type=int, # help='set min Y pix (default=%(default)s)') #grp_echo.add_argument('--y2' , dest='ypix2', type=int, # help='set max Y pix (default=%(default)s)') #grp_echo.add_argument('--whole-detector', '-W', dest='whole_detector', action='store_true', # help='show sum over entire detector area') grp_echo.add_argument('--resolution', '-R', dest='resolution_plot', action='store_true', help='TBD') # atari plot Loading @@ -172,55 +191,28 @@ def main(): grp_atari = parser_atari.add_argument_group('atari plot options') grp_atari.add_argument('--tau', '-t', dest='tau', type=int, help='set tau to display (default=%(default)s)') arguments_selection(grp_atari) arguments_vertscale(grp_atari) grp_atari.add_argument('--only-echo', dest='only_echo', action='store_true', help='show only echo (no up/down)') grp_atari.add_argument('--incoherent', '-I', dest='incoherent', action='store_true', help='treat data as from incoherent scatterer') arguments_selection(grp_atari) #grp_atari.add_argument('--t1' , '-b', dest='tbin1', type=int, # help='set min TOF bin (default=%(default)s)') #grp_atari.add_argument('--t2' , '-B', dest='tbin2', type=int, # help='set max TOF bin (default=%(default)s)') #grp_atari.add_argument('--x1' , dest='xpix1', type=int, # help='set min X pix (default=%(default)s)') #grp_atari.add_argument('--x2' , dest='xpix2', type=int, # help='set max X pix (default=%(default)s)') #grp_atari.add_argument('--y1' , dest='ypix1', type=int, # help='set min Y pix (default=%(default)s)') #grp_atari.add_argument('--y2' , dest='ypix2', type=int, # help='set max Y pix (default=%(default)s)') #grp_atari.add_argument('--whole-detector', '-W', dest='whole_detector', action='store_true', # help='select the entire detector area') grp_atari.add_argument('--vmin' , dest='vmin', type=float, help='detector image min vertical scale (default=%(default)s) ') grp_atari.add_argument('--vmax' , dest='vmax', type=float, help='detector image max vertical scale (default=%(default)s)') grp_atari.add_argument('--logz' , dest='logz', action='store_true', help='detector image log vertical scale') grp_atari.add_argument('--normalize', '-n' , dest='normalize', action='store_true', help='normalize results to proton charge') grp_atari.add_argument('--phase0' , dest='phase0', type=float, help='set inital phase for echo fitting (default=%(default)s)') # map plot parser_map = subparsers.add_parser('maps', help='plot maps (.echo or .h5 files)', parents=[parser]) grp_map = parser_map.add_argument_group('map plot options') grp_map.add_argument('--tau', '-t', dest='tau', type=int, help='set tau to display (default=%(default)s)') grp_map.add_argument('--map-type', dest='map_type', choices=['all', 'up', 'down'], help='(default: %(default)s)') grp_map.add_argument('--num-pix', '-N', dest='npix', type=int, help='set pixel binning (default=%(default)s)') # magnetic field parser_bfield = subparsers.add_parser('bfield', help='plot magnetic fields (.echo or .h5 files)', parents=[parser]) grp_bfield = parser_bfield.add_argument_group('magnetic field plot options') grp_bfield.add_argument('--tau', '-t', dest='tau', type=int, help='set tau to display (default=%(default)s)') grp_bfield.add_argument('--max-chi2', dest='max_chi2', type=float, default=1e-2, help='set max chi-square (default=%(default)s)') grp_bfield.add_argument('--axis', dest='axis', type=int, default=-1, help='set axis to plot (default=%(default)s)') # xyz plot parser_xyz = subparsers.add_parser('xyz', help='plot xyz analysis (.dat or .h5 files)', parents=[parser]) grp_xyz= parser_xyz.add_argument_group('xyz analysis plot options') grp_xyz.set_defaults(overwrite=False, qmin=0, qmax=np.inf, deltaq=0.001) arguments_selection(grp_xyz) arguments_vertscale(grp_xyz) grp_xyz.add_argument('--qmin', dest='qmin', type=float, help='qmin (default=%(default)s)') grp_xyz.add_argument('--qmax', dest='qmax', type=float, help='qmax (default=%(default)s)') grp_xyz.add_argument('--delta-q', dest='deltaq', type=float, help='q histogram bin witdth') # diffraction plot parser_diffrun = subparsers.add_parser('diffrun', help='plot diffraction scan', parents=[parser]) grp_diffrun= parser_diffrun.add_argument_group('diffraction scan plot options') Loading Loading @@ -262,14 +254,33 @@ def main(): grp_trans.add_argument('--echodet', '-e', dest='echodet', action='store_true', help='report transmission for echodet 1/T') # map plot parser_map = subparsers.add_parser('maps', help='plot maps (.echo or .h5 files)', parents=[parser]) grp_map = parser_map.add_argument_group('map plot options') grp_map.add_argument('--tau', '-t', dest='tau', type=int, help='set tau to display (default=%(default)s)') grp_map.add_argument('--map-type', dest='map_type', choices=['all', 'up', 'down'], help='(default: %(default)s)') grp_map.add_argument('--num-pix', '-N', dest='npix', type=int, help='set pixel binning (default=%(default)s)') # magnetic field parser_bfield = subparsers.add_parser('bfield', help='plot magnetic fields (.echo or .h5 files)', parents=[parser]) grp_bfield = parser_bfield.add_argument_group('magnetic field plot options') grp_bfield.add_argument('--tau', '-t', dest='tau', type=int, help='set tau to display (default=%(default)s)') grp_bfield.add_argument('--max-chi2', dest='max_chi2', type=float, default=1e-2, help='set max chi-square (default=%(default)s)') grp_bfield.add_argument('--axis', dest='axis', type=int, default=-1, help='set axis to plot (default=%(default)s)') # =================================== args = parser_top.parse_args() log = setup_logger(args.loglevel) log.debug('program arguments %s', args) if not args.what: NsePlotApp().cmdloop() return #if not args.what: # NsePlotApp().cmdloop() # return plt.rcParams.update({'figure.max_open_warning': 0}) Loading @@ -278,9 +289,11 @@ def main(): kwargs = vars(args) plot_action = dict(echo=plot_echo, atari=plot_atari, maps=plot_map, bfield=plot_magnetic_fields, diffrun=plot_diffrun) if args.what in ('echo', 'atari', 'maps', 'bfield'): to_show = action_default(args.file, action=plot_action[args.what], log=log, **kwargs) plot_action = dict(echo=plot_echo, atari=plot_atari, maps=plot_map, bfield=plot_magnetic_fields).get(args.what) to_show = action_default(args.file, action=plot_action, log=log, **kwargs) if args.what in ('xyz', ): to_show = action_xyz(args.file, log=log, **kwargs) if args.what in ('diffrun', ): to_show = action_diffrun(args.file, log=log, **kwargs) if args.what in ('transmission', ): Loading pysen/plot/xyz_analysis.pydeleted 100755 → 0 +0 −81 Original line number Diff line number Diff line #!/usr/bin/env python "xyz analysis script" import os.path import argparse import numpy as np import matplotlib.pyplot as plt from pysen import version from pysen.inout import convert_to_hdf from pysen.plot import plot_xyz def main(): "the main" description = "SNS-NSE xyz analysis tool" parser = argparse.ArgumentParser(description=description) parser.set_defaults(outdir='.', overwrite=False, tbin1=0, tbin2=None, normalize=False, xpix1=10,xpix2=22,ypix1=10,ypix2=22, vmin=0, vmax=None, logz=False, qmin=0, qmax=np.inf, deltaq=0.001) parser.add_argument('--version', '-V', action='version', version='%(prog)s pysen={version}'.format(version=version(full=True))) parser.add_argument('file', metavar='filename', help='file to process', nargs='+') parser.add_argument('--save-figure', '-S', dest='savefig', help='save figure to a file (do not show)') parser.add_argument('--save-file', '-s', dest='savefile', help='save data to a csv file') parser.add_argument('--t1' , '-b', dest='tbin1', type=int, help='set min TOF bin (default=%(default)s)') parser.add_argument('--t2' , '-B', dest='tbin2', type=int, help='set max TOF bin (default=%(default)s)') parser.add_argument('--x1' , dest='xpix1', type=int, help='set min X pix (default=%(default)s)') parser.add_argument('--x2' , dest='xpix2', type=int, help='set max X pix (default=%(default)s)') parser.add_argument('--y1' , dest='ypix1', type=int, help='set min Y pix (default=%(default)s)') parser.add_argument('--y2' , dest='ypix2', type=int, help='set max Y pix (default=%(default)s)') parser.add_argument('--whole-detector', '-W', dest='whole_detector', action='store_true', help='select the entire detector area') parser.add_argument('--qmin', dest='qmin', type=float, help='qmin (default=%(default)s)') parser.add_argument('--qmax', dest='qmax', type=float, help='qmax (default=%(default)s)') parser.add_argument('--vmin' , dest='vmin', type=int, help='set min vertical scale (default=%(default)s)') parser.add_argument('--vmax' , dest='vmax', type=int, help='set max vertical scale (default=%(default)s)') parser.add_argument('--logz' , dest='logz', action='store_true', help='detector image log vertical scale') parser.add_argument('--normalize', '-n' , dest='normalize', action='store_true', help='normalize results to proton charge') parser.add_argument('--delta-q', dest='deltaq', type=float, help='q histogram bin witdth') args = parser.parse_args() plt.rcParams.update({'figure.max_open_warning': 0}) if args.savefig: plt.switch_backend('Agg') hfiles = [] for filename in args.file: _ , ext = os.path.splitext(os.path.basename(filename)) if ext==".dat": hfiles.append(convert_to_hdf(filename, args.outdir, data_type='magnetic', overwrite=args.overwrite)) else: hfiles.append(filename) kwargs = vars(args) plot_xyz(*hfiles, **kwargs) if not args.savefig: plt.show() if __name__ == "__main__": main() pysen/revision.py +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ PySEN revision module """ import sys __version__ = "0.72" __release__ = "dev3" __release__ = "dev4" __date__ = "Aug 3, 2022" def version(full=False): Loading setup.py +2 −3 Original line number Diff line number Diff line Loading @@ -24,13 +24,12 @@ setup( 'console_scripts': [ 'convert2hdf = pysen.inout.convert2hdf:main', 'make_phase_table = pysen.plot.make_phase_table:main', 'xyz_analysis = pysen.plot.xyz_analysis:main', 'nseplot = pysen.plot.nseplot:main', ] }, scripts = [ 'scripts/plot_diffrun.py', 'scripts/plot_transmission.py', #'scripts/plot_diffrun.py', #'scripts/plot_transmission.py', # to move 'scripts/plot_dtrfile.py', 'scripts/qtau.py', Loading Loading
pysen/plot/nseplot.py +80 −67 Original line number Diff line number Diff line Loading @@ -4,15 +4,18 @@ import os.path import argparse import numpy as np import h5py import matplotlib.pyplot as plt from pysen import version, setup_logger from pysen.config import DEFAULT_ACCELERATOR_POWER from pysen.inout import convert_to_hdf from pysen.plot import ( plot_echo, plot_atari, plot_map, plot_magnetic_fields, from pysen.plot import ( plot_echo, plot_atari, plot_map, plot_xyz, plot_magnetic_fields, plot_diffrun, plot_transmission ) from pysen.plot.cmdline import NsePlotApp #from pysen.plot.cmdline import NsePlotApp def action_default(filenames, **kwargs): "default action for echo, atari, etc" Loading @@ -39,6 +42,26 @@ def action_default(filenames, **kwargs): print(exc) return to_show def action_xyz(filenames, **kwargs): "default action for xyz" outdir = kwargs.pop('outdir') savefig = kwargs.pop('savefig') overwrite = kwargs.pop('overwrite') log = kwargs.pop('log') hfiles = [] for filename in filenames: _ , ext = os.path.splitext(os.path.basename(filename)) if ext==".dat": hfiles.append(convert_to_hdf(filename, outdir, data_type='magnetic', overwrite=overwrite)) else: hfiles.append(filename) plot_xyz(*hfiles, **kwargs) if not savefig: to_show = True return to_show def action_diffrun(filenames, **kwargs): "action for diffrun" savefig = kwargs.pop('savefig') Loading Loading @@ -97,25 +120,35 @@ def arguments_selection(pars, pix=True, tof=True): pars.add_argument('--whole-detector', '-W', dest='whole_detector', action='store_true', help='show sum over entire detector area') def arguments_vertscale(pars): """vertical scale arguments""" pars.add_argument('--vmin' , dest='vmin', type=int, help='set min vertical scale (default=%(default)s)') pars.add_argument('--vmax' , dest='vmax', type=int, help='set max vertical scale (default=%(default)s)') pars.add_argument('--logz' , dest='logz', action='store_true', help='detector image log vertical scale') pars.add_argument('--normalize', '-n' , dest='normalize', action='store_true', help='normalize results') def main(): "the main" plot_action = dict(echo=plot_echo, atari=plot_atari, maps=plot_map, bfield=plot_magnetic_fields, diffrun=plot_diffrun) description = "SNS NSE plotting tool" parser_top = argparse.ArgumentParser(description=description) parser_top.set_defaults(loglevel=1, outdir='.') parser_top.add_argument('--version', '-V', action='version', version='%(prog)s pysen={version}'.format(version=version(full=True))) subparsers = parser_top.add_subparsers(dest='what', required=False, help='what to plot') subparsers = parser_top.add_subparsers(dest='what', required=True, help='what to plot') # common arguments parser = argparse.ArgumentParser(add_help=False) parser.set_defaults(loglevel=1, outdir='.', tbin1=0, tbin2=None, vmin=0, vmax=None, logz=False, parser.set_defaults(loglevel=1, outdir='.', tau=0, npix=0, absy=0, normalize=False, tbin1=0, tbin2=None, xpix1=10,xpix2=22,ypix1=10,ypix2=22, vmin=0, vmax=None, logz=False, normalize=False, absy=0, center_only=False, whole_detector=False, map_type='all', phase0=None, incoherent=False, max_chi2=1e3) Loading Loading @@ -151,20 +184,6 @@ def main(): grp_echo.add_argument('--num-pix', '-N', dest='npix', metavar='N', type=int, help='set pixel binning (default=%(default)s)') arguments_selection(grp_echo) #grp_echo.add_argument('--t1' , '-b', dest='tbin1', type=int, # help='set min TOF bin (default=%(default)s)') #grp_echo.add_argument('--t2' , '-B', dest='tbin2', type=int, # help='set max TOF bin (default=%(default)s)') #grp_echo.add_argument('--x1' , dest='xpix1', type=int, # help='set min X pix (default=%(default)s)') #grp_echo.add_argument('--x2' , dest='xpix2', type=int, # help='set max X pix (default=%(default)s)') #grp_echo.add_argument('--y1' , dest='ypix1', type=int, # help='set min Y pix (default=%(default)s)') #grp_echo.add_argument('--y2' , dest='ypix2', type=int, # help='set max Y pix (default=%(default)s)') #grp_echo.add_argument('--whole-detector', '-W', dest='whole_detector', action='store_true', # help='show sum over entire detector area') grp_echo.add_argument('--resolution', '-R', dest='resolution_plot', action='store_true', help='TBD') # atari plot Loading @@ -172,55 +191,28 @@ def main(): grp_atari = parser_atari.add_argument_group('atari plot options') grp_atari.add_argument('--tau', '-t', dest='tau', type=int, help='set tau to display (default=%(default)s)') arguments_selection(grp_atari) arguments_vertscale(grp_atari) grp_atari.add_argument('--only-echo', dest='only_echo', action='store_true', help='show only echo (no up/down)') grp_atari.add_argument('--incoherent', '-I', dest='incoherent', action='store_true', help='treat data as from incoherent scatterer') arguments_selection(grp_atari) #grp_atari.add_argument('--t1' , '-b', dest='tbin1', type=int, # help='set min TOF bin (default=%(default)s)') #grp_atari.add_argument('--t2' , '-B', dest='tbin2', type=int, # help='set max TOF bin (default=%(default)s)') #grp_atari.add_argument('--x1' , dest='xpix1', type=int, # help='set min X pix (default=%(default)s)') #grp_atari.add_argument('--x2' , dest='xpix2', type=int, # help='set max X pix (default=%(default)s)') #grp_atari.add_argument('--y1' , dest='ypix1', type=int, # help='set min Y pix (default=%(default)s)') #grp_atari.add_argument('--y2' , dest='ypix2', type=int, # help='set max Y pix (default=%(default)s)') #grp_atari.add_argument('--whole-detector', '-W', dest='whole_detector', action='store_true', # help='select the entire detector area') grp_atari.add_argument('--vmin' , dest='vmin', type=float, help='detector image min vertical scale (default=%(default)s) ') grp_atari.add_argument('--vmax' , dest='vmax', type=float, help='detector image max vertical scale (default=%(default)s)') grp_atari.add_argument('--logz' , dest='logz', action='store_true', help='detector image log vertical scale') grp_atari.add_argument('--normalize', '-n' , dest='normalize', action='store_true', help='normalize results to proton charge') grp_atari.add_argument('--phase0' , dest='phase0', type=float, help='set inital phase for echo fitting (default=%(default)s)') # map plot parser_map = subparsers.add_parser('maps', help='plot maps (.echo or .h5 files)', parents=[parser]) grp_map = parser_map.add_argument_group('map plot options') grp_map.add_argument('--tau', '-t', dest='tau', type=int, help='set tau to display (default=%(default)s)') grp_map.add_argument('--map-type', dest='map_type', choices=['all', 'up', 'down'], help='(default: %(default)s)') grp_map.add_argument('--num-pix', '-N', dest='npix', type=int, help='set pixel binning (default=%(default)s)') # magnetic field parser_bfield = subparsers.add_parser('bfield', help='plot magnetic fields (.echo or .h5 files)', parents=[parser]) grp_bfield = parser_bfield.add_argument_group('magnetic field plot options') grp_bfield.add_argument('--tau', '-t', dest='tau', type=int, help='set tau to display (default=%(default)s)') grp_bfield.add_argument('--max-chi2', dest='max_chi2', type=float, default=1e-2, help='set max chi-square (default=%(default)s)') grp_bfield.add_argument('--axis', dest='axis', type=int, default=-1, help='set axis to plot (default=%(default)s)') # xyz plot parser_xyz = subparsers.add_parser('xyz', help='plot xyz analysis (.dat or .h5 files)', parents=[parser]) grp_xyz= parser_xyz.add_argument_group('xyz analysis plot options') grp_xyz.set_defaults(overwrite=False, qmin=0, qmax=np.inf, deltaq=0.001) arguments_selection(grp_xyz) arguments_vertscale(grp_xyz) grp_xyz.add_argument('--qmin', dest='qmin', type=float, help='qmin (default=%(default)s)') grp_xyz.add_argument('--qmax', dest='qmax', type=float, help='qmax (default=%(default)s)') grp_xyz.add_argument('--delta-q', dest='deltaq', type=float, help='q histogram bin witdth') # diffraction plot parser_diffrun = subparsers.add_parser('diffrun', help='plot diffraction scan', parents=[parser]) grp_diffrun= parser_diffrun.add_argument_group('diffraction scan plot options') Loading Loading @@ -262,14 +254,33 @@ def main(): grp_trans.add_argument('--echodet', '-e', dest='echodet', action='store_true', help='report transmission for echodet 1/T') # map plot parser_map = subparsers.add_parser('maps', help='plot maps (.echo or .h5 files)', parents=[parser]) grp_map = parser_map.add_argument_group('map plot options') grp_map.add_argument('--tau', '-t', dest='tau', type=int, help='set tau to display (default=%(default)s)') grp_map.add_argument('--map-type', dest='map_type', choices=['all', 'up', 'down'], help='(default: %(default)s)') grp_map.add_argument('--num-pix', '-N', dest='npix', type=int, help='set pixel binning (default=%(default)s)') # magnetic field parser_bfield = subparsers.add_parser('bfield', help='plot magnetic fields (.echo or .h5 files)', parents=[parser]) grp_bfield = parser_bfield.add_argument_group('magnetic field plot options') grp_bfield.add_argument('--tau', '-t', dest='tau', type=int, help='set tau to display (default=%(default)s)') grp_bfield.add_argument('--max-chi2', dest='max_chi2', type=float, default=1e-2, help='set max chi-square (default=%(default)s)') grp_bfield.add_argument('--axis', dest='axis', type=int, default=-1, help='set axis to plot (default=%(default)s)') # =================================== args = parser_top.parse_args() log = setup_logger(args.loglevel) log.debug('program arguments %s', args) if not args.what: NsePlotApp().cmdloop() return #if not args.what: # NsePlotApp().cmdloop() # return plt.rcParams.update({'figure.max_open_warning': 0}) Loading @@ -278,9 +289,11 @@ def main(): kwargs = vars(args) plot_action = dict(echo=plot_echo, atari=plot_atari, maps=plot_map, bfield=plot_magnetic_fields, diffrun=plot_diffrun) if args.what in ('echo', 'atari', 'maps', 'bfield'): to_show = action_default(args.file, action=plot_action[args.what], log=log, **kwargs) plot_action = dict(echo=plot_echo, atari=plot_atari, maps=plot_map, bfield=plot_magnetic_fields).get(args.what) to_show = action_default(args.file, action=plot_action, log=log, **kwargs) if args.what in ('xyz', ): to_show = action_xyz(args.file, log=log, **kwargs) if args.what in ('diffrun', ): to_show = action_diffrun(args.file, log=log, **kwargs) if args.what in ('transmission', ): Loading
pysen/plot/xyz_analysis.pydeleted 100755 → 0 +0 −81 Original line number Diff line number Diff line #!/usr/bin/env python "xyz analysis script" import os.path import argparse import numpy as np import matplotlib.pyplot as plt from pysen import version from pysen.inout import convert_to_hdf from pysen.plot import plot_xyz def main(): "the main" description = "SNS-NSE xyz analysis tool" parser = argparse.ArgumentParser(description=description) parser.set_defaults(outdir='.', overwrite=False, tbin1=0, tbin2=None, normalize=False, xpix1=10,xpix2=22,ypix1=10,ypix2=22, vmin=0, vmax=None, logz=False, qmin=0, qmax=np.inf, deltaq=0.001) parser.add_argument('--version', '-V', action='version', version='%(prog)s pysen={version}'.format(version=version(full=True))) parser.add_argument('file', metavar='filename', help='file to process', nargs='+') parser.add_argument('--save-figure', '-S', dest='savefig', help='save figure to a file (do not show)') parser.add_argument('--save-file', '-s', dest='savefile', help='save data to a csv file') parser.add_argument('--t1' , '-b', dest='tbin1', type=int, help='set min TOF bin (default=%(default)s)') parser.add_argument('--t2' , '-B', dest='tbin2', type=int, help='set max TOF bin (default=%(default)s)') parser.add_argument('--x1' , dest='xpix1', type=int, help='set min X pix (default=%(default)s)') parser.add_argument('--x2' , dest='xpix2', type=int, help='set max X pix (default=%(default)s)') parser.add_argument('--y1' , dest='ypix1', type=int, help='set min Y pix (default=%(default)s)') parser.add_argument('--y2' , dest='ypix2', type=int, help='set max Y pix (default=%(default)s)') parser.add_argument('--whole-detector', '-W', dest='whole_detector', action='store_true', help='select the entire detector area') parser.add_argument('--qmin', dest='qmin', type=float, help='qmin (default=%(default)s)') parser.add_argument('--qmax', dest='qmax', type=float, help='qmax (default=%(default)s)') parser.add_argument('--vmin' , dest='vmin', type=int, help='set min vertical scale (default=%(default)s)') parser.add_argument('--vmax' , dest='vmax', type=int, help='set max vertical scale (default=%(default)s)') parser.add_argument('--logz' , dest='logz', action='store_true', help='detector image log vertical scale') parser.add_argument('--normalize', '-n' , dest='normalize', action='store_true', help='normalize results to proton charge') parser.add_argument('--delta-q', dest='deltaq', type=float, help='q histogram bin witdth') args = parser.parse_args() plt.rcParams.update({'figure.max_open_warning': 0}) if args.savefig: plt.switch_backend('Agg') hfiles = [] for filename in args.file: _ , ext = os.path.splitext(os.path.basename(filename)) if ext==".dat": hfiles.append(convert_to_hdf(filename, args.outdir, data_type='magnetic', overwrite=args.overwrite)) else: hfiles.append(filename) kwargs = vars(args) plot_xyz(*hfiles, **kwargs) if not args.savefig: plt.show() if __name__ == "__main__": main()
pysen/revision.py +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ PySEN revision module """ import sys __version__ = "0.72" __release__ = "dev3" __release__ = "dev4" __date__ = "Aug 3, 2022" def version(full=False): Loading
setup.py +2 −3 Original line number Diff line number Diff line Loading @@ -24,13 +24,12 @@ setup( 'console_scripts': [ 'convert2hdf = pysen.inout.convert2hdf:main', 'make_phase_table = pysen.plot.make_phase_table:main', 'xyz_analysis = pysen.plot.xyz_analysis:main', 'nseplot = pysen.plot.nseplot:main', ] }, scripts = [ 'scripts/plot_diffrun.py', 'scripts/plot_transmission.py', #'scripts/plot_diffrun.py', #'scripts/plot_transmission.py', # to move 'scripts/plot_dtrfile.py', 'scripts/qtau.py', Loading