Combine groups (vs. merge groups)

Hi Francois,

A new group at MIT wants to use brainstorm for their data analysis. They want to combine triggers into new groups (conditions). Brainstorm currently supports merging groups, however this option makes the original triggers disappear. Is it easy to add a functionality similar to merge groups but maintain rather than delete the original triggers (so they can be used for more groups)?

Thanks!
Dimitrios

Hi Dimitrios,

I added a simple ā€œcopy groupsā€ menu that copies the selected events group.
This way you can 1) copy and 2) merge, it would do the job, right?

Cheers
Francois

Hi Francois,

Delayed thanks! It works…

Best,
Dimitrios

Hi Francois,

I have to get back to you on this. A group at MIT has a complex trigger paradigm and need an efficient way to combine groups. The good news is that the ā€˜combine stim/response’ is an extremely flexible code! We can call it iteratively and produce complex combinations of triggers (such as combine three triggers in a row). The problem is that at the last step we end up with many subgroups that we want to analyze both individually and in combinations. We have subgroups A1, A2, B1, B2, …

The ā€˜combine stim/response’ supports a script, and we can efficiently use it to batch multiple events. However, the copy groups is very cumbersome; we need to manually select A1 and A2, then copy, then merge, and then repeat for B, C, and many more.

Would it be possible to support a script for joining groups? Such as:
A1; A2; A
B1; B2; B
etc
This would create new groups but not necessarily delete the subgroups. It could be called ā€˜merge groups’ and have an option for ā€˜delete original events’ yes/no.

Thank you,
Dimitrios

Hi again,

I spent some time thinking of a nice general scripting environment for all trigger manipulations. I remember seeing the ’ symbol from erplab so this is probably very similar if not the same. Here is what I propose:

  1. x = a

  2. clear a

  3. x = [a’ b]

  4. x = [a b’]

  5. x = [a’ b c]

  6. x = [a ? c’] (optional)

  7. event x is a copy of event a

  8. event a is deleted

  9. event x occurs if a is followed by b. x is locked to a.

  10. event x occurs if a is followed by b. x is locked to b.

  11. event x occurs if a is followed by b followed by c. x is locked to a.

  12. event x occurs if a is followed by any other trigger then followed by c.

Notice, 3 and 4 handle the trigger/response combinations. So, when you get some free time and you find this environment useful…

Cheers,
Dimitrios

Hi Francois,

I am member of Rebecca Saxe’s group at MIT working on a social linguistic MEG project. We are collecting data with triggers that need to be combined in many different ways to generate various linguistic contrasts. For example, we have triggers:
42/92/72/22 compared to 52/102/32/82
22/72 compared to 32/82
22/73/53/103 compared to 32/52/13/63
and several others. This is a very tedious process to manually combine triggers in all of these different combinations repeatedly for all subjects. I would really appreciate any help that you could provide to make this process more streamlined.

Thanks so much!
Julianne

Hi Julianne & Dimitrios,

I added a process ā€œEvents: Group by nameā€ (process_evt_groupname).
You can edit freely the combinations you want to make in a text box.

Example: We have three events (A,B,C) and want to create new combinations:

  • E: Event A and B occurring at the same time
  • F: Event A and C occurring at the same time
    For that, use the following classification:
    E = A,B
    F = A,C
    You may add as many combinations as needed, one per line.

Francois

Hi Francois,

I am confused, this process combines different triggers that happen at the same time? So if A and B both happen at time 10 sec, then a new trigger E will be created?

Perhaps there is a misunderstanding: in Julianne’s case, events A and B happen at different times, but she still wants to combine them. Is this possible?

Thank you,
Dimitrios

Hi Dimitrios,

There is indeed a misunderstanding. From Julianne’s message I thought you guys had multiple events at the SAME time point and wanted to combine them in different ways, to create different averages.
Sorry if this is of no use for you. Hopefully someone will use it and it’s not going to be just lost development time…

No, for now there is nothing to do this complex event recombination.
But between process_evt_combine and process_evt_groupname, you have all the elements to build the process you need.
You can send it back to me when it’s done if you want to have it integrated in the distribution.

Cheers,
Francois

Given that this was posted 7 years ago, have there been any updates to this process?
I am attempting to combine multiple events into one broad domain through the pipeline editor, however they all occur at different times.

Cheers!

All the processes to combine events are available from the Process1 tab, in the "Events" category. Most of them are documented directly in the process options.

For anything you don't manage to do with these processes, you can write your own Matlab scripts:
https://neuroimage.usc.edu/brainstorm/Tutorials/Scripting#Example:_Editing_events

1 Like