Analyze galvanic skin response (GSR) in Brainstorm?


I couldn’t find any previous post on that but, is it possible to view and analyze data from electrodermal activity/skin conductance/galvanic skin response in Brainstorm? We use a GSR accessory from BioSemi concurently to a BioSemi ActiveTwo EEG system. Both EEG and GSR data are recorded on the same .bdf file using ActiView software.

Yet, only main electrodes (A/B/C/D 1-32) and external electrodes (EXG 1-8) are available in the “Available sensors” in “Channel selection” option of the Montage editor. The GSR signal was viewable in BrainAnalyzer software.



1 Like

Hi Remi,

Brainstorm should let you display all the channels recorded in any BDF file.
If you right-click on the channel file > Edit channel file: do you see the EXG electrodes in the list?
You can change the type of the channels (to “EXG” for instance).

To display them, right-click on the data file > EXG > Display time series.
Now in the montage editor, you should be able to see the sensors.


Hi Francois,

Got it! I had no problem displaying the EXG external (facial) electrodes (since type was also EEG) but I couln’t find the galvanic skin response electrode (typically, in other programs, it appears last, after the EXG electrode, with name GSR1). But I could finally find this GSR1 in the Edit channel file window like you mentioned and the type was not EEG but “Misc”. So I right-clicked on the channel file > Misc > Display time series and could see it.


Hi, Remi.
Did you use brainstorm for the analysis of the GSR signal? If so, what type of analysis do you recommend?

Thanks !

Hi Evelyn,

Unfortunately, it has been several years since I have touched the topic so I don't remember the details. What I can tell you though is that we tried doing the GSR analysis directly in brainstorm and presented the results at a conference (poster). If I remember correctly we baseline-corrected the GSR amplitude (uV) signals based on the timings of relevance, and then computed group averages and t-tests/regressions.

But then I got worried that this was not the proper analysis, did some research, and found this:

Why should I use PsPM?

There are two alternatives to PsPM (PsychoPhysiological Modelling) for SCR analysis: standard peak scoring, and Ledalab. All these three approaches aim at making a statement about an unobservable psychological process (sympathetic arousal), given skin conductance data. We prefer to use any method that has the highest chance of recovering this unobservable process. But how can we know how well a method recovers a hidden process? One possibility is to induce known psychological states, for example showing aversive and neutral images which we know induce strong and weak sympathetic arousal. Ideally, these two conditions should be separable by any analysis method. PsPM separates such two known conditions much better (significantly better) than the other two approaches (Bach DR, 2014, Biological Psychology 103:63-68: A head-to-head comparison of SCRalyze and Ledalab, two model-based methods for skin conductance analysis).

I've been wanting to (and would recommend to) reanalyze the data using the PsPM, but never got to do it unfortunately as it looked quite complicated to implement in practice and as I got swallowed by other projects... Hope this is helpful and best of luck with your project.

As Remi pointed out, using Brainstorm for GSR signal analysis depends on what you aim to extract from the time series.
Brainstorm can display any kind of time series. Most of the analysis library will also apply to GSR (spectral, time-frequency decompositions, etc.), if relevant to your scientific question.