Closed ktavabi closed 7 years ago
I have shamefully little experience with ICA. Do you want to try opening a PR to add it? Perhaps we could have a second example directory (pulling and processing the same funloc
dataset) that uses ICA. That way I could test it.
@drammock you used ICA a bit for EEG data, would you be interested in this?
I basically never use mnefun (not really sure why I'm an admin, to be honest). I played a bit with using ICA for blink processing on EEG data, but ended up doing SSP instead.
That said, my limited understanding of mnefun is that it's for ILABS-specific aspects of the M/EEG analysis pipeline. This seems potentially fairly user-specific, and doesn't appear to have any ILABS-specific bits like copying to/from the various acquisition or computation servers. so, -$0.02
mnefun
does have some ILABS-specific stuff (e.g., data fetchers and MaxFilter runners) but it's really more general. In theory I/we should be using it to pipeline our EEG analyses, too (basically your YAML is the equivalent to the analysis script in mnefun
.), but it didn't work all that well when I tried it. It's missing some steps for e.g. manual annotation, variable numbers of projectors per subject, etc. that I found easier to code separately. But maybe someday we can make it easily usable for it.
So No and I owe you some change?! 😏 BTW how come you ended opting for SSP over ICA in your EEG data?
how come you ended opting for SSP over ICA in your EEG data?
because it worked better, or at least it was easier to get it working reliably with my data.
The other bit was an obtuse joke, combining "-1" with "my 2 cents", hopefully also implying that a -1 from me isn't worth much on this repo.
@larsoner If I ever get to the point where I do two experiments in a row that have basically the same pipeline, maybe I'll think about adding relevant bits to mnefun. So far each new experiment is a snowflake.
So far each new experiment is a snowflake.
The idea with expyfun
is that it takes you from raw data to Epochs (and Evoked if you want it), taking care of / unifying all preprocessing steps. It doesn't try to do any analyses after that (stats, ML, etc.). So in that sense I imagine all of your experiments probably already fit into mnefun
's designed use case, no?
@larsoner I'll keep chipping away at this for myself, if and when it gets to a point where I can apply to...
a second example directory (pulling and processing the same funloc dataset) that uses ICA.
I'll open a PR. Feel free to close the issue.
I imagine all of your experiments probably already fit into
mnefun
's designed use case, no?
I'm guessing not. This README describes my current pipeline, in which preprocessing involves (among other things)
t_zero
Points 1 and 3 can be done in a scoring function, so no problem there.
Point 2 is harder. It could be iterations of running a script and adjusting the scoring function, but integrating a new annotation functionality would be useful. It's probably something we need to add at some point anyway.
Is DSS done on raw or epochs?
In any case, it sounds to me like integration would be mutually beneficial in the long run. mnefun would get more functionality, and you would benefit from the sanity checks and other improvements already in the mnefun pipeline.
Is DSS done on raw or epochs?
operator is computed from epochs, can be applied to either Raw or Epochs.
integration would be mutually beneficial in the long run
I'll think about it. I try to only introduce 1 new technology per project; when I start the next one I'll take a look.
@larsoner Does this look like anything you are doing for implementing ICA in MNEFUN?
I am also plotting and saving ICA properties, scores, components, latent source erfs, erfs before/after projection but left out the statements in gist. WDYT about sticking into mnefun?