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