henhaobio
Sign in

NeuroImageNeurosciencePeer-reviewed journal article

MRtrix3: A fast, flexible and open software framework for medical image processing and visualisation

Jacques‐Donald TournieriD, Robert E. SmithiD, David A. RaffeltiD, Rami Tabbara, Thijs DhollanderiD, Maximilian PietschiD, Daan ChristiaensiD, Ben JeurisseniD, Chun‐Hung YehiD, Alan ConnellyiD

PDFDOIPreprint

Abstract

MRtrix3 is an open-source, cross-platform software package for medical image processing, analysis and visualization, with a particular emphasis on the investigation of the brain using diffusion MRI. It is implemented using a fast, modular and flexible general-purpose code framework for image data access and manipulation, enabling efficient development of new applications, whilst retaining high computational performance and a consistent command-line interface between applications. In this article, we provide a high-level overview of the features of the MRtrix3 framework and general-purpose image processing applications provided with the software.

In-depth summary

Claude Opus 5.5 · xhigh effort · 5 Nov 2026 · from the full text of version 1 (15 Feb 2019) · CC BY-NC-ND 4.0

MRtrix3 provides an open-source C++11 and Python software framework, command-line suite, and OpenGL 3.3 viewer for fast multi-dimensional medical image processing and diffusion MRI analysis.

Processing high-dimensional neuroimaging datasets such as diffusion-weighted MRI requires substantial compute time and reproducible pipelines across heterogeneous file formats. Evolving from the deprecated MRtrix 0.2.x package, MRtrix3 introduces a redesigned architecture with memory-mapped and volume-contiguous data access, multi-threading primitives, automatic header provenance tracking, and end-to-end tractography and connectomics tools.

Key results

  1. ShownThe core library optimizes multi-dimensional image input/output through memory-mapping, direct RAM access, delayed network write-back, and arbitrary data strides.

    MRtrix3 natively reads and writes Analyze, NIfTI1, NIfTI2, MGH, native MRtrix formats, and read-only DICOM (extracting Siemens, GE, and Philips diffusion gradients), supporting volume-contiguous 4D symbolic strides to maximize CPU cache reuse. · 3 Design aspects; 3.1.1 Optimised data access; 3.1.2 DICOM handling; 8 Appendix A: Image strides

  2. ShownBuilt-in multi-threading, RAM-backed Unix pipes, BIDS support, and header provenance tracking streamline reproducible pipeline execution.

    Chained commands pass temporary in-memory filenames over Unix pipes to avoid redundant data copies, import and export Brain Imaging Data Structure (BIDS) JSON and bval/bvec metadata, and record executed commands and Git version tags in output headers. · 2.1 Reproducible neuroscience; 3.2.1 Unix pipes; 3.2.2 Multi-threading; 3.3.4 Python scripts

  3. ShownThe cross-platform MRView application enables interactive visualization of up to 5D medical images, tractograms, orientation density functions, fixels, and connectomes.

    Built on OpenGL 3.3 and Qt (version 4 or 5), MRView renders data in scanner coordinates across single-slice, 3-slice orthoview, lightbox, and ray-traced 3D volume modes with arbitrary oblique cuts and direct Unix pipe input. · 3 Design aspects; 4 MRView; Figure legends

  4. ShownMRtrix3 bundles modular command-line utilities for general image manipulation and complete diffusion MRI workflows from preprocessing to group-wise fixel analysis.

    Included tools cover MP-PCA denoising, Gibbs ringing suppression, FSL and ANTs wrappers, diffusion tensor imaging, single- and multi-shell multi-tissue constrained spherical deconvolution, deterministic/probabilistic/global tractography, SIFT/SIFT2, and connectivity-based fixel enhancement. · 5.1 Basic image operations; 5.2 Diffusion analyses; Figure legends

Methods, data and reproducibility

MRtrix3 is engineered in C++11 templates and Python with a custom configure-and-build dependency system, continuous integration on TravisCI and AppVeyor, Doxygen API documentation, and an external module mechanism. It pairs a unified NIfTI-standard coordinate and stride-aware image access layer with multi-threaded voxel-looping primitives and an OpenGL 3.3/Qt graphical viewer (MRView).

Methods & tools
MRtrix3, MRView, Eigen3, Qt, OpenGL 3.3, zlib, FSL, ANTs, Doxygen, TravisCI, AppVeyor
Reagents & environment
C++11, OpenGL 3.3, Python, zlib, Eigen3, and Qt (version 4 or 5) under Mozilla Public Licence 2.0; runs on GNU/Linux, macOS, HPC systems, and Windows via MSYS2 or WSL.
Reproducibility gaps
Explicit repository and documentation URLs are omitted from the text, and no quantitative runtime or memory benchmark numbers are reported.
Limitations (3)
  • Native DICOM support is restricted to read-only import, and arbitrary on-disk stride ordering is supported only by MRtrix3's dedicated image file formats. · stated by the authors
  • Memory-mapped image writing loses performance on networked file systems due to random writes, requiring a RAM-buffered delayed write-back strategy. · stated by the authors
  • Motion, eddy-current, susceptibility distortion, and bias-field corrections rely on Python wrapper scripts that invoke external third-party software packages (FSL or ANTs). · stated by the authors

Read this if you process diffusion MRI or multi-dimensional neuroimaging data and want a fast, scriptable command-line toolkit and interactive 3D/4D/5D viewer.

Citations
2,985
FWCI
34.83
Field percentile
top 1%

Reproducibility ledger

Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.

Sign in to file a reproducibility report.

Similarity Map
SelectedSame fieldCross-field
THISTuulari '25Schäfer '20Kim '23Lange '24Wang '21Liu '26
61% semantic matchNeuroscience
Jetro J. Tuulari, Aaron Barron, Ashmeet Jolly+14 more·bioRxiv·Oct 26, 2025