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() 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) wsp = Workspace(savedir=options.output, separate_input=True, auto_asldata=True, **vars(options)) # 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 # Read in additional model options from a file wsp.model_options = {} if wsp.model_options: with open(wsp.model_options) as optfile: for line in optfile: keyval = line.strip().rstrip("\n").lstrip("--").split("=", 1) key = keyval[0].strip().replace("-", "_") if key != "": if len(keyval) == 1: wsp.model_options[key] = True else: wsp.model_options[key] = keyval[1].strip() # Run BASIL processing 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 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)