Build Status codecov Coverage Status Documentation Status

Dmipy: Diffusion Microstructure Imaging in Python

The Dmipy software package facilitates the reproducible estimation of diffusion MRI-based microstructure features. It does this by taking a completely modular approach to Microstructure Imaging. Using Dmipy you can design, fit, and recover the parameters of any multi-compartment microstructure model in usually less than 10 lines of code. Created models can be used to simulate and fit data for any PGSE-based dMRI acquisition, including single shell, multi-shell, multi-diffusion time and multi-TE acquisition schemes. Dmipy's main features include:

Complete Freedom in Model Design and Optimization

Human Connectome Project Data Interface Dmipy enables you to directly download any HCP subject data using your own credentials.

Numba-Accelerated, Multi-Core processing Dmipy takes heavy advantage of Python's pathos multi-core processing and numba function compilation.

Documentation on Tissue and Microstructure Models We include documentation and illustrations of all tissue models and parameter distributions, as well as example implementations and results on HCP data for Ball and Stick, Ball and Racket, NODDI-Watson/Bingham, AxCaliber, Spherical Mean models and more.

Dipy Compatibility Dmipy is designed to be complementary for Dipy users. Dipy gradient tables can be directly used in Dmipy models, Dipy models can be used to give initial parameter guesses for Dmipy optimization, and Dmipy models that estimate Fiber Orientation Distributions (FODs) can be visualized and used for tractography in Dipy.

Dmipy allows the user to do Microstructure Imaging research at the highest level, while the package automatically takes care of all the coding architecture that is needed to fit a designed model to a data set. The Dmipy documentation can be found at http://dmipy.readthedocs.io/. If you use Dmipy for your research publications, we kindly request you cite this package at the reference at the bottom of this page.

Installation

You can install dmipy using pypi by typing in your terminal

or you can manually

See solutions to common issues

Dependencies

Recommended to use Anaconda Python distribution.

Getting Started

To get a feeling for how to use Dmipy, we provide a few tutorial notebooks:

Explanations and Illustrations of Dmipy Contents

Biophysical Models and Distributions

Crossing Bundle Models

Tumor Models

How to contribute to Dmipy

Dmipy's design is completely modular and can easily be extended with new models, distributions or optimizers. To contribute, view our contribution guidelines.

How to cite Dmipy

Package Acknowledgements