Skip to content

Releases: ME-ICA/tedana

0.0.12

14 Apr 13:35
863304b
Compare
Choose a tag to compare

Summary

This would ordinarily not have been released, but an issue with one of our dependencies means that people cannot install tedana right now. The most notable change (which will potentially change your results!) is that PCA is now defaulting to the "aic" criterion rather than the "mdl" criterion.

What's Changed

  • [DOC] Add JOSS badges by @tsalo in #815
  • [FIX] Fixes broken component figures in report when there are more than 99 components by @manfredg in #824
  • [DOC] Add manfredg as a contributor for code by @allcontributors in #825
  • DOC: Use RST link for ME-ICA by @effigies in #832
  • [DOC] Fixing a bunch of warnings & rendering issues in the documentation by @handwerkerd in #840
  • [DOC] Replace mentions of Gitter with Mattermost by @tsalo in #842
  • [FIX] The rationale column of comptable gets updated when no manacc is given by @eurunuela in #855
  • Made AIC the default maPCA option by @eurunuela in #849
  • [DOC] Improve logging of component table-based manual classification by @tsalo in #852
  • [FIX] Add jinja2 version pin as workaround by @jbteves in #870

New Contributors

Full Changelog: 0.0.11...0.0.12

0.0.11

30 Sep 14:03
4d5c645
Compare
Choose a tag to compare

Release Notes

Tedana's 0.0.11 release includes a number of bug fixes and enhancements, and it's associated with publication of our Journal of Open Source Software (JOSS) paper! Beyond the JOSS paper, two major changes in this release are (1) outputs from the tedana and t2smap workflows are now BIDS compatible, and (2) we have overhauled how masking is performed in the tedana workflow, so that improved brain coverage is retained in the denoised data, while the necessary requirements for component classification are met.

🔧 Breaking changes

  • The tedana and t2smap workflows now generate BIDS-compatible outputs, both in terms of file formats and file names.
  • Within the tedana workflow, T2* estimation, optimal combination, and denoising are performed on a more liberal brain mask, while TE-dependence and component classification are performed on a reduced version of the mask, in order to retain the increased coverage made possible with multi-echo EPI.
  • When running tedana on a user-provided mixing matrix, the order and signs of the components are no longer modified. This will not affect classification or the interactive reports, but the mixing matrix will be different.

✨ Enhancements

  • tedana interactive reports now include carpet plots.
  • The organization of the documentation site has been overhauled to be easier to navigate.
  • We have added documentation about how to use tedana with fMRIPrep, along with a gist that should work on current versions of fMRIPrep.
  • Metric calculation is now more modular, which will make it easier to debug and apply in other classification decision trees.

🐛 Bug fixes

  • One component was not rendering in interactive reports, but this is fixed now.
  • Inputs are now validated to ensure that multi-file inputs are not interpreted as single z-concatenated files.

