<div dir="ltr">Hey experts,<div><br></div><div style>I have a problem with an ICA. What I am basically doing is running an ICA on a big dataset and then removing the identified components from smaller datasets of the same subject. Due to interpolated channels I do reduce the components using numcomponent. But there seems to be a problem with this:</div><div style><br></div><div style>My code is </div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px"><p style="margin:0px;font-size:10px;font-family:Courier">cfg = [];</p><p style="margin:0px;font-size:10px;font-family:Courier">cfg.channel = {<span style="color:rgb(178,69,243)">'all'</span>};</p><p style="margin:0px;font-size:10px;font-family:Courier">cfg.numcomponent = 126</p><p style="margin:0px;font-size:10px;font-family:Courier">comp = ft_componentanalysis(cfg,obs_data_clean1);</p><p style="margin:0px;font-size:10px;font-family:Courier">save (strcat(sb,<span style="color:rgb(178,69,243)">'comp_all'</span>) , <span style="color:rgb(178,69,243)">'comp'</span>)</p><div><br></div><div style>and matlab writes: </div><div><div>the input is component data with 126 components and 129 original channels</div><div>detected   0 visual artifacts</div><div>the input is component data with 126 components and 129 original channels</div><div>processing trials</div></div><div><br></div><div style>just as expected! </div><div style><br></div><div style><br></div><div>then I want to use this ica for cleaning a smaller dataset so I wrote:</div><div><br></div><div><p style="margin:0px;font-size:10px;font-family:Courier">cfg = [];</p><p style="margin:0px;font-size:10px;font-family:Courier">cfg.numcomponent = 126;</p><span class="im"><p style="margin:0px;font-size:10px;font-family:Courier">cfg.unmixing  = comp.unmixing;</p><p style="margin:0px;font-size:10px;font-family:Courier">cfg.topolabel = comp.topolabel;</p><p style="margin:0px;font-size:10px;font-family:Courier;min-height:12px"> </p></span><p style="margin:0px;font-size:10px;font-family:Courier">comp_1     = ft_componentanalysis(cfg, obs90_data);</p><p style="margin:0px;font-size:10px;font-family:Courier"><br></p><p style="margin:0px;font-size:10px;font-family:Courier"><br></p><p style="margin:0px;font-size:10px;font-family:Courier"> the program again tells me:</p><p style="margin:0px;font-size:10px;font-family:Courier"><br></p><p style="margin:0px;font-size:10px;font-family:Courier"><br></p><p style="margin:0px;font-size:10px;font-family:Courier"></p><p style="margin:0px">the input is raw data with 129 channels and 80 trials</p><p style="margin:0px">selecting 129 channels</p><p style="margin:0px">baseline correcting data </p><p style="margin:0px">scaling data with 1 over 126.842103</p><p style="margin:0px">not concatenating data</p><p style="margin:0px">starting decomposition using predetermined unmixing matrix</p><p style="margin:0px">the call to "ft_componentanalysis" took 2 seconds and required the additional allocation of an estimated 574 MB</p><p style="margin:0px"><br></p><p style="margin:0px">then I remove the component I identified before as blinking</p><p style="margin:0px"><br></p><p style="margin:0px"></p><p style="margin:0px;font-size:10px;font-family:Courier">cfg = [];</p><p style="margin:0px;font-size:10px;font-family:Courier">    cfg.component = [1];</p><p style="margin:0px;font-size:10px;font-family:Courier">    obs90_data_ica_cleaned = ft_rejectcomponent(cfg, comp_1, obs90_data);</p><p style="margin:0px;font-size:10px;font-family:Courier;min-height:12px">   </p><p style="margin:0px;font-size:10px;font-family:Courier;min-height:12px"> </p><p style="margin:0px;font-size:10px;font-family:Courier;color:rgb(178,69,243)"><span style="color:rgb(0,0,0)"> save (strcat(sb,</span>'obs90_ica_cleaned'<span style="color:rgb(0,0,0)">) , </span>'obs90_data_ica_cleaned'<span style="color:rgb(0,0,0)">)</span></p><p style="margin:0px;font-size:10px;font-family:Courier;min-height:12px"> </p><p style="margin:0px;font-size:12px;font-family:Courier;min-height:14px"><br></p><p></p><p style="margin:0px">and suddenly matlab says: </p><p style="margin:0px"><br></p><p style="margin:0px">baseline correcting data </p><p style="margin:0px">removing 1 components</p><p style="margin:0px">keeping 128 components</p><p style="margin:0px">processing trials</p><p style="margin:0px">processing trial 80 from 80</p><p></p><p style="margin:0px;font-size:12px;font-family:Courier;min-height:14px"><br></p></div></div><div style="font-family:arial,sans-serif;font-size:13px">Why does is speak of 129 (128+1) components??? My comp and comp_1 objects only have 126 components!!! Is it doing the right thing?</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Thanks again for your help!</div><div style="font-family:arial,sans-serif;font-size:13px">Katrin</div></div>