function [n2n,n2h,h2n,h2h,n2n_nodc,n2h_nodc,h2n_nodc,h2h_nodc,sb]=ITW_unfold_calcERPs(d2nd,codingscheme,chan,phase) subjects=d2nd.subject; if strcmp(codingscheme,'mashup') if strcmp(phase,'WLFO') [~,parampos]= ismember({'(Intercept)','curr_HF','prev_HF','humanface:prevhumanface','samebox_1'},{d2nd.param.name}); elseif strcmp(phase,'Lab') [~,parampos]= ismember({'2_(Intercept)','curr_HF','prev_HF','humanface:prevhumanface'},{d2nd.param.name}); end end n2n=[]; n2h=[]; h2n=[]; h2h=[]; n2n_nodc=[]; n2h_nodc=[]; h2n_nodc=[]; h2h_nodc=[]; sb=[]; for sub_num=1:length(subjects) fprintf('calculating subject %i \n',subjects(sub_num)) unfold2=d2nd; unfold2.unfold = unfold2.unfold(sub_num); unfold2.beta=squeeze(d2nd.beta(:,:,:,sub_num)); unfold2.beta_nodc=d2nd.beta_nodc(:,:,:,sub_num); if strcmp(phase,'WLFO') uf2am = uf_predictContinuous(unfold2,'predictAt',{{'sac_amplitude',[0.5 1 2.5 5 7.5 10]},{'fix_avgpos_y',linspace(500,1500,5)},{'fix_avgpos_x',linspace(900,3000,5)},{'samebox_1',1}}); uf2am = uf_addmarginal(uf2am); elseif strcmp(phase,'Lab') uf2am=unfold2; end n2n_data = uf2am.beta(chan,:,parampos(1))-unfold2.beta(chan,:,parampos(3))-unfold2.beta(chan,:,parampos(2))+unfold2.beta(chan,:,parampos(4)); n2h_data = uf2am.beta(chan,:,parampos(1))-unfold2.beta(chan,:,parampos(3))+unfold2.beta(chan,:,parampos(2))-unfold2.beta(chan,:,parampos(4)); h2n_data = uf2am.beta(chan,:,parampos(1))+unfold2.beta(chan,:,parampos(3))-unfold2.beta(chan,:,parampos(2))-unfold2.beta(chan,:,parampos(4)); h2h_data = uf2am.beta(chan,:,parampos(1))+unfold2.beta(chan,:,parampos(3))+unfold2.beta(chan,:,parampos(2))+unfold2.beta(chan,:,parampos(4)); n2n(sub_num,:,:)=n2n_data; n2h(sub_num,:,:)=n2h_data ; h2n(sub_num,:,:)=h2n_data; h2h(sub_num,:,:)=h2h_data; n2n_nodc_data = uf2am.beta_nodc(chan,:,parampos(1))-unfold2.beta_nodc(chan,:,parampos(3))-unfold2.beta_nodc(chan,:,parampos(2))+unfold2.beta_nodc(chan,:,parampos(4)); n2h_nodc_data = uf2am.beta_nodc(chan,:,parampos(1))-unfold2.beta_nodc(chan,:,parampos(3))+unfold2.beta_nodc(chan,:,parampos(2))-unfold2.beta_nodc(chan,:,parampos(4)); h2n_nodc_data = uf2am.beta_nodc(chan,:,parampos(1))+unfold2.beta_nodc(chan,:,parampos(3))-unfold2.beta_nodc(chan,:,parampos(2))-unfold2.beta_nodc(chan,:,parampos(4)); h2h_nodc_data = uf2am.beta_nodc(chan,:,parampos(1))+unfold2.beta_nodc(chan,:,parampos(3))+unfold2.beta_nodc(chan,:,parampos(2))+unfold2.beta_nodc(chan,:,parampos(4)); n2n_nodc(sub_num,:,:)=n2n_nodc_data; n2h_nodc(sub_num,:,:)=n2h_nodc_data ; h2n_nodc(sub_num,:,:)=h2n_nodc_data; h2h_nodc(sub_num,:,:)=h2h_nodc_data; %samebox data if strcmp(phase, 'WLFO') sb_data=uf2am.beta(chan,:,parampos(1))+unfold2.beta(chan,:,parampos(3))+unfold2.beta(chan,:,parampos(2))+unfold2.beta(chan,:,parampos(4))+unfold2.beta(chan,:,parampos(5)); sb(sub_num,:,:)=sb_data; end end end