[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