<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-AU" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hello Fieldtrippers!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">Apologies for the long email, but I am hoping that I can get some help working with the Brainnetome atlas.<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify"><b><u>Background<o:p></o:p></u></b></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">Ultimately, I want to explore EEG connectivity between Brainnetome ROIs. I don’t have individual MRI data, just resting EEG, so I am first trying to develop a standard template grid (sourcemodel) aligned to the
 Brainnetome atlas so I can explore EEG source analyses and easily examine the output in terms of the Brainnetome ROIs. I am following this Fieldtrip tutorial to create a template grid using the standard BEM and Brainnetome atlas provided by Fieldtrip. I went
 with this because I had trouble interpolating to the Brainnetome atlas and this seemed like an efficient way to create a standard template that I could apply to multiple subjects:<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><a href="https://www.fieldtriptoolbox.org/example/create_single-subject_grids_in_individual_head_space_that_are_all_aligned_in_brain_atlas_based_mni_space/">https://www.fieldtriptoolbox.org/example/create_single-subject_grids_in_individual_head_space_that_are_all_aligned_in_brain_atlas_based_mni_space/</a><o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify"><b><u>Issue<o:p></o:p></u></b></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">My code runs, but whenever I attempt to plot my source results using ft_sourceplot it seems that some data is not interpolated to parts of the brain surface. I’m not sure, but I believe this could be an issue
 in the ft_volumelookup stage; that is, when I create a binary mask of all locations in the template grid that match the atlas locations, some grid points may be missed and considered ‘empty’. Is there a specific problem in my code causing this? Or a way to
 address it so that I am capturing all the data in the analysis and/or plotting stages?<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">I have attached an image of the final plot with the funny/missing data (which appears as the grey patches on some gyri) and my code is below. Any help would be really appreciated.<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">Thanks,<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">Jack<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify"><img border="0" width="287" height="255" style="width:2.9861in;height:2.6597in" id="Picture_x0020_2" src="cid:image003.png@01D76DED.5573FB20"><o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">My code is here:<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify"><b>%% Generate standard BEM template aligned to Brainnetome atlas<o:p></o:p></b></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">    ft_defaults<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    [ftver, ftpath] = ft_version;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Load the Headmodel<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    load(fullfile(ftpath, 'template/headmodel/standard_bem.mat')); % Colin27<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Prepare the template grid 'standard sourcemodel'<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg = [];<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.xgrid  = 'auto';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.ygrid  = 'auto';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.zgrid  = 'auto';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.unit   = 'mm';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.tight  = 'yes';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.resolution  = 7;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.headmodel   = vol;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    template_grid   = ft_prepare_sourcemodel(cfg);<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    <o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Check alignment of the template grid and headmodel<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    figure;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    hold on<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    ft_plot_mesh(template_grid.pos(template_grid.inside,:));<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    ft_plot_headmodel(vol,  'facecolor', 'cortex', 'edgecolor', 'none');<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    ft_plot_axes(vol);<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    alpha 0.5<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    camlight<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    <o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Read in Brainnetome Atlas; ensure its units are consistent with template<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    atlas = ft_read_atlas(fullfile(ftpath, 'template/atlas/brainnetome/BNA_MPM_thr25_1.25mm.nii'));<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    <o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Ensure units are consistent between atlas and sourcemodel<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    atlas = ft_convert_units(atlas,'mm');<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    template_grid = ft_convert_units(template_grid,'mm');<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    <o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Check the coordsys field exists in sourcemodel<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    if ~isfield(template_grid, 'coordsys');<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">        template_grid.coordsys = 'mni';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    end<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Create binary mask for all grid points inside the Brainnetome atlas locations<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg = [];<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.atlas      = atlas;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.roi         = atlas.tissuelabel;  % here you can also specify a single label, i.e. single ROI<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.inputcoord = 'mni';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    mask           = ft_volumelookup(cfg, template_grid);<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    template_grid.inside = false(template_grid.dim);<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    template_grid.inside(mask == 1) = true;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Check grid points inside the Brainnetome atlas<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    figure;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    ft_plot_mesh(template_grid.pos(template_grid.inside,:),'vertexcolor','black','vertexalpha',0.5);<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    <o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    clearvars -except atlas template_grid vol<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    <o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    <b>%% EEG source analysis and plotting<o:p></o:p></b></p>
<p class="MsoNormal" style="text-align:justify">    <o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    setenv('PATH', 'C:\Program Files\OpenMEEG\bin');<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    setenv('LD_LIBRARY_PATH', 'C:\Program Files\OpenMEEG\lib');
<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    <o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Load preprocessed EEG data<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    load('C:\Users\jf752\Desktop\Processing\source_analysis\test_data');<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    <o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Realign electrodes<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg = [];<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.method = 'interactive';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.headshape = vol.bnd(1);<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.elec = cln_data.elec;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    elec_aligned = ft_electroderealign(cfg);<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">    cln_data.elec = elec_aligned;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">        <o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Prepare the Leadfield<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg = [];<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.elec      = cln_data.elec;           
<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.channel   = cln_data.label;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.headmodel = vol;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.sourcemodel.pos = template_grid.pos;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">    leadfield = ft_prepare_leadfield(cfg);<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Run Frequency Analysis<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg            = [];<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.method     = 'mtmfft';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.output     = 'powandcsd';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.keeptrials = 'yes';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.tapsmofrq  = 1;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.foi        = 10;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    freq           = ft_freqanalysis(cfg, cln_data);<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Run eLORETA Source Localisation<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg = [];<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.method       = 'eloreta';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.frequency    = 10; % single number in Hz<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.sourcemodel  = leadfield;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.headmodel    = vol;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.elec         = cln_data.elec;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.projectnoise = 'yes';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify">    source_freq = ft_sourceanalysis(cfg, freq);<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    <o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    % Plot the 10 Hz power on surface<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg = [];<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.method = 'surface';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    cfg.funparameter = 'avg.pow';<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">    ft_sourceplot(cfg,source_freq);<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align:justify"><o:p> </o:p></p>
</div>
</body>
</html>