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.