<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)">
<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;}
@font-face
        {font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
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-GB" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Hi Anwar,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">To apply the neural activity index (NAI) and avoid center-of-head bias, you’ll need to introduce noise into your data. Use cfg.relnoise in ft_dipolesimulation to add noise.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Additionally, your sourcemodel (<i>standard_sourcemodel3d5mm.mat</i>) doesn’t ‘’fit’’ your headmodel. You can check this with:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">figure;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">ft_plot_sens(elec, 'label', 'label');<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">ft_plot_headmodel(headmodel);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">ft_plot_mesh(sourcemodel);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">So, I recommend creating your own sourcemodel and subsequently computing the forward model. For example:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg = [];<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg.grad = elec;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg.headmodel = headmodel;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg.reducerank = 2;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg.resolution = 5; % automatic sourcemodel generation<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg.sourcemodel.unit = 'mm';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">leadfield = ft_prepare_leadfield(cfg);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Lastly, for better visualization of the source activity, you can set a lower limit on your colorbar:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">maxval = max(sourceNAIInt.pow, [], 'all');<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg = [];<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg.method = 'ortho';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg.funparameter = 'pow';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg.maskparameter = cfg.funparameter;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg.funcolorlim = [<> maxval]; % adjust as needed<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">cfg.opacitylim = [<> maxval];  % adjust as needed<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">ft_sourceplot(cfg, sourceNAIInt);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Have fun with your simulations!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Best,<br>
Konstantinos<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Aptos",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Aptos",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="mso-ligatures:none">From:</span></b><span lang="EN-US" style="mso-ligatures:none"> fieldtrip <fieldtrip-bounces@science.ru.nl>
<b>On Behalf Of </b>Anwar, Abdul Rauf via fieldtrip<br>
<b>Sent:</b> Tuesday, September 3, 2024 6:26 PM<br>
<b>To:</b> fieldtrip@science.ru.nl<br>
<b>Cc:</b> Anwar, Abdul Rauf <aanwar@ukaachen.de><br>
<b>Subject:</b> [FieldTrip] DICS for EEG<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Hi <br>
I am trying to use the DICS method on the simulated EEG data. I have used template head model and source model. However, I am still unable to find the source in the correct position. I have also ensured that electrodes are well aligned with the head model.
 Below given is the script. Any further directions to pursue will be appreciated.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">% Add FieldTrip path and set defaults<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">addpath('C:\ToolBoxes\fieldtrip-20240110');<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">ft_defaults;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">frequency =  10; % Frequency of interest<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">% Create template head model and source model and lead field matrix<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">mri = ft_read_mri('C:\ToolBoxes\fieldtrip-20240110\template\headmodel\standard_mri.mat');<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg = [];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">segmented_mri = ft_volumesegment(cfg, mri);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">headmodel = load('C:\ToolBoxes\fieldtrip-20240110\template\headmodel\standard_bem.mat');  % Load a standard BEM model<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">headmodel=headmodel.vol;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">sourcemodel=load('C:\ToolBoxes\fieldtrip-20240110\template\sourcemodel\standard_sourcemodel3d5mm.mat');<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">sourcemodel=sourcemodel.sourcemodel;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">elec = ft_read_sens('C:\ToolBoxes\fieldtrip-20240110\template\electrode\standard_1020.elc');<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg = [];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.grid = sourcemodel;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.elec = elec;            % Standard electrode positions (e.g., 10-20 system)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.headmodel = headmodel;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.reducerank = 2;         % Reduce rank for EEG<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">leadfield = ft_prepare_leadfield(cfg);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">%%%%%%%%%%%%%%%%%%%<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">% Create simulated data<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg = [];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.ntrials = 10;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.triallength = 10;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.fsample = 1000;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.dip.unit = 'mm';<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.dip.pos = [-40 -20 50]; % left motor cortex<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.dip.mom = cfg.dip.pos/norm(cfg.dip.pos); % radial<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.dip.frequency = frequency;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.elec = elec;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.headmodel = headmodel;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">data = ft_dipolesimulation(cfg);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">%figure<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">%ft_plot_dipole(cfg.dip.pos, cfg.dip.mom, 'unit', 'mm')<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">figure<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">ft_plot_sens(elec, 'label', 'label');<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">ft_plot_headmodel(headmodel);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">%%%%%%%%%%%%%%%%%%%<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">% Create reference channel for coherence<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">trial = cell(size(data.trial));<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">for k = 1:numel(trial)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">    trial{k} = sin(2.*pi.*frequency.*data.time{k});<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">end<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">refdata.trial = trial;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">refdata.time  = data.time;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">refdata.label = {'refchan'};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">data          = ft_appenddata([], data, refdata);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">%%%%%%%%%%%%%%%%%%%<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">% Time frequency analysis<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg = [];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.method    = 'mtmfft';<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.output    = 'powandcsd';<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.tapsmofrq = 4;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.foilim    = [frequency frequency];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">freq = ft_freqanalysis(cfg, data);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">%%%%%%%%%%%%%%%%%%%%<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">% DICS source analysis<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg = [];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.method              = 'dics';                  
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.frequency           = frequency;     <o:p>
</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.grid                = leadfield;              
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.headmodel           = headmodel;              
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.dics.projectnoise   = 'yes';                  
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.dics.lambda         = '10%';                  
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.dics.keepfilter     = 'yes';                   
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.dics.realfilter     = 'yes';                 
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.channel             = 'EEG';<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.senstype            = 'eeg';<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.refchan           = {'refchan'};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.elec                = elec;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">% Plotting the source<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">source = ft_sourceanalysis(cfg, freq);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">sourceNAI = source;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">sourceNAI.avg.pow = source.avg.pow ./ source.avg.noise;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg = [];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.downsample = 2;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.parameter = 'pow';<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">sourceNAIInt = ft_sourceinterpolate(cfg, sourceNAI , mri);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">maxval = max(sourceNAIInt.pow, [], 'all');<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg = [];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.method = 'ortho';<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.funparameter = 'pow';<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">cfg.funcolormap = 'cool';<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">ft_sourceplot(cfg, sourceNAIInt);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
</body>
</html>