Giter VIP home page Giter VIP logo

oxasl's Introduction

Physimals Website

This is the website of our academic research group at the Sir Peter Mansfield Imaging Centre, University of Nottingham.

This website is powered by Jekyll and some Bootstrap, Bootwatch. It is based on the Allan Lab template (Code released under the MIT License).

oxasl's People

Contributors

mcraig-ibme avatar tomfrankkirk avatar tomokell avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

oxasl's Issues

installation 'cython' package missing

Hi Martin,

When I try installing the latest oxasl version into the fslpython environment, I get the following error:
ModuleNotFoundError: No module named 'Cython'

Installing the Cython module does not help (cython in /Library/Python/2.7/site-packages (0.29.23))

This happens both on my own computer and on the FMRIB jalapeño software. Would you have any tips on how to get around this issue?

Many thanks

Crash reported on VE data - failed to invert structural->std space transformation

From Winok::

ERROR: 0-dimensional array given. Array must be at least two-dimensional
Traceback (most recent call last):
  File "/home/fs0/winokl/Programmes/oxasl/oxasl/oxford_asl.py", line 160, in main
    oxasl(wsp)
  File "/home/fs0/winokl/Programmes/oxasl/oxasl/oxford_asl.py", line 180, in oxasl
    oxasl_preproc(wsp)
  File "/home/fs0/winokl/Programmes/oxasl/oxasl/oxford_asl.py", line 249, in oxasl_preproc
    calib.calculate_m0(wsp)
  File "/home/fs0/winokl/Programmes/oxasl/oxasl/calib.py", line 66, in calculate_m0
    wsp.calibration.m0 = get_m0_refregion(wsp)
  File "/home/fs0/winokl/Programmes/oxasl/oxasl/calib.py", line 440, in get_m0_refregion
    get_tissrefmask(wsp)
  File "/home/fs0/winokl/Programmes/oxasl/oxasl/calib.py", line 617, in get_tissrefmask
    reg.reg_struc2std(wsp)
  File "/home/fs0/winokl/Programmes/oxasl/oxasl/reg.py", line 234, in reg_struc2std
    wsp.reg.std2struc = np.linalg.inv(wsp.reg.struc2std)
  File "/opt/fmrib/fsltmp/fsl_3a805695/fslpython/envs/fslpython/lib/python3.6/site-packages/numpy/linalg/linalg.py", line 522, in inv
    _assertRankAtLeast2(a)
  File "/opt/fmrib/fsltmp/fsl_3a805695/fslpython/envs/fslpython/lib/python3.6/site-packages/numpy/linalg/linalg.py", line 201, in _assertRankAtLeast2
    'at least two-dimensional' % a.ndim)
numpy.linalg.linalg.LinAlgError: 0-dimensional array given. Array must be at least two-dimensional

Mask for PVC not consistent with oxford_asl

While the output seems pretty close the regenerated mask is significantly different. Need to compare OXASL with Flora's updated oxford_asl code to see what is causing this. To my eye the OXASL mask looks better but this may not be the case!

  • OXASL
    image

  • oxford_asl
    image

Error reported using FSLANAT option on VE data - VEASL crash

/home/fs0/winokl/Programmes/oxasl/oxasl_ve/api.py:49: RuntimeWarning: invalid value encountered in double_scalars
  tag_rad = math.acos(LV_minus_RC[0] / np.linalg.norm(LV_minus_RC))
/home/fs0/winokl/Programmes/oxasl/oxasl_ve/api.py:79: RuntimeWarning: invalid value encountered in greater
  th[two[enccyc, 2] > two[enccyc, 3]] = th[two[enccyc, 2] > two[enccyc, 3]] + 180
ERROR: /home/fs0/winokl/Programmes/oxasl/bin/veasl returned non-zero exit code: -6
Traceback (most recent call last):
  File "/home/fs0/winokl/Programmes/oxasl/oxasl/oxford_asl.py", line 160, in main
    oxasl(wsp)
  File "/home/fs0/winokl/Programmes/oxasl/oxasl/oxford_asl.py", line 187, in oxasl
    oxasl_ve.model_ve(wsp)
  File "/home/fs0/winokl/Programmes/oxasl/oxasl_ve/api.py", line 438, in model_ve
    num_vessels = _decode(wsp)
  File "/home/fs0/winokl/Programmes/oxasl/oxasl_ve/api.py", line 266, in _decode
    _decode_infer(wsp_init)
  File "/home/fs0/winokl/Programmes/oxasl/oxasl_ve/api.py", line 201, in _decode_infer
    flow, prob, extras, log = veaslc_wrapper(wsp, wsp.asldata, wsp.infer_mask)
  File "/home/fs0/winokl/Programmes/oxasl/oxasl_ve/veaslc_cli_wrapper.py", line 25, in veaslc_wrapper
    log=wsp.fsllog)
  File "/home/fs0/winokl/Programmes/oxasl/fsl/wrappers/wrapperutils.py", line 980, in wrapper
    result = fot(*args, **kwargs)
  File "/home/fs0/winokl/Programmes/oxasl/fsl/wrappers/wrapperutils.py", line 646, in __call__
    result = func(*args, **kwargs)
  File "/home/fs0/winokl/Programmes/oxasl/fsl/wrappers/wrapperutils.py", line 1022, in wrapper
    return fot(*args, **kwargs)
  File "/home/fs0/winokl/Programmes/oxasl/fsl/wrappers/wrapperutils.py", line 646, in __call__
    result = func(*args, **kwargs)
  File "/home/fs0/winokl/Programmes/oxasl/fsl/wrappers/wrapperutils.py", line 1064, in wrapper
    return fot(*args, **kwargs)
  File "/home/fs0/winokl/Programmes/oxasl/fsl/wrappers/wrapperutils.py", line 646, in __call__
    result = func(*args, **kwargs)
  File "/home/fs0/winokl/Programmes/oxasl/fsl/wrappers/wrapperutils.py", line 188, in wrapper
    exitcode=exitcode)
  File "/home/fs0/winokl/Programmes/oxasl/fsl/utils/run.py", line 370, in runfsl
    return run(*args, **kwargs)
  File "/home/fs0/winokl/Programmes/oxasl/fsl/utils/run.py", line 228, in run
    args[0], exitcode))
