Giter Club home page Giter Club logo

toad's Introduction

TOAD IS NO LONGER MAINTAINED

PLEASE USE TRACTOFLOW

Github: https://github.com/scilus/tractoflow

Documentation: https://tractoflow-documentation.readthedocs.io/en/latest/

Paper: https://pubmed.ncbi.nlm.nih.gov/32447016/

TOAD
(Toolkit for Analysis in Diffusion MRI)

Organization: Unité Fonctionnelle de Neuroimagerie (UNF), Centre de recherche de l’institut Universitaire de Gériatrie de Montréal (CRIUGM)

Maintainer: Arnaud Boré and Christophe Bedetti


TOAD aims to offer an automated pipeline to process diffusion neuroimaging data. The toolkit uses a large combination of tools (Matlab, FreeSurfer, FSL, Mrtrix ...) to clean the data, compute different masks, segment maps and then compute fibers, tensors and their associated metrics such as Fractional Anisotropy (FA) and so on.

The project is available on the UNF servers for research purposes only. Unfortunately, it is not possible to use it outside because of a private dependency (post-processing tractography). A new pipeline will be available on CBRAIN in the near future.

You can find the documentation here.


TOAD vise à offrir une chaine de traitement semi-automatisée pour analyser les données de neuro-imagerie de diffusion. La boite à outils qu’est TOAD utilise de nombreux logiciels (Matlab, FreeSurfer, FSL, Mrtrix ...) pour corriger, débruiter et reconstruire les tenseurs et extraire les principales métriques associées (MD, FA ...) ainsi que pour produire les faisceaux de connectivité à partir des données de diffusion.

Le projet est disponible sur les serveurs de l'UNF à des fins de recherche uniquement. Malheureusement, il n'est pas possible de l'utiliser en dehors à cause d'une dépendance privée (post-traitement de la tractographie). Un nouveau pipeline sera disponible prochainement sur CBRAIN.

La documentation de TOAD est ici.

toad's People

Contributors

arnaudbore avatar bpinsard avatar cbedetti avatar kaurousseau avatar larlequin avatar marccote avatar mathieudesro avatar unfteam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

toad's Issues

First level verification for dcm2toad output

It would be nice if unf2toad could check if the right files have been created at the end of the conversion.

Right now, if the user converts fieldmap images (phase and magnitude) and fails to specify the right directories, only one image is created with no error.

I put first level in the title since the verification is only on the filename. The second level could be on the file type and/or format itself.

masking in denoising

masking in nlmeans denoising step causes zero stripes in denoised data.
dwi mask should be warped from anatomical image as in fieldmap step.

Tractography converter

  • Instead of using our own code/converter of tractograms, we should use mrtrix' when it will be available.

[QA] New QA session about software version

As discussed during the TOAD meeting we should add a new QA session where information about the different softwares version used during the pipeline. We should add also a summary of the analysis.

Christophe if you need help don't hesitate !

Magnitude registration

Some subjects fail to be well registered with anat. We should find a way to check if the registration went well and change parameters in case of "error".

1- Check registration
2- Add -usesqform in registration of magnitude, use norm.mgz instead of "anat freesurfer"

ASAP ;)

PS: What need to be modified:
-----> INFO: Coregistring magnitude image with the anatomical image produce by freesurfer

denoising qa report

Denoising report should mention which denoising algorithm have been during the task.

unf2toad enhancement

  • We should suggest a serie of DICOM for conversion.
  • We should check the serie of DICOM to make sure that it makes sense for conversion.
  • Once you've done the first subject we can ask if it's possible to repeat the same pattern of conversion for subjects that have the same series of DICOM.
  • We should save list of converted subjects

Inconsistant shape between the condition and the input

You have to make sure that each image submit as parameter to noiseAnalysis function have the same shape.

This bugs could append when we remove one slice to an odd number of slices image prior to avoid a bugs with eddy correction.

See toad/tasks/08-snr.py at line 54

Denoising step.

As far as I know, in functional and anatomical MRI preprocessing pipeline, the denoising step is optional and is done before motion correction and registration steps.

Should we add a switch in the pipeline to be able to do the denoising before eddy/fieldmap corrections ?

Create brodmann area lut file

  1. We need to evaluate if the brodmann map use into this project is optimal. Maybe there is others better solutions available.
  2. Identify and label the brodmann areas into a lut file.
  3. Find or define a RGB colormap convention into the lut file that will be less confusing than the actual colormap actually use.

unf2toad without argument

When executing unf2toad without argument we've got an error message

