Back to the main page.

Bug 3011 - error in ft_componentanalysis

Status CLOSED FIXED
Reported 2015-11-24 17:52:00 +0100
Modified 2016-06-14 16:14:48 +0200
Product: FieldTrip
Component: preproc
Version: unspecified
Hardware: Other
Operating System: Linux
Importance: P5 normal
Assigned to: Robert Oostenveld
URL:
Tags:
Depends on:
Blocks:
See also:

Tobias - 2015-11-24 17:52:33 +0100

ft_componentanalysis produces error during backprojection of the components after ica: cfg = []; cfg.method = 'runica'; cfg.runica.maxsteps =50; comp = ft_componentanalysis(cfg, megdata); works fine. then: cfg = []; cfg.unmixing = comp.unmixing; cfg.topolabel = comp.topolabel; comp_origin = ft_componentanalysis(cfg, megdata); produces the following error: ************************* ... starting decomposition using predetermined unmixing matrix applying the backprojection matrix to the gradiometer description Reference to non-existent field 'checksize'. Error in ft_checkconfig (line 693) if strcmp(checksize, 'yes') && ~isinf(cfg.checksize) Error in ft_postamble_trackconfig (line 53) cfg = ft_checkconfig(cfg, 'trackconfig', 'off', 'checksize', 'yes'); Error in ft_postamble (line 55) evalin('caller', ['ft_postamble_' cmd]); Error in ft_componentanalysis (line 867) ft_postamble trackconfig Error in prepro_ica (line 140) comp_origin = ft_componentanalysis(cfg, meg_all_revis); ****************************** Data is CTF275. I am using the fieldtrip version at the Donders. When using an older version, fieldtrip-20131231, no error occurs.


Robert Oostenveld - 2015-11-30 16:07:08 +0100

I can reproduce with this data = ft_freqsimulation([]) comp = ft_componentanalysis([], data) cfg = []; cfg.unmixing = comp.unmixing; cfg.topolabel = comp.topolabel; comp2 = ft_componentanalysis(cfg,data) Reference to non-existent field 'checksize'. Error in ft_checkconfig (line 693) if strcmp(checksize, 'yes') && ~isinf(cfg.checksize) Error in ft_postamble_trackconfig (line 53) cfg = ft_checkconfig(cfg, 'trackconfig', 'off', 'checksize', 'yes'); Error in ft_postamble (line 55) evalin('caller', ['ft_postamble_' cmd]); Error in ft_componentanalysis (line 867) ft_postamble trackconfig


Robert Oostenveld - 2015-11-30 16:18:34 +0100

it happens in the codeblock starting at line 206, and on line 230 % remove all cfg settings that do not apply tmpcfg.xxx = cfg.xxx; ... cfg = tmpcfg; The handling of the merging of global settings from ft_default changed, that is why it now shows up as error. But in general it is not our style to explicitly remove cfg fields, nor to make assumptions on which cfg fields are to be kept. I changed it to % update some settings where there is no further choice to be made by the user cfg.numcomponent = 'all'; cfg.method = 'predetermined unmixing matrix'; where no fields are being removed any more. mac011> svn commit ft_componentanalysis.m Sending ft_componentanalysis.m Transmitting file data . Committed revision 10953.


Robert Oostenveld - 2016-06-14 16:14:48 +0200

Hereby I am closing multiple bugs that have been resolved for some time now. If you don't agree to the resolution, please reopen.