def test_preproc_none(): wsp = Workspace() d = np.random.rand(5, 5, 5, 6) wsp.asldata = AslImage(d, name="asldata", tis=[1.5], iaf="tc", order="lrt") preproc.preprocess(wsp) assert wsp.asldata.ntis == wsp.asldata_preproc.ntis assert wsp.asldata.tis == wsp.asldata_preproc.tis assert wsp.asldata.have_plds == wsp.asldata_preproc.have_plds assert wsp.asldata.rpts == wsp.asldata_preproc.rpts assert wsp.asldata.ntc == wsp.asldata_preproc.ntc assert wsp.asldata.order == wsp.asldata_preproc.order
def main(): """ Entry point for BASIL command line application """ try: parser = AslOptionParser( usage="basil -i <ASL input file> [options...]", version=__version__) parser.add_category(image.AslImageOptions()) parser.add_category(BasilOptions()) parser.add_category(GenericOptions()) options, _ = parser.parse_args(sys.argv) if not options.output: options.output = "basil" if not options.asldata: sys.stderr.write("Input file not specified\n") parser.print_help() sys.exit(1) asldata = AslImage(options.asldata, **parser.filter(options, "image")) wsp = Workspace(savedir=options.output, **vars(options)) wsp.asldata = asldata # Deal with --artonly if wsp.artonly: wsp.infertiss = False wsp.inferart = True # Adjust number of iterations based on fast option if not wsp.fast: num_iter, num_trials, onestep = 20, 10, False elif wsp.fast == 1: num_iter, num_trials, onestep = 5, 2, False elif wsp.fast == 2: num_iter, num_trials, onestep = 10, 5, True else: raise ValueError("Not a valid option for fast: %s" % str(wsp.fast)) wsp.max_iterations = num_iter wsp.max_trials = num_trials wsp.onestep = onestep # Run BASIL processing, passing options as keyword arguments using ** basil(wsp) except ValueError as exc: sys.stderr.write("\nERROR: " + str(exc) + "\n") sys.stderr.write("Use --help for usage information\n") sys.exit(1)
def main(): """ Entry point for command line tool """ try: parser = AslOptionParser(usage="asl_mask -i <asl_image> [options...]", version=__version__) parser.add_option("--calib", "-c", help="Calibration image", default=None) parser.add_option( "--use-pwi", help= "Use the perfusion weighted average rather than the timeseries mean", action="store_true", default=False) parser.add_category(image.AslImageOptions()) parser.add_category(struc.StructuralImageOptions()) parser.add_category(GenericOptions()) options, _ = parser.parse_args(sys.argv) options.mask = None # No point in using command line tool if you already have a mask! wsp = Workspace(**vars(options)) if not options.asldata: sys.stderr.write("Input file not specified\n") parser.print_help() sys.exit(1) wsp.asldata = AslImage(wsp.asldata, **parser.filter(vars(options), "image")) wsp.asldata.summary() wsp.generate_mask() if wsp.output is None: wsp.output = wsp.asldata.name + "_mask" wsp.rois.mask.save(wsp.output) except ValueError as exc: sys.stderr.write("ERROR: " + str(exc) + "\n") sys.exit(1)
def qp_oxasl(worker_id, queue, asldata, options): try: from fsl.data.image import Image from oxasl import Workspace, AslImage from oxasl.oxford_asl import oxasl for key, value in options.items(): if isinstance(value, QpData): options[key] = qpdata_to_fslimage(value) output_monitor = OutputStreamMonitor(queue) wsp = Workspace(log=output_monitor) wsp.asldata, _ = qpdata_to_aslimage(asldata) oxasl(wsp) print("done") ret = wsp_to_dict(wsp) return worker_id, True, ret except: import sys, traceback traceback.print_exc() return worker_id, False, sys.exc_info()[1]