Issues with using the Cluster function to generate GFP

Hello Brainstorm community,

The following issue started to occur after updating my Brainstorm to its latest version today.

I've been using the Cluster function > Select all sensors > Set function > Power to generate the GFPs of my cortical auditory evoked potentials. This worked very well until yesterday.
image

Today I've updated my Brainstorm as per the conversation in this thread.

Since then (I'm not sure if the update is directly related) the method that I've been using does not work anymore and here are the specific differences that I've noticed since.

  1. You can no longer open a previously saved "cluster" without a data file already open.
    I.e. you can only open (you can still access that "cluster" file within a folder) the cluster file from a previously saved location ONLY if a data file is already open.

Therefore you cannot use the extract clusters process with the cluster file because to access the cluster file you need to have the data file already open but when the data file is open and you want to access the process, Brainstorm gives you the following warning.
image

  1. When you open a cluster file with a data file already open and then close the data file you get the following message. I don't think this save modification step existed before this update for cluster functions.

image

What can be done in this situation?
Many thanks.

Indeed, I posted yesterday some major changes to the way the clusters work:
https://github.com/brainstorm-tools/brainstorm3/commit/8403a86afff14f13af7ecadbc85e229becfc395a

Now the clusters are saved in the channel file, while previously they were not saved anywhere. This explains most of what you describe:

  • You can't load the clusters when there is no data loaded
  • When you modify the clusters and then close the display figures, you are asked if you want to keep these changes, exactly in the same way as the edition of the events.
  • The Cluster tab is opened automatically when loading the data file
  • You can create once your cluster in the original raw file, and then you don't have to recreate it all the time.
  • You can call the process "Extract > Clusters time series" without having to load any cluster first, but they must be available for all the data file selected in the Process1 tab.
  • A cluster with a given name can be defined with a different list of channels for different folders or subjects.

This is the first step to implementing new tools for clustering SEEG contacts by anatomical regions.
I was not expecting this Clusters feature to be used much by Brainstorm users, and decided to reuse it for supporting new features.

Sorry for the inconvenience. I hope you'll find a way to reproduce what you were doing before with this new behavior.
If you don't, or if you observe any weird behavior that you don't understand, please let me know. There are probably still some bugs to fix. Suggestions for new features are welcome too.

Hi Francois :slight_smile:

No worries at all - thank you very much for the explanation!

Thanks for the suggestion Francois, haven't found anything strange yet.

The current alternative way that I've found to reproduce what I need involves manually opening each recording one by one, applying the already-saved GFP cluster, saving the cluster within the data file, and then extracting the GFP through the extract clusters process.
This of course takes longer than the method that I've been using before the update.

Therefore regarding suggestions for a new feature, how about a way to (maybe as a custom process?) calculate the GFP of a data recording and save that output as a separate file?
Or being able to export as a new file the green GFP trace seen (as an extra for "show GFP") for the data recording file?
Or maybe as an added extra function within the "average" process?

Either way, this custom process would need to include the following process options.
image

Eventually, under the average file, you will see their corresponding GFP files.
Hopefully, this potential custom process can be incorporated into my pipeline editor
image

What are your thoughts?

The current alternative way that I've found to reproduce what I need involves manually opening each recording one by one, applying the already-saved GFP cluster, saving the cluster within the data file, and then extracting the GFP through the extract clusters process.
This of course takes longer than the method that I've been using before the update.

I added a new process "Import > Channel file > Import clusters of channels" to that you can load your GFP cluster to all your datasets at the same time.
Update Brainstorm to get this new process.

Therefore regarding suggestions for a new feature, how about a way to (maybe as a custom process?) calculate the GFP of a data recording and save that output as a separate file?

This is what the process "Extract > Cluster time series" does. Unselect the option "Concatenate" to create one new file for each input data file.

1 Like

Dear Francois,

I have been trying to use the process "Extract > Clusters time series", without any success. I created the same cluster for two subjecs (the two cluster have the same name, but different list of channels).

Then I dragged the two data files in the process1 tab and tried to call the "Extract > Clusters time" series

As you can see the "Extract" process is not available. The error is:
Error: Error: Data type mismatch.
** Invalid inputs for process:
** "Clusters time series"

Am I missing something? What do I have to do in order to extract the cluster time series?
Thank you
Francesca

You are getting this error because this process was not available for continuous files (only imported epochs).

However, it was not complicated to implement, so I added this feature for you:

Please update Brainstorm and try again.