ASCT manual
  • About ASCT
  • Getting Started
    • Installation
    • Introduction
  • Manual
    • Run Control
    • Data import
    • Preprocessing
    • Experimental design
    • Sensor space AR (AR1)
    • ICA decomposition
    • ICA-based AR (AR2)
    • ICA2 and classification
    • Source localization
  • Signal Reconstruction
  • Connectivity estimation
  • Statistics, visualization, and data export
  • Appendix
Powered by GitBook
On this page
  • Dataset identification
  • Segmentation
  • Recoding triggers
  • Data configuration (DC)
  • File specific options
  1. Manual

Experimental design

Dataset identification

ASCT recognizes subject id code directly from the file name of the dataset. Therefore, the filenames need to be of the same length and include relevant cod on the position defined by the design.idPosStart and design.idPosEnd parameters. The Id has to be unique for a participant. Groups and sessions are coded in a similar way. Sessions are menat as repeated measuremeonts of the same peron. Please, refer to the following example:

%% STUDY DESIGN

% define Id, Group, Session by the position in the filename
design.idPosStart = 1;
design.idPosEnd = 2;
design.grpPosStart = 4;
design.grpPosEnd = 7;
design.sesPosStart = 9;
design.sesPosEnd = 11;  

% example raw file names that fit to the settings above: 
% 01_CTR_SES1.set (subject 01, the control group, session 1)
% 14_EXP_SES2.set (subject 14, the experimental group, session 2)

As the dataset file name contains information on Id, Group, and Session, the names of the files cannot be changed during the analysis, between processing steps.

Segmentation

The study definition (seg.studyType) differentiates between resting state ('RS') and event-related ('ER') paradigms.

Event-related (evoked) data are subject to segmentation that is performed after filtering. Data epochs are defined in seconds relative to the onset of triggers with seg.prestim and seg.poststim parameters that mark the start and the end of the requested segments.

seg.studyType = 'ER'; 
seg.prestim   = 0;    % pre-stimulus period for epoching
seg.poststim  = 1;    % post-stimulus period for epoching
seg.baseline  = 0;    % baseline correction (from base_line to zero)
seg.demean    = 1;    % recommended for ICA, ovverrides baseline correction

For the resting state analysis, seg.prestim and seg.poststim mark the beginning and end of the whole, usually long, RS segment. The segment(s) is virtually cut into smaller, non-overlapping epochs for the purpose of further artifact rejection, and connectivity estimation, according to the seg.rsSegm variable. Recommended lenght of these virtual segments is around 2–5 sec. This division should result in at least 30 segments, which will be used as pool to estimate signal statistics during artifact rejection.

seg.studyType = 'RS'; 
seg.prestim   = 0;    % pre-stimulus period for epoching
seg.poststim  = 400; % post-stimulus period for epoching
seg.demean    = 1; % recommended for ICA, ovverrides baseline correction
seg.rsSegm    = 4; % length of RS for dummy segmenting in sec (required for AR) [RS only]

We recommend keeping the epochs de-mean option enabled (seg.demean = 1). This will help obtaining signal after source decomposition without significant steps at epoch borders. This option overrides baseline correction setting (seg.baseline).

seg.studyType = 'RS'; % either 'ER' for event related; 'RS' for resting state
seg.prestim = 0; % pre-stimulus period for epoching
seg.poststim = 2; % post-stimulus period for epoching
seg.baseline = 0; % baseline correction (from base_line to zero)
seg.demean = 1; % recommended for ICA, ovverrides baseline correction
seg.rsSegm = 4; % length of RS for dummy segmenting in sec (required for AR) [RS only]

seg.recodeFn = 'Rec_Flanker'; % provide trigger recoding function if necessary or comment to ignore

Trigger codes that mark experimental events together with associated condition names have to be described in the design.COND(1) section, as in the following example. Here, two experimental conditions are defined (congruent flanker and incongruent flanker). Each condition is marked by three different trigger codes (for examle marking three different blocks of the task). Obviously, the number of conditions corresponds to the number of triggers groups.

