Skip to main content

Microstructure Diffusion Toolbox

Project description

The Microstructure Diffusion Toolbox (MDT) is a framework and library for microstructure modeling of magnetic resonance imaging (MRI) data. The aim of MDT is to provide reproducible and comparable model fitting for MRI microstructure analysis. As such, we provide a common platform for microstructure modeling including many models that can all be processed using the same optimization routines. For maximum performance all models and algorithms were implemented to make use of all parallel processing capabilities of modern computers. MDT combines flexible modeling with fast processing, targeting both model developers and data analysts.

Summary

  • GPU accelerated processing

  • Human Connectome Project (HCP) pipelines

  • Includes CHARMED, NODDI, BinghamNODDI, NODDIDA, NODDI-DTI, ActiveAx, AxCaliber, Ball&Sticks, Ball&Rackets, Kurtosis, Tensor, VERDICT, qMT, and relaxometry (T1, T2) models.

  • Includes Gaussian, Offset-Gaussian and Rician likelihood models

  • Includes Powell, Levenberg-Marquardt and Nelder-Mead Simplex optimization routines

  • Includes multiple (adaptive) MCMC sampling algorithms

  • Supports hyperpriors on parameters

  • Supports gradient deviations per voxel and per voxel per volume

  • Supports volume weighted objective function

  • Supports adding your own models

  • Offers Graphical, command line and python interfaces

  • Computations are parallelized over voxels and over volumes

  • Python and OpenCL based

  • Free Open Source Software: LGPL v3 license

  • Runs on Windows, Mac and Linux operating systems

  • Runs on Intel, Nvidia and AMD GPU’s and CPU’s.

HCP Pipeline

MDT comes pre-installed with Human Connectome Project (HCP) compatible pipelines for the MGH and the WuMinn 3T studies. To run, after installing MDT, go to the folder where you downloaded your (pre-processed) HCP data (MGH or WuMinn) and execute:

$ mdt-batch-fit . NODDI

and it will autodetect the study in use and fit your selected model to all the subjects.

Quick installation guide

The basic requirements for MDT are:

  • Python 3.x

  • OpenCL 1.2 (or higher) support in GPU driver or CPU runtime

Linux

For Ubuntu >= 16 you can use:

  • sudo add-apt-repository ppa:robbert-harms/cbclab

  • sudo apt-get update

  • sudo apt-get install python3-mdt python3-pip

  • sudo pip3 install tatsu

For Debian users and Ubuntu < 16 users, install MDT with:

  • sudo apt-get install python3 python3-pip python3-pyopencl python3-numpy python3-nibabel python3-pyqt5 python3-matplotlib python3-yaml python3-argcomplete libpng-dev libfreetype6-dev libxft-dev

  • sudo pip3 install mdt

Note that python3-nibabel may need NeuroDebian to be available on your machine. An alternative is to use pip3 install nibabel instead.

A Dockerfile and Singularity recipe were kindly provided by Ali Khan (on github: akhanf). These dockers come with Intel OpenCL drivers pre-loaded (e.g. for containerized deployment on a CPU cluster). For example, to install using Docker use docker build -f containers/Dockerfile.intel ..

Windows

The installation on Windows is a little bit more complex and the following is only a quick reference guide. For complete instructions please view the complete documentation.

  • Install Anaconda Python 3.*

  • Install MOT using the guide at https://mot.readthedocs.io

  • Open an Anaconda shell and type: pip install mdt

Mac

  • Install Anaconda Python 3.*

  • Open a terminal and type: pip install mdt

Please note that Mac support is experimental due to the unstable nature of the OpenCL drivers in Mac, that is, users running MDT with the GPU as selected device may experience crashes. Running MDT in the CPU seems to work though.

For more information and full installation instructions see https://mdt_toolbox.readthedocs.org

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mdt-1.2.7.tar.gz (17.0 MB view details)

Uploaded Source

Built Distribution

mdt-1.2.7-py2.py3-none-any.whl (17.0 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file mdt-1.2.7.tar.gz.

File metadata

  • Download URL: mdt-1.2.7.tar.gz
  • Upload date:
  • Size: 17.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for mdt-1.2.7.tar.gz
Algorithm Hash digest
SHA256 0fac9d86f30c473c81a909b47a32ea51eb489c78cc69595407ece888c91431d3
MD5 514134431d3e88ef44bfc79473a465d9
BLAKE2b-256 292c0c7c7ae6cfb7c45b033791301e5a70ed2912421bed997f207255dba57d10

See more details on using hashes here.

File details

Details for the file mdt-1.2.7-py2.py3-none-any.whl.

File metadata

  • Download URL: mdt-1.2.7-py2.py3-none-any.whl
  • Upload date:
  • Size: 17.0 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for mdt-1.2.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8a3351be197a25a60c45cdbd97e88c13d39a15c0c4b08bdd06ef475fb3e9546a
MD5 183ee523f0eddef1db314dfbf836fb99
BLAKE2b-256 970777b2496eaaaefefa6460ef8055a222c187f1e19e331de60dbf50a7575005

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page