0001 function apply_ica_eeg(p)
0002
0003
0004
0005
0006
0007 disp(mfilename);
0008
0009
0010 data_file = fullfile(p.proj_root, p.eeg_dirname, p.trial_dirname, 'all.info.mat');
0011 data = vb_load_meg_data(data_file);
0012
0013 [Nch, Nsample, Ntr] = size(data);
0014 data2 = reshape(data, [Nch, Nsample*Ntr]);
0015
0016
0017 [w, s, v] = runica(data2);
0018 unmix = w*s;
0019 mix = inv(unmix);
0020
0021
0022 ica_dir = fullfile(p.proj_root, p.eeg_dirname, p.ica_dirname);
0023 if exist(ica_dir, 'dir') ~= 7
0024 vb_mkdir(ica_dir);
0025 end
0026 output_file = fullfile(ica_dir, [mfilename '.mat']);
0027 save(output_file, 'w', 's', 'v', 'unmix', 'mix')
0028
0029