unf2toad: error: too few arguments

It should gives help information instead of 'crashing'.

Tractography postprocessing filtering

We need to add more anatomical information to post-filter the tractogram.

Don't hesitate to address fibers for this list.

  • U-fibers crossing corpus callosum
  • U-fibers crossing cerebellar peduncles

I put fibers that seem to be the easiest to remove.

Results task

Here is a list of files that we need to add a link to refere to in the results folder:

dwi_ -> upsampe/dwi_upsample.nii.gz
b -> ../03-eddy/dwi_EN464_subset_eddy.b
bvec -> ../03-eddy/dwi_subset_eddy.bvec
bval -> ../03-eddy/dwi_subset_eddy.bval
anat_ -> register/anat_freesurfer_resample.nii.gz
brain_mask -> register/brain_mask_resample.nii.gz
brodmann -> register/brodman_resample.nii.gz

fa_dipy, ad_dipy, rd_dipy, md_dipy, nufo_dipy, gfa_dipy, rgb -> tensordipy
fa_fsl, ad_fsl, rd_fsl, md_fsl -> tensorfsl
fa_mrtrix, ad_mrtrix, rd_mrtrix, md_mrtrix -> tensormrtrix

Any suggestions about the name of these links ?

We can use subjectname_* : (ex S01)

S01_anat.nii.gz
S01_dwi.nii.gz
S01_brain_mask.nii.gz
S01_dipy_fa.nii.gz

create an instance of toad on a HPC computer

Look like a custom environnement source file is needed to achieve that task.
I will probably need to adapt the grid engine for torque.
Matlab is not support. Lpca and aonlm denoising will not work. Use nlmeans or none
preprocessing white matters segmentation will not work eithers
convert see'm not install into the backend. Fixing that issue soon

crash into hardidipy

INFO: Launching implementation of hardidipy task
INFO: Creating /scratch/bore_cardio/toad_data/HC_RC35_2/13-hardidipy directory
INFO: Starting tensors creation from dipy on /scratch/bore_cardio/toad_data/HC_RC35_2/05-preprocessing/dwi_HC_RC35_2_subset_eddy_unwarp_denoise_upsample.nii.gz
INFO: Start fODF computation

/usr/lib64/python2.7/site-packages/dipy/reconst/peaks.py:503: RuntimeWarning: invalid value encountered in double_scalars
return np.sqrt(numer / denom)
/usr/lib64/python2.7/site-packages/dipy/reconst/peaks.py:503: RuntimeWarning: invalid value encountered in double_scalars
return np.sqrt(numer / denom)
/usr/lib64/python2.7/site-packages/dipy/reconst/peaks.py:503: RuntimeWarning: invalid value encountered in double_scalars
return np.sqrt(numer / denom)
/usr/lib64/python2.7/site-packages/dipy/reconst/peaks.py:503: RuntimeWarning: invalid value encountered in double_scalars
return np.sqrt(numer / denom)
/usr/lib64/python2.7/site-packages/dipy/reconst/peaks.py:503: RuntimeWarning: invalid value encountered in double_scalars
return np.sqrt(numer / denom)
/usr/lib64/python2.7/site-packages/dipy/reconst/csdeconv.py:576: UserWarning: maximum number of iterations exceeded - failed to converge
warnings.warn(msg)
/opt/sge/default/spool/stark/job_scripts/18931: line 1: 5375 Bus error (core dumped) /usr/local/toad//bin/toad /scratch/bore_cardio/toad_data/HC_RC35_2 -l -p

Tache fieldmap non inclue dans la liste de dépendance.

Quand les images nécessaires à la tache fieldmap sont dans le dossier back-up, un getOrder() sur la tache retourne None. Si les images sont dans le dossier du sujet, getOrder() retourne la bonne valeur.

Cela peut poser un problème quand l'utilisateur interrompt le pipeline avant la tache fieldmap pour le relancer plus tard.

Error during fieldmap task

INFO: ------------------------


Launch mrconvert command line...Command line submit: mrconvert -coord 3 0 dwi_HC_AM32_1_subset_eddy_unwarp.nii.gz b0_HC_AM32_1_subset_eddy_unwarp.nii.gz -nthreads 1 -quietError produce by mrconvert: mrconvert: [ERROR] output file "b0_HC_AM32_1_subset_eddy_unwarp.nii.gz" already exists (use -force option to force overwrite)
mrconvert: [ERROR] error creating image "b0_HC_AM32_1_subset_eddy_unwarp.nii.gz"


INFO: Launch convert command line...

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.