Skip to content
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

Average epochs #34

Closed
5 tasks done
mmagnuski opened this issue Jul 3, 2019 · 19 comments
Closed
5 tasks done

Average epochs #34

mmagnuski opened this issue Jul 3, 2019 · 19 comments

Comments

@mmagnuski
Copy link

mmagnuski commented Jul 3, 2019

Summary of feature requests from this discussion:

@mmagnuski
Copy link
Author

mmagnuski commented Jul 3, 2019

sorry, accidental posting. :)
I wanted to ask about epoching - it seems not to be available in mnelab.
More broadly it would be good to have a list o mnelab features somewhere in the docs as it is not easy to tell what can be done in mnelab just by looking into main repo the documentation.

To use mnelab in class the following features would be necessary (at least from my perspective):

  • epoching
  • epoch selection (by condition/event)
  • epochs averaging (evoked)
  • ERP plotting
  • creating new data by applying ICA (fixed in ADD Apply ICA function #43)

are these features within future scope of mnelab? If so I would like to help at some point but first I'd have to teach myself some pyqt. :)

@mmagnuski mmagnuski changed the title epoching planned features Jul 3, 2019
@mmagnuski
Copy link
Author

and it would be super useful to display code responsible for certain GUI operations (the equivalence of eeghist in eeglab).

@cbrnr
Copy link
Owner

cbrnr commented Jul 3, 2019

I don't have a detailed roadmap for MNELAB, but epoching is definitely at the top of the list. This will require some restructuring (or at least thinking), so I can't say when it will be done. Applying ICA should be easier since computing ICA is already possible, and all that's missing is a simple command.

Something like eeghist already exists in the code, I just need to add a way to access the command history.

@cbrnr
Copy link
Owner

cbrnr commented Jul 3, 2019

And regarding the documentation: there is no documentation yet, this would probably be the most important thing to start adding...

@vferat
Copy link
Contributor

vferat commented Jul 3, 2019

Some of these features are implemented in the fork we work on with @TyWR.

Some of them such as epoching and averaging are working fine, but the structure of the code may not be optimal for long term dev. For others features, some of them are custom plot that may not suit the MNE community. But there is several functions such as ICA and filtering which are pure MNE code that could be merged to the main repo.

In addition, we can help to developt new functions that are in neither of the repos

@cbrnr
Copy link
Owner

cbrnr commented Jul 3, 2019

@vferat PRs welcome - maybe start with applying ICA to raw data? I will also work on some stuff, we should probably coordinate.

@mmagnuski
Copy link
Author

@cbrnr
Oh, I now see that the command history is printed in the console, great!

@hoechenberger
Copy link
Contributor

hoechenberger commented Jul 4, 2019

Two additional features that are essential for my workflow:

@TyWR
Copy link
Contributor

TyWR commented Jul 4, 2019

@cbrnr Would it possible to set up the Projects tab in your repo to get an overview of what is to be done, or currently in progress ?

That would be nice to coordinate the work on different features. I thought about adapting the code from our fork for the handling of epochs & evoked data type.

@cbrnr
Copy link
Owner

cbrnr commented Jul 4, 2019

@hoechenberger concatenating epochs will be added as part of adding epochs in general. You can already add a reference channel if you go to Edit -> Set reference..., then click on Channel(s) and add a name that doesn't exist - this channel will be added as a new reference.

I think documenting the existing features is really the first thing to be done.

@cbrnr
Copy link
Owner

cbrnr commented Jul 4, 2019

@TyWR I've never used this tab, but if it helps in tracking current progress I can of course set it up. So far I thought that creating issues was sufficient for that, because you can also assign an issue to specific persons.

@cbrnr
Copy link
Owner

cbrnr commented Jul 4, 2019

Maybe let's stick with opening separate issues for missing features for now. I can assign to people if someone volunteers to implement/fix an issue.

@vferat vferat mentioned this issue Jul 4, 2019
@hoechenberger
Copy link
Contributor

@hoechenberger concatenating epochs will be added as part of adding epochs in general. You can already add a reference channel if you go to Edit -> Set reference..., then click on Channel(s) and add a name that doesn't exist - this channel will be added as a new reference.

Great, thank you!

@cbrnr cbrnr changed the title planned features Epoching features Jul 10, 2019
@cbrnr
Copy link
Owner

cbrnr commented Feb 12, 2020

@mmagnuski could you please clarify what you mean by "epoch selection (by condition/event)"? Do you mean that epoch creation is based on specific events - this is already implemented in MNELAB. Or do you mean selection of epochs in an already existing Epochs object (if so, how is this done with MNE)?

@mmagnuski
Copy link
Author

@cbrnr Hi, I think I might have meant selecting events to epoch by. The other thing is done in MNE with metadata attribute (epochs['stimulus == "face" & rotation == 0']) or event_id (epochs['face/0']). But I don't consider this second thing to be an "epoching feature" per se. However, it is sometimes useful in the epoching context as one can do slow_erp = epochs['RT > 0.65'].average().

@cbrnr cbrnr changed the title Epoching features Average epochs Feb 17, 2020
@rob-luke rob-luke mentioned this issue May 7, 2020
5 tasks
@rob-luke
Copy link
Contributor

Whats the latest on this topic? Does anyone have a branch attempting epoch plotting that I can look at? No stress if not, just wondering.

@cbrnr
Copy link
Owner

cbrnr commented Jun 12, 2020

@rob-luke epoching is already implemented (which includes plotting). I think the only thing missing from this issue is creating an Evoked object from Epochs.

@rob-luke
Copy link
Contributor

Sorry I was not very precise with my language, I was interested in evoked plotting. But I think you have answered my question, it’s not currently hiding in a branch somewhere and needs to be implemented. Thanks for the update.

@cbrnr
Copy link
Owner

cbrnr commented Feb 10, 2022

This has now been implemented, currently only as a plotting option for Epochs objects.

@cbrnr cbrnr closed this as completed Feb 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants