An introduction to diffusion Magnetic Resonance Imaging (dMRI) analysis in 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!
This lesson teaches:
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? |
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 . This indicates that the maintainers will welcome a pull request fixing this issue.
Current maintainers of this lesson are
A list of contributors to the lesson can be found in AUTHORS
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.
To cite this lesson, please consult with CITATION