[Eeglablist] AMICA on semicontinuous data

Tatu Huovilainen tatu.huovilainen at helsinki.fi
Wed Apr 9 01:47:12 PDT 2014


Hello EEGlab community,

I'm still somewhat new to EEGlab, but the features and their  
documentation have made it really easy to hop on. Still, I've run into  
a problem I don't have the knowhow to solve and the documentation on  
it is pretty scarce.

I'm using AMICA for cleaning the data, which works unbelievably well  
by the way, but I've learned that if there's even one boundary event  
in the data the program crashes. This is problematic as some of the  
blocks I'm trying to run ICA on have some ~10 second windows with huge  
artefacts that have to be removed. Below is an output of the AMICA  
command. It's from a block that without a removed part would run  
through perfectly well.

Has anyone encountered this before, and is there maybe some simple  
workaround I don't see?

Any advice would be appreciated. Thank you in advance!

-Tatu

(Using Matlab R2012a & EEGlab 13.1.1
[ EEG.icaweights, EEG.icasphere, mods ] = runamica12(  
EEG.data(chanInd('EEG'),:) );  %%% The chanInd('EEG') just returns a  
list of channels of the type.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
No recognized parallel environment found. Run qconf -spl to get a list  
of available environments and use keyword use_pe.
Running locally with maximum of 4 threads.
Writing data file: D:\Tatu\AMICATMP\tmpdata61471.fdt
            1 processor name = XXXXXX
            1 host_num =   1376903278
  This is MPI process           1 of           1 ; I am process           1 of
            1 on node: XXXXXX %Post removed, probably no need..
            1  : node root process           1 of           1
Processing arguments ...
  num_files =            1
  FILES:
  D:\Tatu\AMICATMP\tmpdata61471.fdt
  num_dir_files =            1
  initial matrix block_size =          256
  do_opt_block =            0
  number of models =            1
  number of density mixture components =            3
  pdf type =            0
  max_iter =         2000
  num_samples =            1
  data_dim =          134
  field_dim =       382975
  do_history =            0
  histstep =           10
  share_comps =            0
  share_start =          100
  comp_thresh =   0.990000000000000
  share_int =          100
  initial lrate =   5.000000000000000E-002
  minimum lrate =   1.000000000000000E-008
  lrate factor =   0.500000000000000
  initial rholrate =   5.000000000000000E-002
  rho0 =    1.50000000000000
  min rho =    1.00000000000000
  max rho =    2.00000000000000
  rho lrate factor =   0.500000000000000
  kurt_start =            3
  num kurt =            5
  kurt interval =            1
  do_newton =            1
  newt_start =           50
  newt_ramp =           10
  initial newton lrate =    1.00000000000000
  do_reject =            0
  num reject =            3
  reject sigma =    3.00000000000000
  reject start =            2
  reject interval =            3
  max_thrds =            2
  write step =           10
  write_nd =            0
  write_LLt =            1
  dec window =            1
  max_decs =            3
  fix_init =            0
  update_A =            1
  update_c =            1
  update_gm =            1
  update_alpha =            1
  update_mu =            1
  update_beta =            1
  invsigmax =    100.000000000000
  invsigmin =   0.000000000000000E+000
  do_rho =            1
  load_rej =            0
  load_c =            0
  load_gm =            0
  load_alpha =            0
  load_mu =            0
  load_beta =            0
  load_rho =            0
  load_comp_list =            0
  do_mean =            1
  do_sphere =            1
  doPCA =            1
  pcakeep =          134
  pcadb =    30.0000000000000
  byte_size =            4
  doscaling =            1
  scalestep =            1
A subdirectory or file D:\Tatu\AMICATMP\amicaouttmp\ already exists.
  output directory = D:\Tatu\AMICATMP\amicaouttmp\
            1 : setting num_thrds to            2  ...
            1 : using           2 threads.
            1 : node_thrds =            2
  bytes in real =            1
            1 : REAL nbyte =            1
  getting segment list ...
  blocks in sample =       382975
  total blocks =       382975
  node blocks =       382975
  node            1  start: file            1  sample            1  index
            1
  node            1  stop : file            1  sample            1  index
       382975
            1 : data =    19.4008998870850        8.51673507690430
  getting the mean ...
   mean =   -1.38158794941323       9.108994773376549E-003
  -9.745015379274158E-003
  subtracting the mean ...
  getting the sphering matrix ...
  cnt =       382975
  doing eig nx =          134  lwork =       179560
  minimum eigenvalues =    1.32521304789175        1.60365130875427
    1.83976537562973
  maximum eigenvalues =    287079.512877785        8402.99938147310
    4669.66292334350
  num eigs kept =          134
  numeigs =          134
  sphering the data ...
            1 Allocating variables ...
            1 : Initializing variables ...
            1 : block size =          256
            1 : entering the main loop ...
forrtl: severe (170): Program Exception - stack overflow
Image              PC                Routine            Line        Source
amica12win64.exe   000000013FCEE047  Unknown               Unknown  Unknown
amica12win64.exe   000000013FC55847  Unknown               Unknown  Unknown
libiomp5md.dll     000000001007BC0C  Unknown               Unknown  Unknown
libiomp5md.dll     000000001005C428  Unknown               Unknown  Unknown
libiomp5md.dll     0000000010053BC8  Unknown               Unknown  Unknown
libiomp5md.dll     000000001003591C  Unknown               Unknown  Unknown
amica12win64.exe   000000013FC41A35  Unknown               Unknown  Unknown
amica12win64.exe   000000013FC1447C  Unknown               Unknown  Unknown
amica12win64.exe   000000014008F42C  Unknown               Unknown  Unknown
amica12win64.exe   000000013FCEE56F  Unknown               Unknown  Unknown
kernel32.dll       0000000076CA652D  Unknown               Unknown  Unknown
ntdll.dll          0000000076DDC541  Unknown               Unknown  Unknown
No gm present, setting num_models to 1
No W present, exiting
Reference to non-existent field 'W'.

Error in runamica12 (line 851)
     weights = mods.W(:,:,1);

--------------------------------
Tatu Huovilainen
Research Assistant
CBRU - Helsinki University



More information about the eeglablist mailing list