def run( outdir=None, postfix=None, imgn=1, force_trig=False, cap_mode=None, int_t=None, ctr_thresh=None, bin_thresh=None, bin_out=False, png_out=True, meta_out=True, xr=None, ): print("Preparing capture") if not outdir: outdir = util.default_date_dir("out", "", postfix) if not os.path.exists(outdir): util.mkdir_p(outdir) def cb(n, imgb): binfn = os.path.join(outdir, "cap_%02u.bin" % n) pngfn = os.path.join(outdir, "cap_%02u.png" % n) if bin_out: print('Writing %s' % binfn) open(binfn, 'w').write(imgb) if png_out: print('Decoding image...') img = gxs.decode(imgb) print('Writing %s...' % pngfn) img.save(pngfn) if meta_out: print('Saving meta...') gxs.write_json(outdir, force_trig=force_trig) gxs = usbint.GXS700() if cap_mode: gxs.set_cap_mode(cap_mode) if int_t: gxs.set_int_t(int_t) if ctr_thresh or bin_thresh: gxs.trig_param_w(pix_clust_ctr_thresh=ctr_thresh, bin_thresh=bin_thresh) gxs._init() gxs.cap_binv(imgn, cb, force_trig=force_trig, xr=xr)
def main(): import argparse parser = argparse.ArgumentParser(description='') parser.add_argument('--verbose', action="store_true") add_bool_arg(parser, "--xray", default=None) add_bool_arg(parser, "--force-trig", default=None) parser.add_argument('--dir', default=None, help='Output dir') parser.add_argument('--cap-mode', default=None, help='Advanced: norm (default), hblock, vblock, vbar') parser.add_argument('--int-t', type=int, default=None, help='Integration time in ms (default: 700)') parser.add_argument('-n', default=1, type=int, help='Number images') parser.add_argument('--postfix', default=None, help='') parser.add_argument('--cal-dir', default=None, help='') parser.add_argument('--hist-eq-roi', default="258,258,516,516", help='hist eq x1,y1,x2,y2') add_bool_arg(parser, "--hist-eq", default=True) add_bool_arg(parser, "--raw", default=False) parser.add_argument('fn_out', default=None, nargs='?', help='') args = parser.parse_args() outdir = args.dir if outdir is None: outdir = default_date_dir("out", "", args.postfix) xray = args.xray if xray is None: xray = os.getenv('WPS7_HOST', None) is not None # Never create x-ray if forcing trigger if xray and not args.force_trig: print("Opening x-ray") xr = WPS7XRay(verbose=args.verbose) util.mkdir_p(outdir) xr.write_json(outdir) xr.warm() else: xr = None try: force_trig = args.force_trig # Force a capture by default if not given if force_trig is None: force_trig = xr is None raw_main.run(outdir=outdir, postfix=args.postfix, cap_mode=args.cap_mode, imgn=args.n, int_t=args.int_t, force_trig=force_trig, xr=xr) # notably ^C can cause this finally: xr and xr.beam_off() process_main.run(outdir, args.fn_out, cal_dir=args.cal_dir, hist_eq=args.hist_eq, raw=args.raw, hist_eq_roi=im_util.parse_roi(args.hist_eq_roi)) print("done")
if __name__ == "__main__": parser = argparse.ArgumentParser(description='Replay captured USB packets') parser.add_argument('--dir', default=None, help='Output dir') parser.add_argument('--verbose', '-v', action='store_true', help='verbose') parser.add_argument('--steps', type=int, help='Number of slices per 180 degrees') parser.add_argument('--range', type=float, default=180.0, help='Maximum unit value to sweep') args = parser.parse_args() force_trig = False bin_out = False png_out = True meta_out = True outdir = args.dir if outdir is None: outdir = default_date_dir("out", "", args.postfix) util.mkdir_p(outdir) if os.getenv('WPS7_PASS', None) is None: raise Exception("Requires WPS7 password") hal = lcnc.LcncPyHal(host=args.host, dry=args.dry) gxs = usbint.GXS700() xray = args.xray if xray is None: xray = os.getenv('WPS7_HOST', None) is not None print("Opening x-ray") xr = xray.WPS7XRay(verbose=args.verbose)