% condition / trigger codes
design.COND(1).name = {'flanker-cong', 'flanker-inco'};
design.COND(1).trig = { {101, 102, 103}, {201, 202, 203} }.

Recoding triggers

If additional recoding of triggers is needed before actual segmentation, a relevant script can be run using the seg.recodeFn variable that should point to the recoding script in the main experimental directory.

seg.recodeFn = 'Recode_Flanker';  %provide trigger recoding function if necessary or comment out to ignore

The recoding script changes the content of the trigger configuration array (trl) and event structures that store the triggers' type, code, and timing, as saved in the FieldTrip format. Sample solutions can be found in the templates subdirectory of the ASCT.

Data configuration (DC)

Finally, to enable the final statistical comparisons, data configurations (DC) need to be defined. DC can be explained as an elementary configuration of condition(s), group(s), and session(s) present in the data that will be used as an element of statistical comparisons and data export.

In the following example, six DCs are defined. Each definition contains a particular condition(s), group, and session. Optionally, the name of DC can be provided, which will be used during result export and visualization; if absent, it will be automatically created. As can be seen, DCs do not need to be orthogonal.

% DC stands for DATA CONFIGURATION. used to build elements of statistical comparisons.tests. 

DC=1; % incongruent flanker in the control group in session 1
design.DC(DC).name = 'inco1-ctrgrp'; 
design.DC(DC).COND = {'FLANK-INCO'};
design.DC(DC).SES = {'SES1'}; 
design.DC(DC).GRP = {'CTR'}; 

DC=2; % incongruent flanker in the experimental group in session 1
design.DC(DC).name = 'inco1-expgrp';
design.DC(DC).COND = {'FLANK-INCO'};  
design.DC(DC).SES = {'SES1'};  
design.DC(DC).GRP = {'EXP'}; 

DC=3; % incongruent flanker in the control group in session 2
design.DC(DC).name = 'inco2-ctrgrp';
design.DC(DC).COND = {'FLANK-INCO'};
design.DC(DC).SES = {'SES2'}; 
design.DC(DC).GRP = {'CTR'}; 

DC=4; % incongruent flanker in the experimental group in session 2
design.DC(DC).name = 'inco2-expgrp';
design.DC(DC).COND = {'FLANK-INCO'};  
design.DC(DC).SES = {'SES2'};  
design.DC(DC).GRP = {'EXP'};

DC=5; % all flankers (both congruent and incongruent) in the control group in session 2
design.DC(DC).name = 'all2-ctrgrp';
design.DC(DC).COND = {'FLANK-INCO', 'FLANK-CONG'};  
design.DC(DC).SES = {'SES2'};  
design.DC(DC).GRP = {'CTR'};

DC=6; % all flankers (both congruent and incongruent) in the experimental group in session 2
design.DC(DC).name = 'all2-expgrp';
design.DC(DC).COND = {'FLANK-INCO', 'FLANK-CONG'};  
design.DC(DC).SES = {'SES2'};  
design.DC(DC).GRP = {'EXP'};

If DC section is expanded or modified in the previously performed analysis, the analysis needs to be re-run from the step 9 (signal reconstruction).

File specific options

The detailed configuration of triggers is dependent on the file format and the way experimental events are coded by the recording software. To properly recognize events, both trigger values and names have to be properly set. If, however, segmentation does not find epochs despite the proper trigger values in the design.COND(1).trig section, this may be due to a mismatch between the event type coded in the raw data file and the types ASCT expects to find. In that case, before the error 'epochs not found' is thrown, a full list of trigger names and values found in the file is displayed. The list can be used to adjust seg settings. Specifically, the seg.eventType can be set to match the trigger type.

For details, refer to the FielTrip ft_definetrial() function which is used here to segment the data.

Saving segmented data

After segmentation, datasets are saved in the 2_SEGMENTED directory with the _segm.mat extension. Again, FieldTrip format is used here with some additional fields added. If EOG correction has been previously performed, EOG-corrected data are also saved along with the uncorrected signal ??????????

PreviousPreprocessingNextSensor space AR (AR1)

Last updated 1 month ago