Aims
The aim of Ledalab is to provide a decomposition of skin
conductance (SC) data into its tonic and phasic components. The decomposition
results in the extraction of unsuperposed response components and thus allows
for an unbisaed quantification of SCR characteristics (e.g., SCR amplitude).
Both methods assume that there is a certain intraindividual stability of the general shape of the SCR.
A physiologial model of two-compartment sweat diffusion suggests that the Bateman function (bi-exponetial function)
may be adequate for describing this general response shape. The shape parameters of this response are estimated inter-individually.
The current version of Ledalab (V3.x) features two EDA analysis strategies:
(1) Continuous Decomposition Analysis (CDA):
This method extracts the phasic (driver) information underlying EDA, and aims at retrieving the signal characteristics of the
underlying sudomotor nerve activity (SNA). SC data is deconvolved by the general response shape which results in a large increase of temporal precision.
Then data is decomposed into continuous phasic and tonic components (Benedek & Kaernbach, 2010b).
It is the method we generally recommend for the analysis of skin conductance data. It features the computation of several standard measures of phasic EDA.
Moreover, straightforward measures such as the average (or integrated) phasic driver activity are provided.
(2) Discrete Decomposition Analysis (DDA):
This method decomposses SC data into distinct phasic components and a tonic component by means of Nonnegative Deconvolution.
The method captures and explores all intraindividual deviations of the general response shape and computes a detailed full model
of all components in the entire data set (Benedek & Kaernbach, 2010a). This method is especially suited for studies of physiological models of the SCR but may be slow for large data.
Standard phasic and tonic EDA measures are computed as well.
Restrictions and recommendations
Ledalab requires Matlab. It is currently tested for Matlab version R2011b but should also work for earlier versions.
The decomposition analysis relies on raw, unfiltered, DC recorded SC data.
The analysis (especially DDA) is time consuming and computation time (above all) corresponds
to the total number of samples of the data. You can speed up the analysis by downsampling your data (sampling-rates of about 10 Hz appear sufficient)
or cutting the data and keeping only relevant periods (see preprocessing functions). Moreover, you can use the batch-mode to automatically
analyze all data files within a specified directory.
For the employment of DDA, artifacts have to be removed before analysis (see preprocessing functions).
Installation
Installation is easy. Simply extract the provided zip-file to any directory.
Open Matlab and move to the Ledalab directory, where Ledalab.m should be located. Start Ledalab by typing Ledalab in the command window.
All relevant directories will be added to the Matlab path automatically.
Opening/Importing/Saving data
Ledalab imports various data formats. It imports native file format of Varioport, Cassy Lab, and BioPac.
Ledalab also imports Ascii export formats of BioTrace, Vitaport, PortiLab, PsychLab, and the Matlab export of BioPac or Vision Analyzer.
Finally, Ledalab also imports text and Matlab data files which are organized in specific formats. Here you find an example
text file (Type 1) and an example Matlab file,
which illustrate the required data organization in these formats.
The Ledalab import functionality shall be continuously extended. If you have Matlab-functions at hand which import file formats currently not included in Ledalab, your are invited to share them.
These functions may then be added to the Ledalab import functionality and will become accessable via the Ledalab menu in upcoming versions.
For BioPac, you can use either a single event/marker-channel which features different marker-types, or you can use multiple event/marker-channels
each representing one event-type. The channels can be selected automatically (if labelled GSR/EDA/SC or EVENT) or manually.
Preprocessing
Preprocessing functions involve low-pass filtering, down-sampling, cutting, smoothing, and artifact-correction.
Decomposition Analysis
To analyze the data select Analysis – Continuous Decomposition Analysis or – Discrete Decomposition Analysis.
It is recommended to optimize the analysis by clicking
the Optimize button. You are also given the opportunity to manually optimize
the analysis by altering the parameters in the decomposition window
and clicking analyze again. But standard settings usually are ok. Click on Apply to accept the analysis
and have the decomposition plotted.
Continuous Decomposition Analysis decomposes
SC data into continuous tonic and phasic activity. This method
is based on Standard Deconvolution, is comparatively fast and quite
robust (artifacts).
Discrete Decomposition Analysis decomposes the SC data
into a tonic component and discrete phasic components. The latter are
further segregated into diffusion components and optional overshoot
(or PO) components.
Results
(1) Event-related Analysis:
Select Results - Export event-related activation.
You can define a response window (e.g., 1 to 4 seconds after the
event) and a minimum amplitude threshold (e.g., 0.01 muS). All SCRs meeting
these criteria are considered when calculating event-related phasic
parameters for each single event.
This analysis can be exported to Matlab, Text, or Excel.
Description of event-related variables:
Variable
(Labels used in exported files) |
Description |
Event data |
|
Event.nr |
Sequence number of event/marker |
Event.nid |
Numerical ID of event |
event.name |
Optional name or decription of event |
Event.ud |
Optional userdata associated with event |
Continuous Decomposition Analysis (CDA)
(Extraction of Continuous Phasic/Tonic Activity based on Standard Deconvolution) |
CDA.nSCR |
Number of significant (= above-threshold) SCRs within response window (wrw) |
CDA.Latency |
Response latency of first significant SCR wrw [s] |
CDA.AmpSum |
Sum of SCR-amplitudes of significant SCRs wrw (reconvolved from corresponding phasic driver-peaks) [muS] |
CDA.SCR |
Average phasic driver wrw. This score represents phasic activity wrw most accurately, but does not fall back on classic SCR amplitudes [muS] |
CDA.ISCR |
Area (i.e. time integral) of phasic driver wrw. It equals SCR multiplied by size of response window [muS*s] |
CDA.PhasicMax |
Maximum value of phasic activity wrw [muS] |
CDA.Tonic |
Mean tonic activity wrw (of decomposed tonic component) |
Discrete Decomposition Analysis (DDA)
(Extraction of Discrete Phasic/Tonic Components based on Nonnegative Deconvolution) |
DDA.nSCR |
Number of significant (= above-threshold) SCRs within response window (wrw) |
DDA.Latency |
Response latency of first significant SCR wrw [s] |
DDA.AmpSum |
Sum of SCR-amplitudes of significant SCRs wrw (recomposed from corresponding phasic driver-peaks/overshoot) [muS] |
DDA.AreaSum |
Sum of SCR-area of significant SCRs wrw (recomposed from corresponding phasic driver-peaks/overshoot) [muS] |
DDA-Tonic |
Mean tonic activity wrw (of decomposed tonic component) |
Standard trough-to-peak (TTP) or min-max analysis |
TTP.nSCR |
Number of significant (= above-threshold) SCRs within response window (wrw) |
TTP.AmpSum |
Sum of SCR-amplitudes of significant SCRs wrw [muS] |
TTP.Latency |
Response latency of first significant SCR wrw [s] |
Global Measures |
|
Global.Mean |
Mean SC value within response window (wrw) |
Global.MaxDeflection |
Maximum positive deflection wrw |
Mind: The event-related analysis will either include CDA or DDA measures (dependent on your analysis);
but in any case classic TTP and Global measures are included so that they can be compared with CDA/DDA measures
(2) Export SCR-List:
Select Results - Export SCR-List.
in order to export all SCR-onsets and amplitudes of above-threshold SCRs
The results can be exported to Matlab, Text, or Excel. Export to mat or xls is recommended as it includes results of CDA (DDA) and TTP.
Batch-mode
The batch-mode is intended to analyze larger amounts
of data automatically. It will simply be run from the Matlab command
window. The basic idea is to apply Ledalab to a directory of data files
and just handing over some settings. All data files in directory will
then be processed one after the other, which can be run unattendedly.
Finally, the batch-mode also generates a protocol.mat containing the main settings and outcomes of the batch analysis.
In the batch-mode you just have to define a target directory;
further settings are optional. All settings that can not be specified
explicitly will be set the way they were set the last time when using
Ledalab (saved in personal settings).
After processing all files will be saved (i.e., overwritten) to the
target directory. So you may want to have a copy of you raw data before
analyzing them in batch-mode.
Overview of settings and respective options:
setting |
options |
description |
open |
biotrace, biopac, biopacmat, cassylab, leda (default), varioport,
visionanalyzer, vitaport, portilab, psychlab, mat, text (Type 1), text2 (Type 2) |
Define what file type to open |
filter |
[filter_order, lower-cutoff frequency]; default = no filter applied |
Apply low-pass Butterworth filter with given settings, e.g. [1 5] for a 1rst order low-pass filter with 5Hz cutoff |
downsample |
0 (default) , 2+ |
Downsampling of data by a given factor |
smooth |
{type, width}
type: mean (moving average), hann (hanning window), gauss (gauss window), adapt (adaptive smoothing using gauss); width: width of smoothing window in samples (does not apply for adapt) |
Perform data smoothing |
analyze |
'CDA' (Discrete Decomposition Analysis), 'DDA' (Continuous Decomposition Analysis) |
Type of Decomposition Analysis |
optimize |
2 (default), 1 - 6 |
Number of different sets of initial values to be considered in optimization |
export_era |
[respwin_start respwin_end amp_threshold (filetype)]
filetype: 1 (Matlab file = default), 2 (Text file), 3 (Excel file)
|
Export event-related activation
E.g., [1 4 .01 1] will use a response-window of
1 to 4 sec after the event, an minimum amplitude threshold criterion of
0.01 muS and export the results to a Matlab file |
export_scrlist |
[amp_threshold (filetype)]
filetype: 1 (Matlab file = default), 2 (Text file), 3 (Excel file)
|
Export event-related activation
E.g., [.05 1] will export a list of detected SCRs using a minimum amplitude criterion of
0.05 muS to a Matlab file. |
overview |
0 (default), 1 |
Save decomposition result to jpg for easy control
(boolean option) |
Example 1:
Ledalab('P:\EDA_Data\', 'open', 'biotrace', 'downsample', 2, 'analyze','CDA', 'optimize',4, 'export_era', [1 4 .01 3])
... imports all Biotrace files from directory
P:\EDA_Data\, downsamples them by factor 2 (e.g. from 32 Hz to 16
Hz), analyzes them by means of CDA (performing optimization of four initial values),
exports the event-related data (for a response window of 1 to 4 sec after each marker, with an SCR amplitude threshold of .01 muS) to Excel-result files
and saves them to Ledalab files (including data and analysis).
Example 2:
Ledalab('P:\EDA_Data\', 'open','leda', 'smooth',{'gauss',16}, 'analyze','DDA', 'optimize',3, 'overview',1)
... opens all Ledalab files from directory P:\EDA_DATA\, performes data smoothing using the gauss-method and a window width of 16 samples
analyzes them by means of DDA (performing optimization of 3 different initial values),
saves the Ledalab files (now including analysis), and saves an analysis overview to an image file.
Accessing analysis variables
References
If you use Ledalab for you scientific work, please cite the following references:
Referring to Continuous Decomposition Analysis and/or General underestimation of peak detection methods:
- Benedek, M. & Kaernbach, C. (2010). A continuous measure of phasic electrodermal activity. Journal of Neuroscience Methods, 190, 80-91. [link]
Referring to Discrete Deconvolution Analysis and/or Physiological model of the the skin conductance response (SCR) (based on nonnegative deconvolution by a two-compartment diffusion model):
- Benedek, M. & Kaernbach, C. (2010). Decomposition of skin conductance data by means of nonnegative deconvolution. Psychophysiology, 47, 647-658. [link]
Here also you find research that cited those papers:
JNM,
PSYP