Allow simultaneous estimation of TE-(in)dependence metrics - #1357
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1357 +/- ##
==========================================
- Coverage 90.19% 89.54% -0.65%
==========================================
Files 30 30
Lines 4893 4927 +34
Branches 823 826 +3
==========================================
- Hits 4413 4412 -1
- Misses 318 352 +34
- Partials 162 163 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@katielamar would you be willing to check this over to see if it does what you described in your 2025 ISMRM poster? |
|
@handwerkerd is there any chance you have some shareable EPTI data we could use for testing? |
|
sure. I will look this over tomorrow and confirm. As for EPTI data, I can see if we can share some of our data. |
|
@tsalo, I ran your code (using estimate_simultaneously = True for calculate_f_maps) on the 5 EPTI tapping datasets used for ISMRM. The fstat maps match mine, but the final denoised EPTI datasets are different. It looks like the getfbounds in stats.py in your code wasn't updated. So if the combined model is used, the degrees of freedom would be dfn=1, dfd = n_independent_sources -2 instead of dfn=1, dfd = n_independent_sources -1. Let me know if you want me to try running it again on my data with the update. |
|
@katielamar Thank you! I just pushed your fix. |
|
FWIW, an alternative to having EPITI test data, woudl be to take the 5 echo data, mask with a subset of voxels to reduce processing time, and interpolate more echoes. I think we'd need to locally write out the new files to test the full tedana workflow, but I have thoughts on how to do it without excessive computational cost. |
Closes #1224.
The only current blocker is test data- we need something EPTI-ish to test this on.
Changes proposed in this pull request:
--simultaneous-dependence-metricsparameter to tedana CLI.estimate_simultaneouslyparameter tocompute_f_maps.estimate_simultaneouslyparameter togetfbounds.dfd = n_independent_sources - 1as before.dfd = n_independent_sources - 2.