Changes since last stable release

  • [JOSS] Add accepted JOSS manuscript to main (#813) @tsalo
  • [FIX] Check data type in io.load_data (#802) @tsalo
  • [DOC] Fix link to developer guidelines in README (#797) @tsalo
  • [FIX] Figures of components with index 0 get rendered now (#793) @eurunuela
  • [DOC] Adds NIMH CMN video (#792) @jbteves
  • [STY] Use black and isort to manage library code style (#758) @tsalo
  • [DOC] Generalize preprocessing recommendations (#769) @tsalo
  • [DOC] Add fMRIPrep collection information to FAQ (#773) @tsalo
  • [DOC] Add link to EuskalIBUR dataset in documentation (#780) @tsalo
  • [FIX] Add resources folder to package data (#772) @tsalo
  • [ENH] Use different masking thresholds for denoising and classification (#736) @tsalo
  • [DOC, MAINT] Updated dependency version numbers (#763) @handwerkerd
  • [REF] Move logger management to new functions (#750) @tsalo
  • [FIX] Ignore non-significant kappa elbow when no non-significant kappa values exist (#760) @tsalo
  • [ENH] Coerce images to 32-bit (#759) @jbteves
  • [ENH] Add carpet plot to outputs (#696) @tsalo
  • [FIX] Correct manacc documentation and check for associated inputs (#754) @tsalo
  • [DOC] Reorganize documentation (#740) @tsalo
  • [REF] Do not modify mixing matrix with sign-flipping (#749) @tsalo
  • [REF] Eliminate component sorting from metric calculation (#741) @tsalo
  • [FIX] Update apt in CircleCI (#746) @notZaki
  • [DOC] Update resource page with dataset and link to Dash app visualizations (#745) @jsheunis
  • [DOC] Clarify communication pathways (#742) @tsalo
  • [FIX] Disable report logging during ICA restart loop (#743) @tsalo
  • [REF] Replace metric dependency dictionaries with json file (#739) @tsalo
  • [FIX] Add references back into the HTML report (#737) @tsalo
  • [ENH] Allows iterative clustering (#732) @jbteves
  • [REF] Modularize metric calculation (#591) @tsalo
  • Rename sphinx functions to fix building error for docs (#727) @eurunuela
  • [ENH] Generate BIDS Derivatives-compatible outputs (#691) @tsalo

0.0.11rc1

20 Aug 15:09
e8a43eb
Compare
Choose a tag to compare

Release Notes

We have made this release candidate to test recent enhancements. Please open issues if you experience any problems.

Changes

  • [DOC] Add link to EuskalIBUR dataset in documentation (#780) @tsalo
  • [FIX] Add resources folder to package data (#772) @tsalo
  • [ENH] Use different masking thresholds for denoising and classification (#736) @tsalo
  • [DOC, MAINT] Updated dependency version numbers (#763) @handwerkerd
  • [REF] Move logger management to new functions (#750) @tsalo
  • [FIX] Ignore non-significant kappa elbow when no non-significant kappa values exist (#760) @tsalo
  • [ENH] Coerce images to 32-bit (#759) @jbteves
  • [ENH] Add carpet plot to outputs (#696) @tsalo
  • [FIX] Correct manacc documentation and check for associated inputs (#754) @tsalo
  • [DOC] Reorganize documentation (#740) @tsalo
  • [REF] Do not modify mixing matrix with sign-flipping (#749) @tsalo
  • [REF] Eliminate component sorting from metric calculation (#741) @tsalo
  • [FIX] Update apt in CircleCI (#746) @notZaki
  • [DOC] Update resource page with dataset and link to Dash app visualizations (#745) @jsheunis
  • [DOC] Clarify communication pathways (#742) @tsalo
  • [FIX] Disable report logging during ICA restart loop (#743) @tsalo
  • [REF] Replace metric dependency dictionaries with json file (#739) @tsalo
  • [FIX] Add references back into the HTML report (#737) @tsalo
  • [ENH] Allows iterative clustering (#732) @jbteves
  • [REF] Modularize metric calculation (#591) @tsalo
  • Rename sphinx functions to fix building error for docs (#727) @eurunuela
  • [ENH] Generate BIDS Derivatives-compatible outputs (#691) @tsalo

0.0.10

28 Apr 19:25
8477aab
Compare
Choose a tag to compare

Release Notes

The 0.0.10 release of tedana includes a number of bug fixes over the previous stable release, and drops support for Python 3.5, as well as adding formal support for Python 3.8 and 3.9.
As always, we encourage users to review our documentation (at tedana.readthedocs.io) which includes information for theoretical background for multi-echo, acquisition-related guidance, and documentation for our ✨ 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

  • PCA is now normalized over time, which may change number of PCA components retained
  • A bug-fix for ICA f-statistic thresholding may change some component classifications and metric calculations.
  • For datasets with more than 3 echoes, a bug was fixed where we required all echoes to be "good" instead of just the minimum three needed for accurate metric calculation. This may significantly impact classifications on datasets with more than 3 echoes.

✨ Enhancements

  • Formal support added for Python 3.8 and 3.9.
  • We now normalize PCA over time.

🐛 Bug fixes

  • In prior releases, f-statistic maps were thresholded just before kappa/rho calculation, such that the metric maps related to T2 and S0 were not aligned with the values used to calculate kappa and rho. All T2 and S0 maps are now thresholded at calculation, so that their derivative metrics reflect this thresholding as well.
  • In previous releases, there was a bug where datasets required all echoes be considered "good" for a voxel to be included in denoising. However, in datasets with more than three echoes, this is too conservative. This release requires only the minimal 3 echoes in order to perform accurate metric calculations.

Changes since last stable release

  • [MAINT] Modifies actions to run on release publish (#725) @jbteves
  • [DOC] Add warning about not using release-drafter releases to developer instructions (#718) @tsalo
  • [FIX] Bumps (down) sklearn and scipy (#723) @emdupre
  • [MAINT] Drop 3.5 support and begin 3.8 and 3.9 support (#721) @tsalo
  • [FIX] Calculate Kappa and Rho on full F-statistic maps (#714) @tsalo
  • [FIX] Adds f_max to right place (#712) @jbteves
  • [DOC] Added MAPCA to list of dependencies (#709) @handwerkerd
  • [DOC] Add references to HTML report (#695) @tsalo
  • [FIX] Enable normalization in mapca call (#705) @notZaki
  • [REF] Replace MAPCA code with mapca library (#641) @tsalo
  • [REF] Normalize over time in MAPCA (#702) @tsalo
  • [ENH] Match BokehJS with BokehPy version (#703) @notZaki
  • [MAINT] Update Kirstie affiliation in zenodo file (#694) @KirstieJane
  • [MAINT] Add Javier Gonzalez-Castillo to Zenodo file (#682) @javiergcas
  • [DOC] Harmonizes Governance Documents (#678) @jbteves

0.0.9

05 Feb 20:18
3897363
Compare
Choose a tag to compare

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

0.0.9a1

10 May 18:54
d338acc
Compare
Choose a tag to compare

Release Notes

Hot-fix release to correctly generate optimal combination files in the t2smap workflow.

Changes

  • [FIX] Fix t2smap optimal combination (#566)

Thanks to @tsalo for this patch.

0.0.9a

05 May 14:59
bc55c2d
Compare
Choose a tag to compare

This release contains a number of breaking, fixing, and useful changes.
We encourage users to review our heavily expanded documentation at
tedana.readthedocs.io

Bug Fixes:

  • PCA has been overhauled to a new and more reliable method, averting a known
    bug where too many PCA components would be selected.
  • 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.

Breaking Changes:

  • 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.
  • Removed the --sourceTEs option.
  • T2* maps are now in seconds rather than milliseconds.
  • --mle option is now deprecated.

Changes in Defaults:

  • New PCA algorithm is default, please see documentation for more information.
  • Clustering is now bi-sided rather than two sided (positive and negative
    clusters are now grouped separately).
  • Static png images are now the default; use --nopng to avoid this.
  • Files are now gzipped by default.

New Features:

  • Massively expanded documentation, please see tedana.readthedocs.io to view
    the updated usage help, multi-echo background, developer guidelines, and
    API documentation.
  • New PCA decomposition algorithm (default).
  • Adds the --out_dir argument to t2smap workflow to choose what directory files are written
    to.
  • t2smap workflow is now fmriprep compatible
  • Added --t2smap argument to allow you to supply a precalculated T2* map.

Thanks to Logan Dowdle, Elizabeth DuPre, Cesar Caballero Gaudes, Dan
Handwerker, Ross Markello, Isla, Joshua Teves, Eneko Urunuela,
Kirstie Whitaker, and to the NIH Section on Functional Imaging Methods
for supporting the tedana hackathon and the NIH for supporting the AFNI Code Convergence, where much of the work in this release was done.

0.0.8

06 Nov 14:10
Compare
Choose a tag to compare

Release Notes

This long overdue release concentrates on adding testing, and improving documentation. Major changes include:

  • Generating workflow descriptions for each run
  • Streamline circleCI workflow
  • Reducing memory usage

Thanks to all listed contributors, as well as to many not listed here !

Changes

0.0.7

23 Apr 18:29
Compare
Choose a tag to compare

Release Notes

This release concentrates on improving performance and interpretability of tedana processing. Major changes include:

  • Add options to control ICA attempts
  • Implement automatric masking when no explicit masking provided
  • Initial visual reports
  • Speed up cluster-extent thresholding

Thanks to all listed contributors, as well as to many not listed here (@jbteves @handwerkerd @javiergcas) !

Changes

  • [STY] Consolidate linter settings and ignore some style warnings (#216) @tsalo
  • [ENH] Limit tedana to one core (#215) @tsalo
  • [ENH] Add options to control ICA attempts (#224) @tsalo
  • [REF] Clean up outdated/unused functions (#227) @tsalo
  • [ENH] Automatically use Nilearn's EPI mask when no explicit mask is provided (#226) @tsalo
  • [ENH] Adding simple figure output (#208) @dowdlelt
  • [FIX] Normalize PCA mixing matrix over time, not component (#228) @tsalo
  • [FIX] Remove WVPCA support (#233) @tsalo
  • [FIX] scatter plot labeling issue. (#235) @dowdlelt
  • [ENH] Update Figure Generation Code (#236) @dowdlelt
  • [FIX, DOC] Use countnoise in decision table within selcomps (#238) @tsalo
  • [REF] Add gscontrol module (#240) @tsalo
  • [FIX] center component map at zero (#241) @dowdlelt
  • [FIX] Make figures using un-orthogonalized mixing matrix (#246) @tsalo
  • [REF] Clean up comptable handling in tedana.io (#242) @tsalo
  • [ENH] Speed up cluster-extent thresholding function (#239) @tsalo
  • [FIX] Fix use of d_table_score (#260) @tsalo
  • [REF, DOC] Document PAID combination method (#264) @tsalo
  • [DOC] Add dev calls to contributing guidelines (#271) @KirstieJane

0.0.6

06 Feb 19:58
Compare
Choose a tag to compare

Release Notes

We had several major changes this release, including:

  • Changes PCA default component selection to MLE, with previous decision tree accessible through kundu_pca argument
  • Adds verbose outputs for visualization and debugging
  • Addition of tedort argument
  • Bug fix for user-defined mask with poor signal

Improved documentation, logging, and issue templates also added.

With thanks to @dowdlelt, @jbteves, @katrinleinweber, @KirstieJane, and @tsalo !

Changes

  • Hyperlink DOIs to preferred resolver (#165) @katrinleinweber
  • [REF] Replace hard-coded F-statistic thresholds with scipy.stats function call (#156) @tsalo
  • [FIX] Include ignored components in ME-DN T1c time series (#125) @tsalo
  • [REF] Remove unused arguments and simplify CLI (#163) @tsalo
  • [DOC] Add FAQ and link to ME papers spreadsheet (#160) @tsalo
  • [DOC] Improve logging (#167) @tsalo
  • [FIX] Reduce user-defined mask when there is no good signal (#172) @tsalo
  • [ENH] Add tedort argument to tedana workflow (#155) @tsalo
  • [ENH] Split automatic dimensionality detection from decision tree in TEDPCA (#164) @tsalo
  • [ENH] Add verbose outputs for pipeline walkthrough (#174) @tsalo
  • [fix] update python version support in README (#182) @emdupre
  • [DOC] Fix eimask logging, ste definitions in eigendecomp (#184) @dowdlelt
  • [DOC] Fix arg parser (#195) @dowdlelt
  • Fix broken link to code of conduct (#198) @KirstieJane
  • [DOC] Add tedana development setup instructions (#197) @jbteves
  • Corrects README.md to show correct conda and pip instructions (#205) @jbteves
  • [FIX] Propagate TR to ref_image header (#207) @dowdlelt
  • [FIX] Do not use minimum mask for OC data in tedpca (#204) @tsalo
  • [ENH] Adds issue templates for bugs and discussions (#189) @jbteves
  • [ENH] Normalize all the line endings (#191) @jbteves