RuntimeError: /home/fs0/winokl/Programmes/oxasl/bin/veasl returned non-zero exit code: -6

Report does not ignore nans

See below image from data set which had a handful of nan values in the output. It displayed ok in fsleyes but the report looks bad.

image

Need to ignore or remove nan values from data sets when doing reporting (and maybe zero them out when outputting as well?)

Better debug output control

Currently just have --debug. Would like:

  • --log-fslcmd - log the command line for each FSL command
  • --log-fslout - log the standard output from each FSL command

--debug would still exist and set full output logging and full data output.

--pvcorr does not work for vessel encoded data

It is not obvious if partial volume correction is valid for VE data since we are doing modelling on a data set where only part of the brain contains a perfusion signal.

We should run some tests on this and see if it makes sense. If it doesn't then the option should generate a warning/error if it is used with a VE data set.

distortion correction fails for VE data

This is related to the difficulty in obtaining a PWI prior to vessel decoding. The PWI is required for EPI_REG.

However since the encoding cycles typically include a 'control all' and 'label all' image, it should be possible to implement this for VE data.

Arrival times observation

From Tom. Not completely clear what this is about but to investigate:

"Somewhat confusingly, oxasl with pvec outputs arrival time maps anyway with the default aslrest values (0.7 and 1.0 respectively). Had me pretty concerned for a while trying to work out why it was ignoring my commands, but it seems to simply chuck them out by default. The logfiles for basil do at least show the right numbers."

Step 2 of 3: VB - Tissue Arterial - Initialise with step 1 Using fabber - Taking too much time

Hi all,

I was using the oxasl with FSL version 6.0.1 and it was running well. Last week I updated my FSL to 6.0.4 and when using oxasl (or oxford_asl), the Step 2 of BASIL analysis is taking too much time, so much that I cant finish (one hour for 1%). Here is the print of my try. I am using Ubuntu 18.04.

Did it happen with anybody else? What should I do to solve it?

I already tried to re-install my FSL as well as the oxasl.

Screenshot from 2020-09-11 15-35-41

Error on generating report

Generating HTML report
usage: oxasl [OPTIONS] SOURCEDIR OUTPUTDIR [FILENAMES...]
oxasl: error: cannot find files ['/Users/tokell/Data/7T_ASL_Tests/2019-06-13- 
Subject_MPPCASL_with_multi_PLD/MPPCASL_HighRes_oxasl_phase_prior_prec0.01_output/report’]

Reproduced twice on Mac. Does not happen on Linux.

phases on multiphase data

Hi Martin,

I'm trying to run a multiphase data on oxasl. In the documentation (https://oxasl.readthedocs.io/en/latest/example_mp.html) there is the option for --phases=

However, when I am trying to run it, I'm finding this error: oxasl: error: no such option: --phases

I also couldn't find the option --phases when looking at the oxasl help. Is this option not available anymore?

Best,
Andre

BASIL options

e.g. --infert1

The most common ones should be supported as CL options. Also, there should be provision for a file containing extra options so we don't have to add every possible model option to the list of valid CL arguments.

Report generation

Report generation failed due to not having sphinx and rst2pdf. Given this runs by default, should these not be listed as requirements?

Output model fit in format which is directly comparable with data

Before doing model fitting, oxasl reorders and performs label-control subtraction on the ASL data. This means the output modelfit is unlikely to 'match' the input ASL data.

We should reorder the modelfit data before output and also provide a subtracted version of the input data for direct comparison.

--region-analysis is not work for roi analysis using atlas

This option is not work for roi extraction from processed asl data.
I checked codes in oxford_asl and region_analysis. It looks like not enabled and involved this option to oxford_asl.
Do you have any plan to include this code in oxasl or do you have any solution for this?

Thanks,
Huijin

Automatically save log

Should automatically save the stdout log to the output directory. This is pretty easy for the user to do anyway by redirection but helpful to do it especially as there is useful info in there (e.g. M0 values from calibration).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.