0.0.9
Release Notes
The 0.0.9 release of tedana includes a large number of changes over the previous stable release.
This release contains a number of breaking, fixing, and useful changes. As always, we encourage users to review our documentation (at tedana.readthedocs.io) which now includes more information theoretical background for multi-echo, acquisition-related guidance, and documentation for our ✨ new interactive reports. ✨
The complete changelog since the last alpha release is included below. Here, we briefly summarize the significant changes since our last stable release.
🔧 Breaking changes
- We have updated our adaptive mask calculation between the t2smap and tedana workflows. t2smap will now use all voxels that have signal in at least one echo in the optimal combination, while tedana will use those voxels that have signal in at least three echos and so can be used in echo-dependent denoising. This change will facilitate integration into larger processing workflows such as fMRIPrep.
- We have added an internal check for whether any BOLD components are identified and--if not--set the ICA to automatically re-run for a limited number of iterations.
- Log files are now by datetime, allowing multiple runs to have systematic naming.
- Filenames for decomposition and metric maps are now BIDS derivative-compatible. Please see documentation for the full list of new filenames.
- Component tables are now in .json format.
- Changed tab-separated files from .txt to .tsv file extension.
- The --sourceTEs option has been removed.
- T2* maps are now in seconds rather than milliseconds.
- The --tedpca mle option has been removed.
- The --gscontrol option "T1c" is now "mir" for minimum image regression.
- For the "--manacc" option, you should supply a list of integers instead of a comma-separated string.
✨ Enhancements
- We have introduced interactive reports for better accessing and understanding component classification. A guide to interpreting the new reports is available here: https://tedana.readthedocs.io/en/latest/reporting.html
- A previously collected quantitative T2* map (in seconds) can now optionally be supplied directly. If provided, this information will be used to guide the optimal combination, rather than estimating the T2* map directly from the echo data.
- Files are now gzipped by default to save disk space.
- Adds the --out_dir argument to t2smap workflow to choose what directory files are written to.
- The t2smap workflow is now fmriprep compatible.
🐛 Bug fixes
- The default PCA method has been updated to follow Calhoun et al. (2001, Hum. Brain Map.). This avoids a known error where too many PCA components would be selected.
- We have added a flooring procedure for T2* map calculations to prevent divide-by-zero errors during optimal combination.
- Environments are not coerced to single-threaded computation after calling tedana.
- Fixed variance-explained outlier detection problem where first value was always NaN and variance explained was always negative.
- Fixed component table loading bug that resulted from unexpected pandas behavior.
- Fixed bug where the wrong number of echoes would be allocated in-program.
- Fixed bug where only selecting one component would cause an error.
- Correctly incorporate user-supplied masks in T2* workflow.
- Fixed bug in PAID combination where mean of data would be used instead of SNR.
Changes since last alpha release
- [MAINT] Support Windows' paths; Update zenodo & contributor count (#672) @notZaki
- [FIX] Normalize data to zero mean and unit variance before dimension estimation (#636) @notZaki
- Move long description logic from info.py to setup.py (#670) @notZaki
- [MAINT] Add new contributors to Zenodo file (#671) @tsalo
- [DOC] Starts contribution page (#624) @jbteves
- [REF] Replaces master with main where possible (#667) @jbteves
- [ENH] Allow tedpca argument to be a float inside a string (#665) @notZaki
- [ENH] Add ability to re-run ICA when no BOLD components are found (#663) @tsalo
- [ENH] Add threshold argument to make_adaptive_mask (#635) @tsalo
- [REF] Replace deprecated get_data with get_fdata (#664) @notZaki
- docs: add notZaki as a contributor (#661) @allcontributors
- [DOC] Clarify role of components in docs (#660) @notZaki
- [ENH] Implement variance explained threshold-based PCA option (#658) @tsalo
- [DOC] Log count of floored voxels in T2* estimation (#656) @tsalo
- [DOC] Add NeuroStars question link (#651) @tsalo
- [FIX] Eliminate duplicate lines in logs (#645) @tsalo
- [DOC] Add docstring to fit_loglinear (#646) @tsalo
- [FIX] Show logs in re-runs (#637) @notZaki
- [DOC] Governance update (#615) @handwerkerd
- docs: add notZaki as a contributor (#630) @allcontributors
- [TST] Allow CI for all-contributors (#627) @jbteves
- [ENH] Add diagonal reference line to kappa/rho plot (#625) @notZaki
- [MAINT] Add all contributors to Zenodo file (#614) @tsalo
- docs: add smoia as a contributor (#616) @allcontributors
- [REF] Rename T1c to "minimum image regression" (#609) @tsalo
- [DOC] Reporting documentation (#465) @javiergcas
- [DOC] Rewrite new PCA section (#613) @eurunuela
- docs: add aykhojandi as a contributor (#610) @allcontributors
- [DOC] Added link for tedana NeuroStars tag. (#608) @aykhojandi
- [DOC] Miscellaneous improvements to documentation (#575) @tsalo
- [ENH] Use list of ints for manacc instead of comma-separated string (#598) @tsalo
- [DOC] Use README as long_desc (#595) @emdupre
- [MAINT] Add workflow to autodeploy to PyPi (#568) @tsalo
- [TST] Show logging output during integration tests (#588) @tsalo
- [FIX] Add non-zero floor to T2* values (#585) @tsalo
- docs: add mvaziri as a contributor (#587) @allcontributors
- [DOC] Include [all] in developer setup install guidelines (#572) @tsalo
- [DOC] multi-echo reports (#457) @emdupre
- docs: add mjversluis as a contributor (#580) @allcontributors
- Update acquisition.rst to include information for Philips scanners (#579) @mjversluis