[FieldTrip] One label missing after ft_virtualchannel

Schoffelen, J.M. (Jan Mathijs) janmathijs.schoffelen at donders.ru.nl
Thu Aug 10 14:02:49 CEST 2023

Hi Marta,

I would start by checking whether
1) the downsampled version of the atlas contains all parcels (i.e. are all values between 0 and 246 represented in atlas.tissue?)
2) if the above is true, whether the source position(s) that should coincide with the left lateral amygdala, actually are flagged as an ‘inside’ position in the source_avg variable.

Good luck,

On 9 Aug 2023, at 17:59, Marta Stojanovic via fieldtrip <fieldtrip at science.ru.nl<mailto:fieldtrip at science.ru.nl>> wrote:

Hi Fieldtrip Community,

I'm reaching out regarding an error I previously noticed when running ft_virtualchannel.

Namely, in my call to the ft_virtualchannel function, I used timelock data that includes trial information, a sourceanalysis output struct, and a lower resolution atlas created by interpolating the source average output from ft_sourceanalysis with the Brainnetome atlas using ft_sourceinterpolate.

My call to the ft_virtualchannel looks like the following:
clear atlas_lowres;
cfg = [];
cfg.parameter = 'all';
cfg.interpmethod = 'nearest';
atlas_lowres = ft_sourceinterpolate(cfg,atlas,source_avg);
atlas_lowres.pos = source_avg.pos;
atlas_lowres.coordsys = 'mni'; % ensure mni space
disp('Done aligning atlas to source average')

%% parcellate single trials

clear parc_trls;
cfg = [];
cfg.method = 'pca';
cfg.parcellation = 'tissue';
parc_trls = ft_virtualchannel(cfg, tlck_all, source_avg, atlas_lowres);
disp('Done parcellating single trials')
The atlas_lowres struct includes the following fields:

      dim: [20 25 22]
      transform: [4×4 double]
      unit: 'mm'
      tissue: [20×25×22 double]
      tissuelabel: {1×246 cell}
      cfg: [1×1 struct]
      pos: [11000×3 double]
      coordsys: 'mni'

However, after running the function, the parc_trls struct is the following, with one less label:

parc_trls =

  struct with fields:

       trial: [144×245×1018 double]
       time: [0 0.0020 0.0039 0.0059 0.0079 0.0098 … ]
       dimord: 'rpt_chan_time'
       label: {245×1 cell}
       cfg: [1×1 struct]
       grad: [1×1 struct]
       sampleinfo: [144×2 double]
       trialinfo: [144×2 double]
       brainordinate: [1×1 struct]

When checking the label, I realise one parcel/label for the left lateral amygdala is missing.

I wonder what the missing label could pertain to. I know I can run the function with cfg.pos, which I have done previously. I curious as to why this error might arise when specifying cfg.parcellation as 'tissuelabel' and parcellating the trials based on the atlas parcel labels.

Thanks in advance,


fieldtrip mailing list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20230810/3f1c7a6e/attachment.htm>

More information about the fieldtrip mailing list