[FieldTrip] issues with ft_connectivityanalysis, interpolation, and parcellation in EEG

Christian Mista cmista at ingenieria.uner.edu.ar
Tue May 21 19:27:50 CEST 2019


Hi FieldTrip community,

I've been trying to perform a connectivity analysis using a 66 eeg
recording database. So far, I've being able to solve the sourceanalysis
(following the tutorial
http://www.fieldtriptoolbox.org/tutorial/networkanalysis/) and plot the
source activity. However, the problem starts when I'm trying the
connectivity analysis. Any grid dimension lower than 20 mm in the
sourcemodel calculation results in a matlab error (Out of memory) in the
connectivity analysis. I guess that a grid dimension lower than 20 mm
conveys to huge matrix sizes, not manageable by my OS (linux + Matlab).

%% This is how I compute the sourcemodel (run ok)
    cfg                 = [];
    cfg.elec            = data.elec;
    cfg.elec.unit = 'mm';                   % unit in cm
    cfg.headmodel       = headmodel;
    cfg.grid.resolution = 20;     % use a 3-D grid with a 20 mm resolution
    [lf] = ft_prepare_leadfield(cfg);


After computing the sourcemodel using the 20 mm grid, I have issues to
parcellate my data. My main concern is about the mismatch size between the
connectivity matrix and the atlas.

source_conn =
          dim: [7 9 8]
       inside: [504×1 logical]
          pos: [504×3 double]
    cohspctrm: [5544×5544 double]
       dimord: 'pos_pos_freq'
         freq: 10
          cfg: [1×1 struct]


atlas =
            dim: [91 109 91]
            hdr: [1×1 struct]
      transform: [4×4 double]
           unit: 'mm'
         tissue: [91×109×91 double]
    tissuelabel: {1×116 cell}
       coordsys: 'mni'

I'd tried to interpolate and parcellate the matrix, but I must be missing
or confusing something... Below is the code to calculate the connectivity
and the parcellation.

%% connectivity
    cfg         = [];
    cfg.method  = 'coh';
    cfg.complex = 'absimag';
    source_conn = ft_connectivityanalysis(cfg, SourceData);

    %The conectome
    figure;imagesc(source_conn.cohspctrm); %5544x5544 double

    %Parcellation
    atlas =
ft_read_atlas('/fieldtrip-master/template/atlas/aal/ROI_MNI_V4.nii');

    cfg = [];
    cfg.interpmethod='nearest';
    cfg.parameter='tissue';
    [int_atlas] = ft_sourceinterpolate(cfg, atlas, source_conn);
    int_atlas.pos = source_conn.pos; % otherwise the parcellation won't work

    % and call ft_sourceparcellate:
    cfg = [];
    cfg.parcellation = 'tissue';
    cfg.parameter    = 'cohspctrm';
    parc_conn = ft_sourceparcellate(cfg, source_conn, int_atlas);

    figure;imagesc(parc_conn.cohspctrm);

++Error in command windows matlab

there are in total 504 positions, 230 positions are inside the brain, 181
positions have a label
168 of the positions inside the brain have a label
168 of the labeled positions are inside the brain
62 of the positions inside the brain do not have a label
Error using ft_notification (line 340)
unsupported dimord unknown_unknown_freq

Error in ft_error (line 39)
  ft_notification(varargin{:});

Error in ft_sourceparcellate (line 309)
    ft_error('unsupported dimord %s', dimord{i})

Two questions
-Is 20 mm the min grid size to calculate connectivity?
-What I'm missing in the parcellation process?

I would really appreciate any advice, I've been scratching my head for a
while on this one.

Best,
Christian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20190521/5851aafe/attachment-0001.html>
-------------- next part --------------
_______________________________________________
fieldtrip mailing list
https://mailman.science.ru.nl/mailman/listinfo/fieldtrip
https://doi.org/10.1371/journal.pcbi.1002202


More information about the fieldtrip mailing list