Skip to content

carpentries-incubator/SDC-BIDS-dMRI

Repository files navigation

Introduction to dMRI

Build Status Website Check Status Create a Slack Account with us Slack Status Binder

An introduction to diffusion Magnetic Resonance Imaging (dMRI) analysis in Python.

Why Python?

Python is rapidly becoming the standard language for data analysis, visualization and automated workflow building. It is a free and open-source software that is relatively easy to pick up by new programmers. In addition, with Python packages such as Jupyter one can keep an interactive code journal of analysis - this is what we'll be using in the workshop. Using Jupyter notebooks allows you to keep a record of all the steps in your analysis, enabling transparency and ease of code sharing.

Another advantage of Python is that it is maintained by a large user-base. Anyone can easily make their own Python packages for others to use. Therefore, there exists a very large codebase for you to take advantage of for your neuroimaging analysis; from basic statistical analysis, to brain visualization tools, to advanced machine learning and multivariate methods!

About the Lesson

This lesson teaches:

  • What diffusion Magnetic Resonance Imaging is
  • How dMRI data is organized within the BIDS framework
  • What the standard preprocessing steps in dMRI are
  • How local fiber orientation can be reconstructed using dMRI data
  • How dMRI can provide insight into structural white matter connectivity

Episodes

Topic Time Episode Question(s)
Introduction to Diffusion MRI data 30 1 Introduction to Diffusion MRI data How is dMRI data represented?
What is diffusion weighting?
Preprocessing dMRI data 30 2 Preprocessing dMRI data What are the standard preprocessing steps?
How do we register with an anatomical image?
Local fiber orientation reconstruction 30 3 Local fiber orientation reconstruction What information can dMRI provide at the voxel level?
30 3.1 Diffusion Tensor Imaging (DTI) What is diffusion tensor imaging?
What metrics can be derived from DTI?
30 3.2 Constrained Spherical Deconvolution (CSD) What is Constrained Spherical Deconvolution (CSD)?
What does CSD offer compared to DTI?
Tractography 30 4 Tractography What information can dMRI provide at the long range level?
30 4.1 Local tractography What input data does a local tractography method require?
Which steps does a local tractography method follow?
30 4.1.1 Deterministic tractography What computations does a deterministic tractography require?
How can we visualize the streamlines generated by a tractography method?
30 4.1.2 Probabilistic tractography Why do we need tractography algorithms beyond the deterministic ones?
How is probabilistic tractography different from deterministic tractography?

Contributing

We welcome all contributions to improve the lesson! Maintainers will do their best to help you if you have any questions, concerns, or experience any difficulties along the way.

We'd like to ask you to familiarize yourself with our Contribution Guide and have a look at the more detailed guidelines on proper formatting, ways to render the lesson locally, and even how to write new episodes.

Please see the current list of issues for ideas for contributing to this repository. For making your contribution, we use the GitHub flow, which is nicely explained in the chapter Contributing to a Project in Pro Git by Scott Chacon. Look for the tag good_first_issue. This indicates that the maintainers will welcome a pull request fixing this issue.

Maintainer(s)

Current maintainers of this lesson are

Authors

A list of contributors to the lesson can be found in AUTHORS

License

Instructional material from this lesson is made available under the Creative Commons Attribution (CC BY 4.0) license. Except where otherwise noted, example programs and software included as part of this lesson are made available under the MIT license. For more information, see LICENSE.

Citation

To cite this lesson, please consult with CITATION