2. Major software changes
Documentation
-
MRtrix3 reference: Include reference to the MRtrix3 manuscript in all commands.
Please cite this manuscript in all publications that have used any component of MRtrix3. The ongoing support and development of MRtrix3 is contingent upon evidence of its utilisation and impact in the field!
-
Wiki: Some MRtrix3-related documentation has been moved from the online software documentation into the “
wiki
” section of the community forum. This will enable more dynamic updates of documentation when recommendations change, and also permit user contributions.
Package management
Binary installers/packages are now available at https://www.mrtrix.org/download for multiple platforms:
-
standalone installer for macos : this will fetch and install the binaries for the latest MRtrix3 release. It includes
mrview
andshview
as macos application bundles, enabling tight system integration (e.g. exposingmrview
as a proper macos application, enabling file icons for supported images and double clicking in Finder, …). -
anaconda packages for both Linux and macos : enable easy installation for anaconda or miniconda users.
-
msys2 package for Windows : enables easy installation for msys2 users.
Python scripts
-
API: Considerable changes to the MRtrix3 Python API. These will mostly be irrelevant for most users (
-tempdir
renamed to-scratch
is the only interface change), but will affect anyone writing their own scripts to run against the API.
Registration
-
registration Added support for multi-contrast registration in
mrregister
andpopulation_template
.mrregister
results will differ slightly from previous results due to changes to the midway-space calculation. This and changes to the population template grid and masking will also affectpopulation_template
results.
Statistical inference
-
CFE:
fixelcfestats
defaults to an intrinsically normalised version of the CFE equation, which provides an effect comparable to non-stationarity correction but without computational penalty. The former behaviour can be accessed using the-cfe_legacy
option. -
F-tests: Ability to perform F-tests (
-ftests
option). -
FBA: Calculations previously performed internally within
fixelcfestats
are now spread across multiple commands. See new commandsfixelconnectivity
andfixelfilter
. -
Fixel matrix format: A new format for storing the sparse fixel-fixel connectivity matrix on the fileysstem has been produced. This is generated by new command
fixelconnectivity
, and utilised as input by new commandfixelfilter
as well asfixelcfestats
. Interested developers can use this format for direct, easy-to-read access to these data for their own projects. -
Heteroscedasticity: Ability to define variance groups (
-variance
option). Also fun to say. -
Limited shuffles: Better handling of use cases where the maximal number of possible shuffles is small.
-
Model errors: Model errors can be treated as exchangeable (randomly permuted), independent & symmetric (randomly negated), or both (
-errors
option). -
Multiple hypotheses: Multiple hypotheses can be tested in a single command invocation (and not just the “inverse contrast”). Achieved by providing a contrast matrix rather than a vector. Note that this also means that the
-negative
command-line option is no longer present; equivalent functionality is achieved by providing a contrast matrix with two rows, where the values in the second row are negated relative to the first. -
Per-element design matrices: Design matrix can vary between individual elements (e.g. fixels) tested; due to regressors (of interest or of no interest) where the value is unique for each fixel / voxel / connectome edge tested (
-column
option), and/or data exclusion on a per-element basis (non-finite input data values). Useful for dealing with inconsistent brain cropping due to incomplete coverage or subject motion (documentation page). -
Restricted exchangeability: Ability to define (non-hierarchical) restricted exchangeability (
-exchange_within
and-exchange_whole
options). -
Z-statistic: Statistical enhancement algorithms are applied to the corresponding Z-statistics for each hypothesis. This makes empirical statistical enhancement behaviour more consistent across studies of different sizes, between t-tests and F-tests, and reduces non-stationarity when excluding data on a per-element basis.
dwi2response dhollander
- New single-fibre selection: New built-in algorithm for selecting exemplar single-fibre WM voxels.
dwidenoise
- Complex data: Command can now operate natively on complex data. This facilitates denoising datasets that contain both magnitude and phase images, provided the latter have also been exported. A key advantage of denoising in the complex domain is that it offers a means to reduce Rician bias.
population_template
-
leave-one-out-registration: registers each image to the current template that was created without this image in the intensity aggregation.
-
robust initialisation: allows more robust template initialisation of images with extreme intensity values.
-
aggregation: Added options for intensity value aggregation across images in
population_template
. It now supports mean, median, and weighted average aggregation. -
NaN-masking: The template does not contain contributions from areas outside the original field-of-view of input images. Previously these counted as zero in the averaging, biasing the template towards zero if input images were cropped. Added a NaN-masking option to also exclude areas outside the masks from contributing to the template intensity.