Changelog¶
All notable changes to this project will be documented in this file or page
v1.0.0¶
Jan 13, 2023
Added
Tractography modules tractography.dsistudio, tractography.odf, tractography.sphericalsampling
ODF computations and spherical harmonic expansion for DTI and DKI
Option to add user-defined map for tractography stopping criteria
Added option to import multiple custom maps into DSI studio file
PyDesigner can now be pulled from PyPI with pip install pydesigner
Changed
Fixed a logic in multi-TE detection algorithm that prevented certain datasets from processing
Overhauled how inputs paths are entered. Paths to input DWIs can now be provided to PyDesigner without comma separation
Udpate des2dke.m for compatibility with nii_preprocess
Replaced FBI SH with tesseral SH
Removed
None
v1.0-RC12¶
Jan 14, 2022
Added
None
Changed
Fixed a logic in multi-TE detection algorithm that prevented certain datasets from processing
Overhauled how inputs paths are entered. Paths to input DWIs can now be provided to PyDesigner without comma separation
Removed
None
v1.0-RC11¶
Nov 30, 2021
Added:
CSF excluded smoothing to minimize partial volume effect (PVE). Two methods to do this have been implemented - (1) -cf or –csf_fsl using FSL FAST segmentation, and (2) -cd or –csf_adc n using pseudo-ADC threshold of more than 2 (ADC > 2).
Various other support functions such as mrpreproc.csfmask() and mrinfoutil.shells() to support CSF masking. These functions can also be used for other applications
User provided brain mask is now rotated to the same orientation as input DWI to prevent fitting errors from incorrect masking.
Changed
Overhaul of preprocessing.smoothing to enable NaN-smoothing
B0 volumes are now excluded from IRLLS outlier detection to ensure there are some minimum volumes present in tensor fitting. This prevents various fitting errors.
Removed
None
v1.0-RC10¶
Jun 29, 2021
Added:
Support for multi echo time (TE) datasets. PyDesigner will now preprocess DWIs with multiple TEs together, but extract diffusion metrics for each TE separately. Users need to parse
-te
flag to enable this feature.Added
dwiextract
function to mrpreproc.py to allowing splitting of .mif files.Added function
fit_regime
to dwipy.py to automatically run all tensor fitting steps in an appropriate manner.Added
highprecisionpower
to dwipy.py to mitigate integer overflow error when performing FBI fODF calculation.Flag
--no_rectify
to disable rectification of FBI fODFs. In some cases where FBI acquistion is excellent, rectification can degrade fODFs instead. This flag is intended to disable rectification of such datasets.
Changed
Maximum DKI b-value threshold has been raised to 3,000 mm/s^2, thereby enabling DKI support for researchers using b-values higher than 2,000 mm/s^2 but less than 3,000 mm/s^2.
IRLLS now also includes B0 volumes when evaluating goodness-of-fit to make outlier detection more robust and accurate.
Various stability patches for FBI and FBWM to ensure error-free extraction of FBI/FBWM metrics.
Removed
None
v1.0-RC9¶
Mar 16, 2021
Added
None
Changed
B-values are first rounded to a float insted of integer directly to prevent errors in preprocessing
Removed
None
v1.0-RC8¶
Feb 15, 2021
Added
Added missing Rician preprocessing to
-s, --standard
preprocessing
Changed
Potential sources of errors in FBWM have been mitigated with error-handling
Removed
None
v1.0-RC7¶
Feb 11, 2021
Added
Missing Docker figures in RTD documentation
Changed
Added error mitigation when FBI cost function fails to converge to a minimum cost
Updated WMTI calculation to follow DKE outputs
Removed
Unnecessary WMTI calculations
v1.0-RC6¶
Dec 22, 2020
Added
None
Changed
Replaced
preprocessing.util.bvec_is_fullsphere()
andpreprocessing.util.vecs_are_fullsphere()
withpreprocessing.mrinfoutil.is_fullsphere()
. Even though datasets may be half-shelled, it is inaccurate to label them as such because distortion relative to b-value is not linear. As such, theslm=linear
makes no sense. This new method performs the proper checks required before labelling a DWI as fully-shelled. A DWI is half-shelled iff max B-value is less than 3000 AND the norm of the mean direction vector is more than 0.3.
Removed
See above
v1.0-RC5¶
Oct 26, 2020
Added
Check for b-value scaling so .bval file so values specified as either 2.0 or 2000 can be processed.
fitting.dwipy()
can now be pointed to user-defined bvec and bval paths. It previously required bvec and bval files to have the same name and path as DWI.DSI Studio tractography for FBI. Processing FBI dataset now produces an
fbi_tractography_dsi.fib
file that can be loaded into DSI Studio to perform tractography.
Changed
Fixed issue where eddy correction would attempt to QC and fail despite parsing the
--noqc
flag.SNR plotting works in very specific scenarious when input DWIs are of the same same dimensions. A try/except loop now ensure that the entire pipeline doesn’t halt due to errors in plotting.
Removed:
None
v1.0-RC4¶
Sep 22, 2020
Added
Reslicing compatibility udpated for new MRTrix3 version where
mrrelice
has been changed tomrgrid
. PyDesigner will work with either versions.
Changed
Fixed a bad indent in tensor reordering function that produced an error in DTI protocols.
Removed
None
v1.0-RC3¶
Sep 21, 2020
Added
FBI fODF map for FBI tractography. Users may use MRTrix3 to further process this file.
Variable maximum spherical harmonic degree to improve robustness of FBI fit. This was fixed at 6 previous, but has been defaulted to 6 now. Users may change l_max with the
-l_max n
flag. This is based on information found at https://mrtrix.readthedocs.io/en/dev/concepts/sh_basis_lmax.html
Changed
None
Removed
None
v1.0-RC2¶
Aug 25, 2020
Added
References to README.rst
Changed
The minimum B-value required for FBI (4000) is now inclusive instead of exclusive. This would allow executiong of FBI/FBWM for datasets with b=4000 mm/s^2
Convert variable
nthreads
to string sosubproces.run
can recognize the flagUpdated Slack permalink in README.rst
Removed
None
v1.0-RC1¶
Aug 19, 2020
Added
Methods to perform tensor only with compatible B-values. PyDesigner previously use all B-values in a DWI to do so. This behavior has been updated to use only B-values less than 2500
FBI and FBWM calculations
Brief documentation on how to run PyDesigner
Changed
Automatically issues
dwipreproc
ordwifslpreproc
for compatibility with MRtrix3 >= 3.0.1Updated minimum version for required Python modules
Removed
None
v0.32¶
Apr 21, 2020
Added
Intrinsic inter-axonal and mean extra-axonal diffusivity calculation to WMTI
Changed
Method
json2fslgrad
converted from class method to function definitionjson2fslgrad
now transposes B0s in BVAL file in accordance with FSL’s gradient schemeDocumentation update
Extras
directory renamed toextras
DKE conversion scripts modified to correctly create ft and dke parameter files
Removed
None
v0.31¶
Apr 9, 2020
Added
NaN check in AWF calculculation that prevents further errors in intra-axonal and extra-axonal WMTI metrics computation
Changed
designer.fitting.dwipy
input file detection methodDockerfile_release
now deletes the correct temporary file to prevent build error
Removed
None
v0.3¶
Apr 8, 2020
Added
Head motion plot from on eddy_qc outputs
Outlier plot from IRRLS outlier detection
Updated documentation
Option to reslice DWI with
--reslice [x,y,z]
Changed
Flag
--epiboost [index]
changed to--epi [n]
, where users can specify the number of reverse phase encoded B0 pairs to use in EPI correction. Non-indexed B0s were previously destructively removed from DWI, leading to incorrect weighing of B0s in tensor estimation. The new method now preserves all B0s, thereby allowing faster EPI distortion correction without degrading DTI/DKI maps.Documentation moved to ReadTheDocs
Moved B0 production module from designer.preprocessing.brainmask to a separate function at
designer.preprocessing.extractmeanbzero()
that gets called by PyDesigner main. This allows a B0.nii to be produced regardless of the--mask
flag.
Removed
Documentation inconsistencies
v0.2 [The Cupid Release]¶
Feb 26, 2020
Added
Installer for setup with
pip install .
Multiple file support: .nii, .nii.gz, .dcm, .mif
reStructuredText styled documentation
Ability to use
--resume
flag for DWI concatenationSNR plot to depict signal changes before and after preprocessing
Full utilization of AVX instruction set on AMD machines
WMTI parameters
Changed
Fixed topup series not being denoised
Removed
CSF masking; feature failed to work consistently
dev-0.11¶
Dec 2, 2019
Added
None
Changed
Fixed bug in Dockerfile that prevented
pydesigner.py
from being found
Removed
None
0.1-dev¶
Oct 22, 2019
Initial port of MATLAB code to Python. 200,000,000,000 BCE