Open-source software for analyzing Electrodermal activity

Open-source software for analyzing Electrodermal activity

We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Electrodermal activity (EDA) is a measure of the sympathetic activity, typically caused by stress or an emotional state. Analysis not a straightforward process like analysing reaction times. It requires some sophisticated algorithms to distinguish tonic activity (Galvanic Skin Level; GSL) and phasic activity (Galvanic Skin Responses; GSRs; see Figure 5). For a more elaborate explanation of EDA and how to analyze it, please see Bouscein (2012).

BioPac (Braithwaite, 2013) and Movisens provide software toolboxes for analyzing this data, but these are costly packages. Ledalab and PsPM are open-source Matlab toolboxes that are also able to pre-process and quantify GSL and GSRs. Unfortunately, Matlab itself is not open-source and quite expensive. Are there other free solutions that allow you to analyse EDA data, such as Python or R packages?

Bouscein, W., Roth, W. T., Dawson, M. E., & Filion, D. L. (2012). Publication recommendations for electrodermal measurements. Psychophysiology, 49, 1017-1034.

I have found a list of Python and Matlab packages. I'll summarize them over here. As soon as I have gone through the packages, I'll provide some additional details.


  • edaExplorer: Also in Python.*
    EdaExplorer is a tool that is able to detect noisy data from clean data. Five second epochs are made which will be categorized by a model that is the result of a supervised machine learning algorithm (a support vector machine). The data can be marked binary (clean vs noisy) or multiclass (clean, doubtfull or noisy). The noisy data can subsequently be removed. Moreover, edaExplorer is able to find peaks (GSRs) and you can label epochs by walking through the data.


  • *edaExplorer:
  • cvxEDA: Also in Matlab.**
    cvxEDA uses a convex optimization procedure to separate the data into three components: (1) a tonic component, (2) a phasic component and (3) a noise term. The noise term is simply a sequence of zero-averaged Gaussian random variables with variance $sigma^{2}$. The phasic component is determined by the convolution of sudomotor nerve pulses. The tonic component is all that is left, slow varying changes in conductivity. The function is physiologically plausibly and has shown to outperform the continuous deconvolution analysis (CDA), as implemented in Ledalab.
  • PyPsy 0.1.1 or PyPsy 0.1.5:




  • **cvxEDA:

  • edaSleep:

  • EDA:

  • Ledalab

  • PsPM

Most packages came from The website provides tools for analyzing several other stuff, such as facial recognition. Definitely worth taking a look.


edaExplorer: Taylor, S., Jaques, N., Chen, W., Fedor, S., Sano, A., & Picard, R. Automatic identification of artifacts in electrodermal activity data. In Engineering in Medicine and Biology Conference. 2015.

cvxEDA: A Greco, G Valenza, A Lanata, EP Scilingo, and L Citi. cvxEDA: a Convex Optimization Approach to Electrodermal Activity Processing, IEEE Transactions on Biomedical Engineering, 2015. DOI: 10.1109/TBME.2015.2474131

edaSleep: Akane Sano, Rosalind W. Picard, Toward a Taxonomy of Autonomic Sleep Patterns with Electrodermal Activity, IEEE EMBC 2011, Boston, USA, August 2011


  1. Arasho

    It seems to me you are wrong

  2. Afram

    I confirm. I subscribe to all of the above.

  3. Westby

    Well done, you were simply visited with the brilliant idea

Write a message