Changelog

All notable changes to this project will be documented in this file or page

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() and preprocessing.util.vecs_are_fullsphere() with preprocessing.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, the slm=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 to mrgrid. 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 so subproces.run can recognize the flag

  • Updated 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 or dwifslpreproc for compatibility with MRtrix3 >= 3.0.1

  • Updated 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 definition

  • json2fslgrad now transposes B0s in BVAL file in accordance with FSL’s gradient scheme

  • Documentation update

  • Extras directory renamed to extras

  • 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 method

  • Dockerfile_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 concatenation

  • SNR 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