コード例 #1
0
ファイル: basil2.py プロジェクト: tomfrankkirk/oxasl
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)
コード例 #2
0
ファイル: basil.py プロジェクト: a3sha2/oxasl
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)