Visual Crowd Preview Pipeline: Source localization on an Atlas with Beamformer

Authors: Tasneem Ezzedine (te2207@nyu.edu), Hadi Zaatiti (hz3752@nyu.edu) and Osama Abdullah (oa22@nyu.edu)

Experiment description

Link to experiment code

Contact for this experiment:

Tasnim Ezzedin te2207@nyu.edu

Description of the experiment:

This experiment examines the crowding (the spacing between the letters within each word) and preview effects in the Arabic language, utilizing three distinct crowding values: 0, -75, and -125. Within the experiment, some values are attributed to the crowding effect as a label, respectively: 1 for -125, 2 for -75, and 3 for 0. These values are used in the naming of the images as well as in the final output of the .mat file. Within the .mat file, a column appears containing the number corresponding to the level of crowding (1, 2, or 3). For example, SET1_conn_0_cwdg_1_1.jpg, SET1_conn_0_cwdg_2_1.jpg, etc. Due to the nature of the arabic language being written in cursive, it has a varity of connections between letters. In the naming of the images, the ‘conn’ refers to the connectivity of the letters. For example, if a word has only two letters that are connected and a crowding level of 1 (i.e. -125) the name would be SET1_conn_2_cwdg_1_1.jpg. The stimuli are made of 300 different arabic words. SET1 has a different combination of crowding values assigned to the words than SET2, however, both have the same words.

In this paradigm, participants are instructed to focus on a fixation point on the screen. Words will be presented either to the left or right of the fixation point, and participants will be required to look at the presented word when cued by the fixation point turning green. When a saccade is detected, the target word is displayed. The stimuli were presented as either valid or invalid, with the invalid stimulus being a flipped version of the valid one. After that, the participant has to decide weather or not the word displayed is the same your they saw during the trial by answering the question ‘Is this the last word you saw?’. The study employs magnetoencephalography (MEG) and eye-tracking techniques to record brain activity.

The trigger channels in MEG are as follows:

  • trigger channel 224: beginn of the overall experiment.

  • trigger channel 225: each display of the fixation point.

  • trigger channel 226: display of the preview image.

  • trigger channel 227: display of the cue (fixation point turns green).

  • trigger channel 228: saccade detection.

  • trigger channel 229: display of the target image.

  • trigger channel 230: display of the question image.

Each trigger appears only once in each trial, except trigger channel 225, which appears each time the fixation point is presented. For example, if a fixation is not detected, channels 225 is triggered again until a fixation is detected. Triggers 227, 228, 229 should appear almost at the same time.

The .mat file outputs a table with relevant information about the trials, such as the crowding level of each word that was displayed, weather or not it was valid or invalid, number of connections of the letters, question answers, etc.

Importing data and preprocessing

The data used in this notebook is hosted on NYU BOX. Permissions are given upon request.

  • Install the BOX app from here

  • Set an environment variable with name MEG_DATA to the path of the Data folder e.g.,

    • C:\Users\user_name\Box\MEG\Data

    • or C:\Users\user_name\Box\Data

Each experiment run using the KIT system generates a .con and several .mrk. Find more details about these files in the other chapters. In the following setup the variables pointing to your data, headshape and MRI scan.

[1]:
% Read the environment variable to NYU BOX
MEG_DATA_FOLDER = getenv('MEG_DATA');

% Set path to KIT .con file of sub-03
DATASET_PATH = [MEG_DATA_FOLDER,'visual_crowding_preview'];

MEGFILES = dir(fullfile(DATASET_PATH, 'sub-*-vcp','meg-kit', 'sub-*-vcp-analysis_NR.con'));

% Set path to computed .mat variables, these has been obtained by executing this pipeline and
% will allow you to skip steps if you wish to execute a particular cell
%LOAD_PATH = [MEG_DATA_FOLDER, 'oddball\derivatives\kit_oddball_pipeline_fieldtrip\sub-03\'];

% Experiment your own test and save your variables in a folder of your choice, choose the folder where to save your variables
% We will also use it to copy variables from LOAD_PATH and use them in the notebook if needed
SAVE_PATH = 'docs\source\5-pipeline\notebooks\fieldtrip\fieldtrip_visual_crowding_preview_kit_data\';

% It is important that you use T1.mgz instead of orig.mgz as T1.mgz is normalized to [255,255,255] dimension
%MRI_FILE         = fullfile([MEG_DATA_FOLDER,'oddball\sub-03\anat\sub-003\sub-003\mri\T1.mgz']);

%laser_surf      = fullfile([MEG_DATA_FOLDER,'oddball\sub-03\anat\digitized-headshape\sub-03-basic-surface.txt']);
%The cleaned stylus points removes the last three columns (dx, dx, dz) and
%keeps only x,y,z
%laser_points    = [MEG_DATA_FOLDER, 'oddball\sub-03\anat\digitized-headshape\sub-03-stylus-cleaned.txt'];
%mrkfile1        = [MEG_DATA_FOLDER,'oddball\sub-03\meg-kit\240524-1.mrk'];
%mrkfile2        = [MEG_DATA_FOLDER, 'oddball\sub-03\meg-kit\240524-2.mrk'];

try
    cd(SAVE_PATH)
catch
end

Loop over multi-subjects:

[ ]:
for k = 1:length(MEGFiles)

Trial definition and computing ERP in sensor space

Using an Atlas headmodel for Beamformer