3. Bug fixes
(Note: If checking out the master
branch – which is the default behaviour – rather than the explicit 3.0_RC3
tag, you may have received many of these fixes already)
DICOM
-
Null characters: Fix import of DICOM fields with dangling null characters. (Thanks for report @sniogi)
-
Slice timing (2, 3): Fix import of slice timing vector, particularly in Siemens mosaics. (Thanks for report @mblesac)
-
Whitespace data: Strip excess whitespace from DICOM fields prior to numerical conversion to prevent import failures.
-
Whitespace keys: Prevent
read_mrtrix()
from failing when a header key contains whitespace; as Matlab variable names cannot contain such.
Documentation
-
FBA pipeline (2 3): Fixes to FBA pipelines following
3.0_RC3
update.
Matlab
-
write_mrtrix()
: Fix function operation when output is a.mih
/.dat
file pair rather than a.mif
.
Multiple commands
-
Affine transformations: Fix image header information load when header transformation is not rigid (scaling component will be applied to voxel sizes so that transform contains unit-length cosine vectors).
-
b-value clustering: Extract volumes classified as b=0 before running clustering algorithm to prevent low non-b=0 shells being merged with b=0 volumes. (Thanks for report @MikaelNoven)
-
Command-line interface: Fix parsing of abbreviated command-line options when there are identically-named options.
-
JSON orientations: Import and export of orientation-dependent information (e.g. phase / slice encoding directions) has been modified and extensively tested under various scenarios (e.g. different file formats, with / without MRtrix3 internal RAS realignment).
-
Multi-file numbered images: Multiple fixes to cases where more than one image axis is concatenated / split using the square-bracket notation.
-
Progress bars in binaries (2): Restrict construction of progress bars to the main thread. This should prevent various race conditions when performing multi-threaded operations; particularly operations in
mrview
that take sufficient time for a progress bar to appear. -
Terminal warnings: Prevent erroneous command-line usage warnings due to presence of piped images.
-
Track files: Prevent erroneous duplication of ROI entries within track file headers.
Package management
-
No shared library: Fix operation of
configure -noshared
. -
build
/configure
/set_path
: Fix Python decoding error on Windows.
Python scripts
-
FSL: Change FSL command detection. Previously, the MRtrix3 Python API was erroneously giving precedence to executables present in
PATH
beginning with “fsl-5.0-
”, which should in fact ideally not be inPATH
, and in some instances do not execute correctly; this change ensures that executables corresponding to a properly-installed FSL are instead given precedence. -
Header key-values: Handle import of image headers when key-value entries in the header contain exotic characters. (Thanks for report @lrq3000)
-
Number of threads: Ensure that if
-nthreads 0
is specified, this is appropriately propagated to any underlying MRtrix3 commands executed. (Thanks for report @kjamison & @ThijsDhollander) -
Progress bars: Fix glitch in progress bar completion messages. (Thanks for report @gfreches)
configure
-
MSYS2
(2) : Fix configuration on latest versions of MSYS2 for Windows (Thanks for reports @appollosputnik, @vanlam2308)
connectome2tck
-
Non-valid exemplars: Fix to
-exemplars
output for label images with absent parcels. (Thanks for report @JeroenBlommaert) -
Non-visited nodes: Fix potential memory bug when one or more nodes within the parcellation image did not have any streamlines assigned to them, and therefore did not appear in the input assignments file (bug only triggered if it was those nodes with the greatest index value that were not visited). (Thanks for report @SyamGadde)
connectomestats
- Standard deviations: Fix output of per-edge standard deviations (only the standard deviation of edge (1,2) was being written).
dcminfo
dirflip
-
Interface: Fix parsing of
-permutations
command-line option.
dirmerge
-
-unipolar_weight
option: Fix operation.
dirsplit
-
Interface: Fix parsing of
-permutations
command-line option.
dwi2mask
-
Cleaning filter: Fix operation of mask cleaning filter specifically for data where voxels are filled with NaN values.
-
-fslgrad
: Fix command failure when using this specific command-line option.
dwi2response
-
Gradient table: Fix for when no gradient table is present in the input image header, and
-mask
option is not used.
dwiextract
- Phase encoding: Fix to selection of DWI volumes based on phase encoding information where there are volumes with the same phase encoding direction but different readout times. (Thanks for report @treanus)
dwifslpreproc
-
FSL6
topup
: Provide compatibility with FSL6.0.0 when performing explicit volume recombination due to erroneoustopup
output (subsequently fixed in 6.0.1). (Thanks for report @Ingomar_Gutmann) -
-eddyqc_all
: Fix operation of this option for FSL version 6.0.0. (Thanks for report @araikes) -
-se_epi
: Fixes case where SE-EPI volumes are defined on a different image grid to the DWIs, and do not internally possess any phase-encoding contrast. (Thanks for report @araikes)
dwigradcheck
-
-force
: Fix operation of this command-line option. (Thanks for report @Soichi_Hayashi)
fixel2voxel
- Output dimensionality: Fix voxel-wise metric outputs erroneously being 4D images with 2 volumes rather than 3D images.
fixelcfestats
-
Erroneous warnings: Remove erroneous warning about voxels sizes and transforms when
-mask
option is not used.
label2mesh
- Absent parcels: Properly ignore index values that are less than the maximum in the image, but for which no voxels are present. (Thanks for report @paul-triebkorn)
labelconvert
- HCPMMP1 files: Fix some label names in HCPMMP1 parcellation lookup table files (the two files provided were previously self-consistent with one another, but inconsistent with the source parcellation data). (Thanks for report @paul-triebkorn)
mrcat
- Single-voxel image: Fix segmentation fault in the rare instance where the input images consist of one voxel each.
mrclusterstats
- Mask: Make sure template mask is 3D (command would hang if mask was erroneously 4D).
mrconvert
-
-axes
: Fix interpretation of negative axis indices in the specification of the new axes, which is required to insert additional axes (e.g. going from dimensions [ X Y Z 3 ] to [ X Y Z 1 3 ]). -
-json_export
: Fix to the export of phase encoding information when the output image was in NIfTI format, and the output image was not natively axially aligned.
mrdegibbs
-
-axes
: Validate user input to this command-line option.
mrmetric
- Cross-correlation metric: Fix calculation of this metric; command description has been updated accordingly. (Thanks for report @zeydabadi)
mrpad
- Header transform: Fix bug in generation of output image transform in cases where padding in 2nd or 3rd axis did not match that of the 1st.
mrtransform
- Erroneous warning: Fix erroneous warning message in cases where no linear transform is specified. (Thanks for report @roeysc)
mrview
-
Connectome tool crash: Fix initialisation of streamtube visualisation in connectome tool, which may have led to crashes in some instances.
-
Connectome tool UI: Ensure that if the connectome matrix selection is updated, the limits for relevant controls are also updated.
-
Fixel plot tool: Fix to threshold handling.
-
Keyboard shortcuts: Fixes opening a tool deactivating keyboard shortcuts on MacOS.
-
Lightbox mode: Potential solution to sporadic crashes when in lightbox mode.
-
ODF tool: Fix to dixel ODF renderer when running on ATI hardware.
-
Screen capture tool: Fix translation in camera coordinates. (Thanks for report @ThijsDhollander)
-
Tractography tool: Fix bug in lines render when thresholding. Crashes out on ATI hardware when displaying a TSF-thresholded tractogram and switching to lines render mode.
-
UTF-8 encoding: Fix resolution of filesystem paths in the presence of accented characters.
-
View tool: Fix width of toolbar being set far too large upon initial open.
-
-overlay.intensity
: Fix operation. (Thanks for reports @dnvaughan & @Joost) -
-tractography.geometry
: Permit mulitple uses.
population_template
-
-continue
: Fix error when using-continue
option due to attempting to delete a non-existent file. (Thanks for report @anege)
tckdfc
-
-static
: Fix absence of output image data when this command-line option was used.
tckedit
-
-inverse
and-mask
: Fix operation of command specifically when these two options are used in conjunction: Only streamline vertices outside the mask will be written to the output file.
tckgen
-
Downsampler: Fix crashes in rare cases, due to attempting to downsample a track that contains a single vertex. This was likely only applicable when utilised within the
dwigradcheck
command: streamlines tractography typically incorporates a non-zero minimum length criterion, but such is explicitly disabled in that particular script. -
Windows crash: Remove source of command sporadically crashing when running on Windows.
tcksift
- Sorting: Fix to sorting algorithm for tractograms with very few streamlines.
tckstats
-
-explicit
: Ensure that all inter-vertex distances are indeed explicitly calculated, in order to properly handle nonlinearly-transformed streamlines. (Thanks for report @cbajada)
transformcalc
-
align_vertices_rigid
: Fix.
warpcorrect
- NaN handling: Small fix when using NaN as the out-of-bounds marker.