-
Notifications
You must be signed in to change notification settings - Fork 95
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
[ENH] Add options to control ICA attempts #224
Conversation
Also, drop unused fixed seed argument for writeresults. There’s no need to pass that value around the workflow.
Codecov Report
@@ Coverage Diff @@
## master #224 +/- ##
==========================================
- Coverage 51.54% 51.39% -0.16%
==========================================
Files 32 32
Lines 1969 1975 +6
==========================================
Hits 1015 1015
- Misses 954 960 +6
Continue to review full report at Codecov.
|
This is amazing, thank you ! One question: Should |
I'd like to drop it down to 500 (although I see now that I accidentally left it as 5000 in the tedica docstring). |
Having this as a point for the reliability analysis seems like a great idea 👍 Just looking through our existing integration tests, it looks like the seed-updating works nicely, but isn't capped at 5 re-starts. Three-echo:
Five-echo
|
|
||
mmix = ica.mixing_ | ||
mmix = stats.zscore(mmix, axis=0) | ||
return mmix, fixed_seed | ||
return mmix |
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.
Is there a reason to not return the fixed_seed
value, now ? I think it'd still be nice to have to keep provenance, but maybe there's a reason to remove it that I'm missing....
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 think we must have originally used it in io.writeresults
for something (filenames maybe?), but that function no longer uses the seed so it's not actually used anywhere. Plus, the log file will now have that info, along with number of iterations required for convergence, for those who might want it.
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.
We did use it, I think to go in the summary file. But if we're ok that it's just in the log file, that sounds fine by me ! 👍
Ah, I'm an idiot, you have |
I went with 5 for a default because I thought that was what MELODIC had (turns out it's 6), but would be happy to change to 10 to match the tests. I just chose 10 in the five-echo test because I knew convergence wasn't happening with 5 unless I chose a specific seed. Would you prefer 10 as our default? There's a nice symmetry to it since with the default |
I think I'd prefer 10 as a default, since then at least all of our test datasets pass under our default params and it has that symmetry ✨ If that sounds reasonable to you ! |
👍 That works for me. Hopefully we'll be able to come up with more robust defaults from the reliability analysis, but I'm quite happy with 500 and 10. |
One small question, but this looks great ! Excited to have this merged !! 🚀 |
LGTM ! Merging ✨ 🚀 |
References #218.
Changes proposed in this pull request:
fixed_seed
argument forio.writeresults
and stop returning it intedica
.