Skip to content

Releases: ME-ICA/tedana

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

0.0.5

28 Nov 23:59
6e21c5d
Compare
Choose a tag to compare

Release Notes

Major changes: This release reverts to the 2.5 version selection criteria, and it also switches the ICA implementation from mdp to sklearn. It is also includes a major overhaul of the documentation.

With thanks to @frodeaa, @RupeshGoud, and @jbteves for contributrions !

Changes

0.0.5-rc2

21 Aug 03:53
034f07e
Compare
Choose a tag to compare

Release Notes

Update licensing for zenodo integration

Changes

  • [FIX] Update license and license fields (#117)