Skip to content

Commit cb52029

Browse files
ENH - updated source2grid, outside is not always present. Also updated test script
1 parent 87930d7 commit cb52029

File tree

2 files changed

+14
-22
lines changed

2 files changed

+14
-22
lines changed

test/test_bug1746.m

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
sourcemodel.outside = setdiff(1:prod(sourcemodel.dim),sourcemodel.inside);
1515
meglabel = ft_channelselection('MEG', freq.label);
1616

17-
cfg = [];
18-
cfg.vol = vol;
19-
cfg.grid = sourcemodel;
20-
cfg.channel = meglabel;
21-
leadfield1 = ft_prepare_leadfield(cfg, freq);
17+
cfg = [];
18+
cfg.headmodel = vol;
19+
cfg.grid = sourcemodel;
20+
cfg.channel = meglabel;
21+
leadfield1 = ft_prepare_leadfield(cfg, freq);
2222
assert(isfield(leadfield1, 'label'));
2323

2424
shuffle = randperm(numel(meglabel));
@@ -33,12 +33,12 @@
3333
% leadfield.leadfield.
3434

3535
cfg = [];
36-
cfg.method = 'dics';
37-
cfg.vol = vol;
38-
cfg.grid = leadfield1;
39-
cfg.frequency = 5;
36+
cfg.method = 'dics';
37+
cfg.headmodel = vol;
38+
cfg.grid = leadfield1;
39+
cfg.frequency = 5;
4040
cfg.dics.lambda = '10%';
41-
cfg.channel = meglabel;
41+
cfg.channel = meglabel;
4242
source1 = ft_sourceanalysis(cfg, freq);
4343

4444
cfg.channel = meglabel(1:2:end);

utilities/ft_source2grid.m

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,7 @@
3333

3434
ft_defaults
3535

36-
% these are always supposed to be present
37-
grid.pos = source.pos;
38-
grid.inside = source.inside;
39-
grid.outside = source.outside;
40-
41-
% these are optional
42-
try, grid.xgrid = source.xgrid; end
43-
try, grid.ygrid = source.ygrid; end
44-
try, grid.zgrid = source.zgrid; end
45-
try, grid.dim = source.dim; end
46-
try, grid.tri = source.tri; end % only in case of a tesselated/triangulated cortical sheet source model
36+
grid = keepfields(source, {'pos', 'tri', 'inside', 'outside', 'xgrid', 'ygrid', 'zgrid', 'dim'});
4737

4838
if ~isfield(grid, 'dim') && isfield(grid, 'xgrid') && isfield(grid, 'ygrid') && isfield(grid, 'zgrid')
4939
grid.dim = [length(grid.xgrid) length(grid.ygrid) length(grid.zgrid)];
@@ -57,6 +47,8 @@
5747
error('single trial filters are not supported here');
5848
end
5949

60-
if isfield(source, 'leadfield')
50+
if issubfield(source, 'leadfield')
6151
grid.leadfield = source.leadfield;
52+
elseif issubfield(source, 'avg.leadfield')
53+
grid.leadfield = source.avg.leadfield;
6254
end

0 commit comments

Comments
 (0)