# MRtrix3 version 3.0 (release candidate 1)

**URL:** <https://community.mrtrix.org/t/mrtrix3-version-3-0-release-candidate-1/851>\
**Category:** Announcements\
**Created:** [April 23, 2017, 10:29pm UTC](https://community.mrtrix.org/t/mrtrix3-version-3-0-release-candidate-1/851 "2017-04-23T22:29:21Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![jdtournier](https://community.mrtrix.org/user_avatar/community.mrtrix.org/jdtournier/32/2594_2.png) [@jdtournier](https://community.mrtrix.org/u/jdtournier)\
**Post date:** [April 23, 2017, 10:39pm UTC](https://community.mrtrix.org/t/mrtrix3-version-3-0-release-candidate-1/851/5 "2017-04-23T22:39:42Z")

</div>

## Other modifications

### Documentation

The [online documentation](http://mrtrix.readthedocs.io/en/latest/) has undergone a reasonable amount of re-structuring. This means that any hyperlinks to specific pages within this documentation that have been generated externally to the _MRtrix3_ documentation itself may no longer work. However it should still be easy to find any information required from the documentation home page or the sidebar.

### Eigen 3.3

_MRtrix3_ should now be compatible with, and where possible make full use of, the improvements provided in [Eigen](http://eigen.tuxfamily.org/) version 3.3.

### FOD segmentation

The results of FOD segmentation (whether through `fod2fixel`, or a command that performs FOD segmentation internally such as `tcksift`) will differ to those generated before version 3.0\_RC1. This influences both the number of fixels extracted, and the calculation of lobe integrals. Results of such processes should therefore not be mixed between 3.0\_RC1 and prior software versions.

### Scripts

The Python scripts provided with _MRtrix3_ will now by default create a temporary working directory _within the working directory_ (i.e. the directory your terminal is pointing to when you execute the script), rather than `/tmp/`. This may reduce performance in some cases, but will hopefully alleviate issues with users running out of storage space during script execution. The temporary directory location can still be overridden using the `-tempdir` option, or by setting ‘`ScriptTempDir`’ in the _MRtrix3_ [config file](http://mrtrix.readthedocs.io/en/latest/getting_started/config.html).

There is also a new option `-debug` to provide an additional layer of verbosity, for when things _really_ go awry.

## Changes to specific commands and scripts

### 5ttgen

A minor error in `5ttgen fsl` was resulting in some voxels not quite having a sum of partial volume fractions of 1.0. This is not ideal, but should not influence the results of tracking. The issue has been rectified, and a new command `5ttcheck` can be used to test whether or not a particular image conforms to this requirement in addition to the fundamental 5TT requirements.

### dwipreproc

- The interface for the `dwipreproc` script has been altered. Users are referred to the new [documentation page](http://mrtrix.readthedocs.io/en/3.0_rc1/dwi_preprocessing/dwipreproc.html) for this script that compares old and new usage. It is also recommended that users be initially critical of the outputs provided by this new version of the script, since it has not undergone the same extent of testing as the previous version.

- During DICOM import, _MRtrix3_ will attempt to capture information relating to the phase encoding used during EPI readout. This information can then be used during image pre-processing using `dwipreproc -rpe_header`, rather than relying on the user to manually specify how their images were acquired. Some more technical details in [this comment](https://github.com/MRtrix3/mrtrix3/issues/747#issuecomment-245204804) if anybody is interested.

### population\_template

The arguments and default parameters for the `population_template` script, which generates an unbiased group-average template from a series of images, have been modified to be more consistent with those of `mrregister`.

1. Template creation defaults now to run multi-scale rigid registration stages before affine before nonlinear registration stages. The previous default was to start with affine registration.

2. Any two of the rigid, affine and nonlinear registration stages are now optional.

3. We changed arguments to be more consistent with `mrregister`:

The default parameters for the linear registration stages are:

```auto
    (00) rigid scale: 0.3000, niter: 100
    (01) rigid scale: 0.4000, niter: 100
    (02) rigid scale: 0.6000, niter: 100
    (03) rigid scale: 0.8000, niter: 100
    (04) rigid scale: 1.0000, niter: 100
    (05) rigid scale: 1.0000, niter: 100
    (06) affine scale: 0.3000, niter: 500
    (07) affine scale: 0.4000, niter: 500
    (08) affine scale: 0.6000, niter: 500
    (09) affine scale: 0.8000, niter: 500
    (10) affine scale: 1.0000, niter: 500
    (11) affine scale: 1.0000, niter: 500

```

Those for nonlinear registration stages remain:

```auto
    (00) nonlinear scale: 0.3000, niter: 5
    (01) nonlinear scale: 0.4000, niter: 5
    (02) nonlinear scale: 0.5000, niter: 5
    (03) nonlinear scale: 0.6000, niter: 5
    (04) nonlinear scale: 0.7000, niter: 5
    (05) nonlinear scale: 0.8000, niter: 5
    (06) nonlinear scale: 0.9000, niter: 5
    (07) nonlinear scale: 1.0000, niter: 5
    (08) nonlinear scale: 1.0000, niter: 5
    (09) nonlinear scale: 1.0000, niter: 5
    (10) nonlinear scale: 1.0000, niter: 5
    (11) nonlinear scale: 1.0000, niter: 5
    (12) nonlinear scale: 1.0000, niter: 5
    (13) nonlinear scale: 1.0000, niter: 5
    (14) nonlinear scale: 1.0000, niter: 5
    (15) nonlinear scale: 1.0000, niter: 5

```

### mrregister

Added convergence check to speed up the linear registration. This may affect linear registration results.

### mraverageheader

We changed the way the average space is calculated to allow input images that have coordinate systems rotated towards each other by angles larger than 90 degree. `mraverageheader` still defines the average space coordinate system to be unbiased in terms of rotation between input image coordinate axes and average space axes but the axes in both coordinate systems do not need to be the same axes or point in the same direction. This may affect registration results.

### mrstats

- Some of the functionalities of `mrstats` have been moved to other commands, both to make them more discoverable and to make `mrstats` more amenable to its own enhancements:

- It is now possible to calculate image statistics across all volumes (`-allvolumes` option), rather than generating each statistic for each individual volume.

### mrview

The focus cursor position can now be copied to the clipboard and written to the terminal using `mrview`'s `View options` --\> `Position` --\> `copy`. This can come in handy for certain operations, for example providing spherical ROIs to `tckgen`, or selecting landmark for alignment using `transformcalc`'s new `-align_vertices_rigid` option (see below).

### shview

Multi-shell response functions are now better handled. The display indicates which row of the response file is being shown (i.e. which shell), and the scaling of the response now behaves much more sensibly.

### tckgen

The interface and behaviour of this command with respect to streamlines _seeding_ and _selection_ for inclusion in the output track file have been altered to clarify the logic. Of particular interest for users will be the renaming of these two crucial command-line options:

- `-number` is now accessed through `-select`.

- `-maxnum` no longer exists, but its approximately equivalent replacement is `-seeds`.

Previously, `-maxnum` influenced the maximum number of streamlines that would be _generated_, irrespective of the desired number of streamlines to be written to the output file. In practise however it tended to be used / interpreted as setting the number of streamline _seeds_, which is subtly different (some seed positions might not be suitable for generating tracks, e.g. if below threshold or outside the brain mask).

Therefore, the new behaviour is to _explicitly_ control the number of streamline seeds using the `-seeds` option; and for each seed point attempted, the algorithm will perform a more exhaustive search for an appropriate initial tracking direction.

In addition, the command’s progress message will dynamically report the number of streamline _seeds_, the number of _streamlines_ actually generated from those seed points, and the number of streamlines _selected_ and written to the output file (previously only the latter two were reported).

The `-info` option can still be used to report more detailed statistics on how the tracking performed (with respect to e.g. why generated streamlines aren’t being selected and written to the output file).

### transformcalc

A new option `-align_vertices_rigid` has been added to calculate the appropriate rigid transformation to align landmarks in scanner coordinates. This can be used in conjunction with landmarks selected in `mrview`, using its new copy focus position feature (described above).

---

_[View the full topic](https://community.mrtrix.org/t/mrtrix3-version-3-0-release-candidate-1/851)._
