-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Output RMSE map and time series for decay model fit #1044
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1044 +/- ##
==========================================
+ Coverage 89.80% 89.91% +0.11%
==========================================
Files 26 26
Lines 3540 3621 +81
Branches 621 629 +8
==========================================
+ Hits 3179 3256 +77
- Misses 212 214 +2
- Partials 149 151 +2 ☔ View full report in Codecov by Sentry. |
@madisoth gave me the thumbs up on this offline, so I'm opening it up for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've made a bunch of suggested changes. The core of them is that I was looking at the mean & standard deviation time series in the report and didn't find the standard deviation informative, particularly since the low end was usually less than 0. I made a bunch of changes to store percentiles and plot the median and percentiles. To me showing the 2nd, 25th, median, 75th, and 98th percentiles is much more useful to understanding how RMSE varies over time & shows the extremes. For example, it make clear that the stdev was so large because the upper extrema can be very high. I also scaled the RMSE map to the 2nd-98th percentile. To make this change, it was easier to make the dataframe that is stored in the confounds file within rmse_of_fit_decay_ts
To highlight another comment below, the new function add_df_to_file
had problems when used with the --overwrite
option.
When this is all stabilized, a final example of the figures to the RTD documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add_df_to_file
is not working when the model fit parameters and the global signal are both added to the confounds file.
This issue is visible in the output to the four echo integration test. The RMSE time series has an x-axis that is 2X the length of the time series. If you then look four-echo/sub-01_desc-confounds_timeseries.tsv
it's clear what's happening. The columns are correct, but the added global_signal
row is added as additional rows instead of as a new column in the existing rows.
rmse_mean rmse_std rmse_min rmse_percentile02 rmse_percentile25 rmse_median rmse_percentile75 rmse_percentile98 rmse_max global_signal
186.89540100097656 260.73809814453125 0.6601158976554871 32.20176605224609 76.92352294921875 114.16072845458984 194.17686462402344 871.355974121094 11025.56640625 n/a
182.03968811035156 259.11785888671875 2.6228444576263428 30.978440475463863 74.24501037597656 109.76451873779295 186.53372192382812 865.50345703125 11128.96484375 n/a
183.68148803710935 258.3427734375 0.9386183619499208 31.656584701538087 75.49459838867188 111.54019165039062 189.2429656982422 868.1957470703127 11059.314453125 n/a
...
n/a n/a n/a n/a n/a n/a n/a n/a n/a -0.5895119545327093
n/a n/a n/a n/a n/a n/a n/a n/a n/a 1.0792854501988267
n/a n/a n/a n/a n/a n/a n/a n/a n/a -0.24254657799560972
That's fixed in my most recent commit. |
@handwerkerd I think everything should be good now. Would you mind taking another look? |
Co-authored-by: Dan Handwerker <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks for humoring all my suggested changes.
Thanks @handwerkerd! Here's what the updated 3-echo timeseries plot looks like, for posterity. ![]() |
* Limit current adaptive mask method to brain mask (ME-ICA#1060) * Limit adaptive mask calculation to brain mask. Limit adaptive mask calculation to brain mask. Expand on logic of first adaptive mask method. Update tedana/utils.py Improve docstring. Update test. Add decreasing-signal-based adaptive mask. Keep removing. Co-Authored-By: Dan Handwerker <[email protected]> * Use `compute_epi_mask` in t2smap workflow. * Try fixing the tests. * Fix make_adaptive_mask. * Update test_utils.py * Update test_utils.py * Improve docstring. * Update utils.py * Update test_utils.py * Revert "Update test_utils.py" This reverts commit 259b002. * Don't take absolute value of echo means. * Log echo-wise thresholds in adaptive mask. * Add comment about non-zero voxels. * Update utils.py * Update test_utils.py * Update test_utils.py * Update test_utils.py * Log the thresholds again. * Address review. * Fix test. --------- Co-authored-by: Dan Handwerker <[email protected]> * Update nilearn requirement from <=0.10.3,>=0.7 to >=0.7,<=0.10.4 (ME-ICA#1077) * Add adaptive mask plot to report (ME-ICA#1073) * Update scikit-learn requirement (ME-ICA#1075) Updates the requirements on [scikit-learn](https://github.com/scikit-learn/scikit-learn) to permit the latest version. - [Release notes](https://github.com/scikit-learn/scikit-learn/releases) - [Commits](scikit-learn/scikit-learn@0.21.0...1.4.2) --- updated-dependencies: - dependency-name: scikit-learn dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update pandas requirement from <=2.2.1,>=2.0 to >=2.0,<=2.2.2 (ME-ICA#1076) Updates the requirements on [pandas](https://github.com/pandas-dev/pandas) to permit the latest version. - [Release notes](https://github.com/pandas-dev/pandas/releases) - [Commits](pandas-dev/pandas@v2.0.0...v2.2.2) --- updated-dependencies: - dependency-name: pandas dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update bokeh requirement from <=3.4.0,>=1.0.0 to >=1.0.0,<=3.4.1 (ME-ICA#1078) Updates the requirements on [bokeh](https://github.com/bokeh/bokeh) to permit the latest version. - [Changelog](https://github.com/bokeh/bokeh/blob/branch-3.5/docs/CHANGELOG) - [Commits](bokeh/bokeh@1.0.0...3.4.1) --- updated-dependencies: - dependency-name: bokeh dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Load user-defined mask as expected by plot_adaptive_mask (ME-ICA#1079) * DOC desc-optcomDenoised -> desc-denoised (ME-ICA#1080) * docs: add mvdoc as a contributor for code, bug, and doc (ME-ICA#1082) * docs: update README.md * docs: update .all-contributorsrc --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * Identify the last good echo in adaptive mask instead of sum of good echoes (ME-ICA#1061) * Limit adaptive mask calculation to brain mask. Limit adaptive mask calculation to brain mask. Expand on logic of first adaptive mask method. Update tedana/utils.py Improve docstring. Update test. Add decreasing-signal-based adaptive mask. Keep removing. Co-Authored-By: Dan Handwerker <[email protected]> * Use `compute_epi_mask` in t2smap workflow. * Try fixing the tests. * Fix make_adaptive_mask. * Update test_utils.py * Update test_utils.py * Improve docstring. * Identify the last good echo instead of sum. Improve docstring. Update test_utils.py Update test_utils.py Fix make_adaptive_mask. Try fixing the tests. Use `compute_epi_mask` in t2smap workflow. Limit adaptive mask calculation to brain mask. Limit adaptive mask calculation to brain mask. Expand on logic of first adaptive mask method. Update tedana/utils.py Improve docstring. Update test. Add decreasing-signal-based adaptive mask. Keep removing. Co-Authored-By: Dan Handwerker <[email protected]> * Fix. * Update utils.py * Update utils.py * Try fixing. * Update utils.py * Update utils.py * add checks * Just loop over voxels. * Update utils.py * Update utils.py * Update test_utils.py * Revert "Update test_utils.py" This reverts commit 259b002. * Update test_utils.py * Update test_utils.py * Remove checks. * Don't take absolute value of echo means. * Log echo-wise thresholds in adaptive mask. * Add comment about non-zero voxels. * Update utils.py * Update utils.py * Update test_utils.py * Update test_utils.py * Update test_utils.py * Log the thresholds again. * Update test_utils.py * Update test_utils.py * Update test_utils.py * Add simulated data to adaptive mask test. * Clean up the tests. * Add value that tests the base mask. * Remove print in test. * Update tedana/utils.py Co-authored-by: Dan Handwerker <[email protected]> * Update tedana/utils.py Co-authored-by: Dan Handwerker <[email protected]> --------- Co-authored-by: Dan Handwerker <[email protected]> * Output RMSE map and time series for decay model fit (ME-ICA#1044) * Draft function to calculate decay model fit. * Calculate root mean squared error instead. * Incorporate metrics. * Output RMSE results. * Output results in tedana. * Hopefully fix things. * Update decay.py * Try improving performance. * Update decay.py * Fix again. * Use tqdm. * Update decay.py * Update decay.py * Update decay.py * Update expected outputs. * Add figures. * Update outputs. * Include global signal in confounds file. * Update fiu_four_echo_outputs.txt * Rename function. * Rename function. * Update tedana.py * Update tedana/decay.py Co-authored-by: Dan Handwerker <[email protected]> * Update decay.py * Update decay.py * Whoops. * Apply suggestions from code review Co-authored-by: Dan Handwerker <[email protected]> * Fix things maybe. * Fix things. * Update decay.py * Remove any files that are built through appending. * Update outputs. * Add section on plots to docs. * Fix the description. * Update docs/outputs.rst Co-authored-by: Dan Handwerker <[email protected]> * Update docs/outputs.rst * Fix docstring. --------- Co-authored-by: Dan Handwerker <[email protected]> * minimum nilearn 0.10.3 (ME-ICA#1094) * Use nearest-neighbors interpolation in `plot_component` (ME-ICA#1098) * Use nearest-neighbors interpolation in plot_stat_map. * Only use NN interp for component maps. * Update scipy requirement from <=1.13.0,>=1.2.0 to >=1.2.0,<=1.13.1 (ME-ICA#1100) Updates the requirements on [scipy](https://github.com/scipy/scipy) to permit the latest version. - [Release notes](https://github.com/scipy/scipy/releases) - [Commits](scipy/scipy@v1.2.0...v1.13.1) --- updated-dependencies: - dependency-name: scipy dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update scikit-learn requirement from <=1.4.2,>=0.21 to >=0.21,<=1.5.0 (ME-ICA#1101) Updates the requirements on [scikit-learn](https://github.com/scikit-learn/scikit-learn) to permit the latest version. - [Release notes](https://github.com/scikit-learn/scikit-learn/releases) - [Commits](scikit-learn/scikit-learn@0.21.0...1.5.0) --- updated-dependencies: - dependency-name: scikit-learn dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update numpy requirement from <=1.26.4,>=1.16 to >=1.16,<=2.0.0 (ME-ICA#1104) * Update numpy requirement from <=1.26.4,>=1.16 to >=1.16,<=2.0.0 Updates the requirements on [numpy](https://github.com/numpy/numpy) to permit the latest version. - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst) - [Commits](numpy/numpy@v1.16.0...v2.0.0) --- updated-dependencies: - dependency-name: numpy dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * Use np.nan instead of np.NaN --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Taylor Salo <[email protected]> * Filter out non-diagonal affine warning (ME-ICA#1103) * Filter out non-diagonal affine warning. * Fix warning capture. * Update tedana/reporting/static_figures.py Co-authored-by: Dan Handwerker <[email protected]> * Update static_figures.py --------- Co-authored-by: Dan Handwerker <[email protected]> * Update bokeh requirement from <=3.4.1,>=1.0.0 to <=3.5.0,>=3.5.0 (ME-ICA#1109) * Update bokeh requirement from <=3.4.1,>=1.0.0 to <=3.5.0,>=3.5.0 Updates the requirements on [bokeh](https://github.com/bokeh/bokeh) to permit the latest version. - [Changelog](https://github.com/bokeh/bokeh/blob/branch-3.6/docs/CHANGELOG) - [Commits](bokeh/bokeh@1.0.0...3.5.0) --- updated-dependencies: - dependency-name: bokeh dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * Update pyproject.toml --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Taylor Salo <[email protected]> * Update scikit-learn requirement from <=1.5.0,>=0.21 to <=1.5.1,>=1.5.1 (ME-ICA#1108) * Update scikit-learn requirement from <=1.5.0,>=0.21 to <=1.5.1,>=1.5.1 Updates the requirements on [scikit-learn](https://github.com/scikit-learn/scikit-learn) to permit the latest version. - [Release notes](https://github.com/scikit-learn/scikit-learn/releases) - [Commits](scikit-learn/scikit-learn@0.21.0...1.5.1) --- updated-dependencies: - dependency-name: scikit-learn dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * Update pyproject.toml to restore minimum version of scikit-learn --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dan Handwerker <[email protected]> * Update scipy requirement from <=1.13.1,>=1.2.0 to <=1.14.0,>=1.14.0 (ME-ICA#1106) * Update scipy requirement from <=1.13.1,>=1.2.0 to <=1.14.0,>=1.14.0 Updates the requirements on [scipy](https://github.com/scipy/scipy) to permit the latest version. - [Release notes](https://github.com/scipy/scipy/releases) - [Commits](scipy/scipy@v1.2.0...v1.14.0) --- updated-dependencies: - dependency-name: scipy dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * Update pyproject.toml to retain minimum version of scipy --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dan Handwerker <[email protected]> Co-authored-by: Eneko Uruñuela <[email protected]> * Update numpy requirement from <=2.0.0,>=1.16 to >=1.16,<=2.0.1 (ME-ICA#1112) Updates the requirements on [numpy](https://github.com/numpy/numpy) to permit the latest version. - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst) - [Commits](numpy/numpy@v1.16.0...v2.0.1) --- updated-dependencies: - dependency-name: numpy dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Cleaning up installation instructions (ME-ICA#1113) * install instructions * Update docs/installation.rst Co-authored-by: Taylor Salo <[email protected]> * Update docs/installation.rst Co-authored-by: Eneko Uruñuela <[email protected]> --------- Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Eneko Uruñuela <[email protected]> * Update bokeh requirement from <=3.5.0,>=1.0.0 to >=1.0.0,<=3.5.1 (ME-ICA#1116) Updates the requirements on [bokeh](https://github.com/bokeh/bokeh) to permit the latest version. - [Changelog](https://github.com/bokeh/bokeh/blob/3.5.1/docs/CHANGELOG) - [Commits](bokeh/bokeh@1.0.0...3.5.1) --- updated-dependencies: - dependency-name: bokeh dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update list of multi-echo datasets (ME-ICA#1115) * Generate metrics from external regressors using F stats (ME-ICA#1064) * Get required metrics from decision tree. * Continue changes. * More updates. * Store necessary_metrics as a list. * Update selection_nodes.py * Update selection_utils.py * Update across the package. * Keep updating. * Update tedana.py * Add extra metrics to list. * Update ica_reclassify.py * Draft metric-based regressor correlations. * Fix typo. * Work on trees. * Expand regular expressions in trees. * Fix up the expansion. * Really fix it though. * Fix style issue. * Added external regress integration test * Got intregration test with external regressors working * Added F tests and options * added corr_no_detrend.json * updated names and reporting * Run black. * Address style issues. * Try fixing test bugs. * Update test_component_selector.py * Update component_selector.py * Use component table directly in selectcomps2use. * Fix. * Include generated metrics in necessary metrics. * Update component_selector.py * responding to feedback from tsalo * Update component_selector.py * Update test_component_selector.py * fixed some testing failures * fixed test_check_null_succeeds * fixed ica_reclassify bug and selector_properties test * ComponentSelector initialized before loading data * fixed docstrings * updated building decision tree docs * using external regressors and most tests passing * removed corr added tasks * fit_model moved to stats * removed and cleaned up external_regressors_config option * Added task regressors and some tests. Now alll in decision tree * cleaning up decision tree json files * removed mot12_csf.json changed task to signal * fixed tests with task_keep signal * Update tedana/metrics/external.py Co-authored-by: Taylor Salo <[email protected]> * Update tedana/metrics/_utils.py Co-authored-by: Taylor Salo <[email protected]> * Update tedana/metrics/collect.py Co-authored-by: Taylor Salo <[email protected]> * Update tedana/metrics/external.py Co-authored-by: Taylor Salo <[email protected]> * Update tedana/metrics/external.py Co-authored-by: Taylor Salo <[email protected]> * Responding to review comments * reworded docstring * Added type hints to external.py * fixed external.py type hints * type hints to _utils collect and component_selector * type hints and doc improvements in selection_utils * no expand_node recursion * removed expand_nodes expand_node expand_dict * docstring lines break on punctuation * updating external tests and docs * moved test data downloading to tests.utils.py and started test for fit_regressors * fixed bug where task regressors retained in partial models * matched testing external regressors to included mixing and fixed bugs * Made single function for detrending regressors * added tests for external fit_regressors and fix_mixing_to_regressors * Full tests in test_external_metrics.py * adding tests * fixed extern regress validation warnings and added tests * sorting set values for test outputs * added to test_metrics * Added docs to building_decision_trees.rst * Added motion task decision tree flow chart * made recommended change to external_regressor_config * Finished documentation and renamed demo decision trees * added link to example external regressors tsv file * Apply suggestions from code review Fixed nuissance typos Co-authored-by: Taylor Salo <[email protected]> * Minor documentation edits --------- Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Neha Reddy <[email protected]> * Link to the open-multi-echo-data website (ME-ICA#1117) * Update multi-echo.rst * Update multi-echo.rst * Refactor `metrics.dependence` module (ME-ICA#1088) * Add type hints to metric functions. * Use keyword arguments. * Update tests. * Update dependence.py * Update collect.py * Fix other stuff. * documentation and resource updates (ME-ICA#1114) * documentation and resource updates * Fixed citation numbering and updated posters --------- Co-authored-by: Neha Reddy <[email protected]> * Adding already requested changes * fixed failing tests * updated documentation in faq.rst * more documentation changes --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Matteo Visconti di Oleggio Castello <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Eneko Uruñuela <[email protected]> Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Neha Reddy <[email protected]>
…sults (#1013) * Add robustica method * Incorporation of major comments regarding robustica addition Manual modification of commit f2cdb4e to remove unwanted file additions. * Add robustica 0.1.3 to dependency list Cherry-pick of 41354cb. * Multiple fixes to RobustICA addition from code review From: BahmanTahayori#2. Co-authored-by: Robert E. Smith <[email protected]> * Specify magic number fixed seed of 42 as a constant Cherry-pick of da1b128 (with modification). * Updated * Robustica Updates * Incorporating the third round of Robert E. Smith's comments * Enhance the "ica_method" description suggested by D. Handwerker Co-authored-by: Dan Handwerker <[email protected]> * Enhancing the "n_robust_runs" description suggested by D. Handwerkerd Co-authored-by: Dan Handwerker <[email protected]> * RobustICA: Restructure code loop over robust methods (#4) * RobustICA: Restructure code loop over robust methods * Addressing the issue with try/except --------- Co-authored-by: Bahman <[email protected]> * Applied suggested changes In this commit, some of the comments from Daniel Handwerker and Robert Smith were incorporated. * Incorporating more comments * Fixing the problem of argument parser for n_robust_runs. * Removing unnecessary tests from the test_integration. There are 3 tests for echo as before, but the ica_method is robustica for five and three echos and fatsica for the four echo test. * Adding already requested changes * fixed failing tests * updated documentation in faq.rst * more documentation changes * Update docs/faq.rst Co-authored-by: Robert Smith <[email protected]> * Update docs/faq.rst Co-authored-by: Robert Smith <[email protected]> * Aligning robustICA with current Main + (#5) * Limit current adaptive mask method to brain mask (#1060) * Limit adaptive mask calculation to brain mask. Limit adaptive mask calculation to brain mask. Expand on logic of first adaptive mask method. Update tedana/utils.py Improve docstring. Update test. Add decreasing-signal-based adaptive mask. Keep removing. Co-Authored-By: Dan Handwerker <[email protected]> * Use `compute_epi_mask` in t2smap workflow. * Try fixing the tests. * Fix make_adaptive_mask. * Update test_utils.py * Update test_utils.py * Improve docstring. * Update utils.py * Update test_utils.py * Revert "Update test_utils.py" This reverts commit 259b002. * Don't take absolute value of echo means. * Log echo-wise thresholds in adaptive mask. * Add comment about non-zero voxels. * Update utils.py * Update test_utils.py * Update test_utils.py * Update test_utils.py * Log the thresholds again. * Address review. * Fix test. --------- Co-authored-by: Dan Handwerker <[email protected]> * Update nilearn requirement from <=0.10.3,>=0.7 to >=0.7,<=0.10.4 (#1077) * Add adaptive mask plot to report (#1073) * Update scikit-learn requirement (#1075) Updates the requirements on [scikit-learn](https://github.com/scikit-learn/scikit-learn) to permit the latest version. - [Release notes](https://github.com/scikit-learn/scikit-learn/releases) - [Commits](scikit-learn/scikit-learn@0.21.0...1.4.2) --- updated-dependencies: - dependency-name: scikit-learn dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update pandas requirement from <=2.2.1,>=2.0 to >=2.0,<=2.2.2 (#1076) Updates the requirements on [pandas](https://github.com/pandas-dev/pandas) to permit the latest version. - [Release notes](https://github.com/pandas-dev/pandas/releases) - [Commits](pandas-dev/pandas@v2.0.0...v2.2.2) --- updated-dependencies: - dependency-name: pandas dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update bokeh requirement from <=3.4.0,>=1.0.0 to >=1.0.0,<=3.4.1 (#1078) Updates the requirements on [bokeh](https://github.com/bokeh/bokeh) to permit the latest version. - [Changelog](https://github.com/bokeh/bokeh/blob/branch-3.5/docs/CHANGELOG) - [Commits](bokeh/bokeh@1.0.0...3.4.1) --- updated-dependencies: - dependency-name: bokeh dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Load user-defined mask as expected by plot_adaptive_mask (#1079) * DOC desc-optcomDenoised -> desc-denoised (#1080) * docs: add mvdoc as a contributor for code, bug, and doc (#1082) * docs: update README.md * docs: update .all-contributorsrc --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * Identify the last good echo in adaptive mask instead of sum of good echoes (#1061) * Limit adaptive mask calculation to brain mask. Limit adaptive mask calculation to brain mask. Expand on logic of first adaptive mask method. Update tedana/utils.py Improve docstring. Update test. Add decreasing-signal-based adaptive mask. Keep removing. Co-Authored-By: Dan Handwerker <[email protected]> * Use `compute_epi_mask` in t2smap workflow. * Try fixing the tests. * Fix make_adaptive_mask. * Update test_utils.py * Update test_utils.py * Improve docstring. * Identify the last good echo instead of sum. Improve docstring. Update test_utils.py Update test_utils.py Fix make_adaptive_mask. Try fixing the tests. Use `compute_epi_mask` in t2smap workflow. Limit adaptive mask calculation to brain mask. Limit adaptive mask calculation to brain mask. Expand on logic of first adaptive mask method. Update tedana/utils.py Improve docstring. Update test. Add decreasing-signal-based adaptive mask. Keep removing. Co-Authored-By: Dan Handwerker <[email protected]> * Fix. * Update utils.py * Update utils.py * Try fixing. * Update utils.py * Update utils.py * add checks * Just loop over voxels. * Update utils.py * Update utils.py * Update test_utils.py * Revert "Update test_utils.py" This reverts commit 259b002. * Update test_utils.py * Update test_utils.py * Remove checks. * Don't take absolute value of echo means. * Log echo-wise thresholds in adaptive mask. * Add comment about non-zero voxels. * Update utils.py * Update utils.py * Update test_utils.py * Update test_utils.py * Update test_utils.py * Log the thresholds again. * Update test_utils.py * Update test_utils.py * Update test_utils.py * Add simulated data to adaptive mask test. * Clean up the tests. * Add value that tests the base mask. * Remove print in test. * Update tedana/utils.py Co-authored-by: Dan Handwerker <[email protected]> * Update tedana/utils.py Co-authored-by: Dan Handwerker <[email protected]> --------- Co-authored-by: Dan Handwerker <[email protected]> * Output RMSE map and time series for decay model fit (#1044) * Draft function to calculate decay model fit. * Calculate root mean squared error instead. * Incorporate metrics. * Output RMSE results. * Output results in tedana. * Hopefully fix things. * Update decay.py * Try improving performance. * Update decay.py * Fix again. * Use tqdm. * Update decay.py * Update decay.py * Update decay.py * Update expected outputs. * Add figures. * Update outputs. * Include global signal in confounds file. * Update fiu_four_echo_outputs.txt * Rename function. * Rename function. * Update tedana.py * Update tedana/decay.py Co-authored-by: Dan Handwerker <[email protected]> * Update decay.py * Update decay.py * Whoops. * Apply suggestions from code review Co-authored-by: Dan Handwerker <[email protected]> * Fix things maybe. * Fix things. * Update decay.py * Remove any files that are built through appending. * Update outputs. * Add section on plots to docs. * Fix the description. * Update docs/outputs.rst Co-authored-by: Dan Handwerker <[email protected]> * Update docs/outputs.rst * Fix docstring. --------- Co-authored-by: Dan Handwerker <[email protected]> * minimum nilearn 0.10.3 (#1094) * Use nearest-neighbors interpolation in `plot_component` (#1098) * Use nearest-neighbors interpolation in plot_stat_map. * Only use NN interp for component maps. * Update scipy requirement from <=1.13.0,>=1.2.0 to >=1.2.0,<=1.13.1 (#1100) Updates the requirements on [scipy](https://github.com/scipy/scipy) to permit the latest version. - [Release notes](https://github.com/scipy/scipy/releases) - [Commits](scipy/scipy@v1.2.0...v1.13.1) --- updated-dependencies: - dependency-name: scipy dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update scikit-learn requirement from <=1.4.2,>=0.21 to >=0.21,<=1.5.0 (#1101) Updates the requirements on [scikit-learn](https://github.com/scikit-learn/scikit-learn) to permit the latest version. - [Release notes](https://github.com/scikit-learn/scikit-learn/releases) - [Commits](scikit-learn/scikit-learn@0.21.0...1.5.0) --- updated-dependencies: - dependency-name: scikit-learn dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update numpy requirement from <=1.26.4,>=1.16 to >=1.16,<=2.0.0 (#1104) * Update numpy requirement from <=1.26.4,>=1.16 to >=1.16,<=2.0.0 Updates the requirements on [numpy](https://github.com/numpy/numpy) to permit the latest version. - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst) - [Commits](numpy/numpy@v1.16.0...v2.0.0) --- updated-dependencies: - dependency-name: numpy dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * Use np.nan instead of np.NaN --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Taylor Salo <[email protected]> * Filter out non-diagonal affine warning (#1103) * Filter out non-diagonal affine warning. * Fix warning capture. * Update tedana/reporting/static_figures.py Co-authored-by: Dan Handwerker <[email protected]> * Update static_figures.py --------- Co-authored-by: Dan Handwerker <[email protected]> * Update bokeh requirement from <=3.4.1,>=1.0.0 to <=3.5.0,>=3.5.0 (#1109) * Update bokeh requirement from <=3.4.1,>=1.0.0 to <=3.5.0,>=3.5.0 Updates the requirements on [bokeh](https://github.com/bokeh/bokeh) to permit the latest version. - [Changelog](https://github.com/bokeh/bokeh/blob/branch-3.6/docs/CHANGELOG) - [Commits](bokeh/bokeh@1.0.0...3.5.0) --- updated-dependencies: - dependency-name: bokeh dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * Update pyproject.toml --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Taylor Salo <[email protected]> * Update scikit-learn requirement from <=1.5.0,>=0.21 to <=1.5.1,>=1.5.1 (#1108) * Update scikit-learn requirement from <=1.5.0,>=0.21 to <=1.5.1,>=1.5.1 Updates the requirements on [scikit-learn](https://github.com/scikit-learn/scikit-learn) to permit the latest version. - [Release notes](https://github.com/scikit-learn/scikit-learn/releases) - [Commits](scikit-learn/scikit-learn@0.21.0...1.5.1) --- updated-dependencies: - dependency-name: scikit-learn dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * Update pyproject.toml to restore minimum version of scikit-learn --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dan Handwerker <[email protected]> * Update scipy requirement from <=1.13.1,>=1.2.0 to <=1.14.0,>=1.14.0 (#1106) * Update scipy requirement from <=1.13.1,>=1.2.0 to <=1.14.0,>=1.14.0 Updates the requirements on [scipy](https://github.com/scipy/scipy) to permit the latest version. - [Release notes](https://github.com/scipy/scipy/releases) - [Commits](scipy/scipy@v1.2.0...v1.14.0) --- updated-dependencies: - dependency-name: scipy dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * Update pyproject.toml to retain minimum version of scipy --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dan Handwerker <[email protected]> Co-authored-by: Eneko Uruñuela <[email protected]> * Update numpy requirement from <=2.0.0,>=1.16 to >=1.16,<=2.0.1 (#1112) Updates the requirements on [numpy](https://github.com/numpy/numpy) to permit the latest version. - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst) - [Commits](numpy/numpy@v1.16.0...v2.0.1) --- updated-dependencies: - dependency-name: numpy dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Cleaning up installation instructions (#1113) * install instructions * Update docs/installation.rst Co-authored-by: Taylor Salo <[email protected]> * Update docs/installation.rst Co-authored-by: Eneko Uruñuela <[email protected]> --------- Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Eneko Uruñuela <[email protected]> * Update bokeh requirement from <=3.5.0,>=1.0.0 to >=1.0.0,<=3.5.1 (#1116) Updates the requirements on [bokeh](https://github.com/bokeh/bokeh) to permit the latest version. - [Changelog](https://github.com/bokeh/bokeh/blob/3.5.1/docs/CHANGELOG) - [Commits](bokeh/bokeh@1.0.0...3.5.1) --- updated-dependencies: - dependency-name: bokeh dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update list of multi-echo datasets (#1115) * Generate metrics from external regressors using F stats (#1064) * Get required metrics from decision tree. * Continue changes. * More updates. * Store necessary_metrics as a list. * Update selection_nodes.py * Update selection_utils.py * Update across the package. * Keep updating. * Update tedana.py * Add extra metrics to list. * Update ica_reclassify.py * Draft metric-based regressor correlations. * Fix typo. * Work on trees. * Expand regular expressions in trees. * Fix up the expansion. * Really fix it though. * Fix style issue. * Added external regress integration test * Got intregration test with external regressors working * Added F tests and options * added corr_no_detrend.json * updated names and reporting * Run black. * Address style issues. * Try fixing test bugs. * Update test_component_selector.py * Update component_selector.py * Use component table directly in selectcomps2use. * Fix. * Include generated metrics in necessary metrics. * Update component_selector.py * responding to feedback from tsalo * Update component_selector.py * Update test_component_selector.py * fixed some testing failures * fixed test_check_null_succeeds * fixed ica_reclassify bug and selector_properties test * ComponentSelector initialized before loading data * fixed docstrings * updated building decision tree docs * using external regressors and most tests passing * removed corr added tasks * fit_model moved to stats * removed and cleaned up external_regressors_config option * Added task regressors and some tests. Now alll in decision tree * cleaning up decision tree json files * removed mot12_csf.json changed task to signal * fixed tests with task_keep signal * Update tedana/metrics/external.py Co-authored-by: Taylor Salo <[email protected]> * Update tedana/metrics/_utils.py Co-authored-by: Taylor Salo <[email protected]> * Update tedana/metrics/collect.py Co-authored-by: Taylor Salo <[email protected]> * Update tedana/metrics/external.py Co-authored-by: Taylor Salo <[email protected]> * Update tedana/metrics/external.py Co-authored-by: Taylor Salo <[email protected]> * Responding to review comments * reworded docstring * Added type hints to external.py * fixed external.py type hints * type hints to _utils collect and component_selector * type hints and doc improvements in selection_utils * no expand_node recursion * removed expand_nodes expand_node expand_dict * docstring lines break on punctuation * updating external tests and docs * moved test data downloading to tests.utils.py and started test for fit_regressors * fixed bug where task regressors retained in partial models * matched testing external regressors to included mixing and fixed bugs * Made single function for detrending regressors * added tests for external fit_regressors and fix_mixing_to_regressors * Full tests in test_external_metrics.py * adding tests * fixed extern regress validation warnings and added tests * sorting set values for test outputs * added to test_metrics * Added docs to building_decision_trees.rst * Added motion task decision tree flow chart * made recommended change to external_regressor_config * Finished documentation and renamed demo decision trees * added link to example external regressors tsv file * Apply suggestions from code review Fixed nuissance typos Co-authored-by: Taylor Salo <[email protected]> * Minor documentation edits --------- Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Neha Reddy <[email protected]> * Link to the open-multi-echo-data website (#1117) * Update multi-echo.rst * Update multi-echo.rst * Refactor `metrics.dependence` module (#1088) * Add type hints to metric functions. * Use keyword arguments. * Update tests. * Update dependence.py * Update collect.py * Fix other stuff. * documentation and resource updates (#1114) * documentation and resource updates * Fixed citation numbering and updated posters --------- Co-authored-by: Neha Reddy <[email protected]> * Adding already requested changes * fixed failing tests * updated documentation in faq.rst * more documentation changes --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Matteo Visconti di Oleggio Castello <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Eneko Uruñuela <[email protected]> Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Neha Reddy <[email protected]> * align with main * fixed ica.py docstring error * added scikit-learn-extra to pyproject and changed ref name * increment circleci version keys * Removing the scikit-learn-extra dependency * Updating pyproject.toml file * Minor changes to make the help more readable * Minor changes * upgrading to robustica 0.1.4 * Update docs Co-authored-by: Dan Handwerker <[email protected]> * updating utils.py, toml file and the docs * minor change to utils.py * Incorporating Eneko's comments Co-authored-by: Eneko Uruñuela <[email protected]> * Added a warning when the clustering method is changed --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Robert E. Smith <[email protected]> Co-authored-by: Dan Handwerker <[email protected]> Co-authored-by: handwerkerd <[email protected]> Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Matteo Visconti di Oleggio Castello <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Eneko Uruñuela <[email protected]> Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Taylor Salo <[email protected]> Co-authored-by: Neha Reddy <[email protected]>
Closes #861.
Changes proposed in this pull request:
desc-confounds_timeseries.tsv
file. This removes the global signal time series file (desc-globalSignal_timeseries.tsv
).