Loading misc/nxs_xyz.pydeleted 100755 → 0 +0 −100 Original line number Diff line number Diff line #!/usr/bin/env python "Simple Atari Plot for NeXus SNS-NSE Files" import logging import argparse import numpy as np import matplotlib.pyplot as plt from pysen.inout.scans import XYZScan from pysen.plot.xyzplotlib import plot_xyz_nexus def plot_xyz(filename, **kwargs): scan = XYZScan() scan.read_nexus(filename, **kwargs) plot_xyz_nexus(scan.data, scan.info, **kwargs) log = logging.getLogger() rates = {} base = scan.info['base'] for key, data in scan.data.items(): rates[key]=0.0 if data['pcharge']>0: counts = data['selection_counts'] scale = data['pcharge']/1e12 rates[key] = counts/scale rates[key+'_sig'] = np.sqrt(counts)/scale log.info("%s: %-6.6s = (%9.1f +/- %9.1f) counts/C", base, key.upper(), rates[key], rates[key+'_sig']) # res = xyz_decomposition(rates, errors=True) # stot = res['sum_ave'] log.info("%s:", base) for key in ('n_coh', 'i_inc', 'm_mag'): log.info("%s: %-6.6s = (%9.1f +/- %9.1f) counts/C (%5.2f +/- %4.2f)%%", base, key.upper(), res[key], res[key+'_sig'], res[key]/stot*100, res[key+'_sig']/stot*100) for key in ('m_up/2', 'm_dn/2',): log.info("%s: %-6.6s = (%9.1f +/- %9.1f) counts/C", base, key.upper(), res[key], res[key+'_sig']) log.info("%s: TOT = %9.1f counts/C", base, stot) def main(): "the main" parser = argparse.ArgumentParser() parser.set_defaults(ntof=42, npix=32, tbin1=0, tbin2=None, xpix1=10,xpix2=-10,ypix1=10,ypix2=-10, whole_detector=False, vmin=0, vmax=None, logz=False, show=True, save=False) parser.add_argument('filename', metavar='file', nargs='+', help='filename to plot') 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='use the whole detector') # parser.add_argument('--vmin', '-v' , dest='vmin', type=int, help='set min vertical scale (default=%(default)s)') parser.add_argument('--vmax', '-V' , 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('--npix' , dest='npix', type=int, help='set number of pixels (default=%(default)s)') parser.add_argument('--ntof' , dest='ntof', type=int, help='set number of pixels (default=%(default)s)') # parser.add_argument('--no-show', '-N', dest='show', action='store_false', help='do not show plots') parser.add_argument('--save', '-S', dest='save', action='store_true', help='save figure to a file') args = parser.parse_args() logging.basicConfig(format='%(levelname)s %(message)s', level=logging.INFO) kwargs = vars(args) filenames = kwargs.pop('filename') for file_name in filenames: plot_xyz_nexus(file_name, **kwargs) if args.show: plt.show() if __name__ == "__main__": main() Loading
misc/nxs_xyz.pydeleted 100755 → 0 +0 −100 Original line number Diff line number Diff line #!/usr/bin/env python "Simple Atari Plot for NeXus SNS-NSE Files" import logging import argparse import numpy as np import matplotlib.pyplot as plt from pysen.inout.scans import XYZScan from pysen.plot.xyzplotlib import plot_xyz_nexus def plot_xyz(filename, **kwargs): scan = XYZScan() scan.read_nexus(filename, **kwargs) plot_xyz_nexus(scan.data, scan.info, **kwargs) log = logging.getLogger() rates = {} base = scan.info['base'] for key, data in scan.data.items(): rates[key]=0.0 if data['pcharge']>0: counts = data['selection_counts'] scale = data['pcharge']/1e12 rates[key] = counts/scale rates[key+'_sig'] = np.sqrt(counts)/scale log.info("%s: %-6.6s = (%9.1f +/- %9.1f) counts/C", base, key.upper(), rates[key], rates[key+'_sig']) # res = xyz_decomposition(rates, errors=True) # stot = res['sum_ave'] log.info("%s:", base) for key in ('n_coh', 'i_inc', 'm_mag'): log.info("%s: %-6.6s = (%9.1f +/- %9.1f) counts/C (%5.2f +/- %4.2f)%%", base, key.upper(), res[key], res[key+'_sig'], res[key]/stot*100, res[key+'_sig']/stot*100) for key in ('m_up/2', 'm_dn/2',): log.info("%s: %-6.6s = (%9.1f +/- %9.1f) counts/C", base, key.upper(), res[key], res[key+'_sig']) log.info("%s: TOT = %9.1f counts/C", base, stot) def main(): "the main" parser = argparse.ArgumentParser() parser.set_defaults(ntof=42, npix=32, tbin1=0, tbin2=None, xpix1=10,xpix2=-10,ypix1=10,ypix2=-10, whole_detector=False, vmin=0, vmax=None, logz=False, show=True, save=False) parser.add_argument('filename', metavar='file', nargs='+', help='filename to plot') 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='use the whole detector') # parser.add_argument('--vmin', '-v' , dest='vmin', type=int, help='set min vertical scale (default=%(default)s)') parser.add_argument('--vmax', '-V' , 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('--npix' , dest='npix', type=int, help='set number of pixels (default=%(default)s)') parser.add_argument('--ntof' , dest='ntof', type=int, help='set number of pixels (default=%(default)s)') # parser.add_argument('--no-show', '-N', dest='show', action='store_false', help='do not show plots') parser.add_argument('--save', '-S', dest='save', action='store_true', help='save figure to a file') args = parser.parse_args() logging.basicConfig(format='%(levelname)s %(message)s', level=logging.INFO) kwargs = vars(args) filenames = kwargs.pop('filename') for file_name in filenames: plot_xyz_nexus(file_name, **kwargs) if args.show: plt.show() if __name__ == "__main__": main()