Mercurial > hg > ape
view listeningTest/multiComp/saveMultiComp.m @ 15:24be5e9ce25b tip
Update README
author | Brecht De Man <brecht.deman@bcu.ac.uk> |
---|---|
date | Thu, 20 Sep 2018 12:23:20 +0200 |
parents | 4fd284285159 |
children |
line wrap: on
line source
function saveMultiComp(hf) % called from 'endmultiComp' or whenever temporarily saved dat=get(hf,'userdata'); test=dat.test; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Collect the results into rsl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% rsl.gcom=strrep(get(dat.gcom,'string'), sprintf('\n'),'; '); % general comments rsl.hcom=get(struct([]), 'struct'); % empty array of individual comments rsl.permVec=dat.permVec; rsl.playVec=dat.playVec; nbSnd=test.nbComb; nbScale=length(test.scale); for noScale=1:nbScale for noSnd=1:nbSnd rsl.hcom{noSnd}=strrep(get(dat.hcom{noSnd}, 'string'), sprintf('\n'),'; '); % individual comments posIc=get(dat.hIcon(noScale,noSnd),'position'); scale=test.scale(noScale); posx=posIc(1); dxx=dat.dxx; dxI=dat.dxI; minx=scale.minn; maxx=scale.maxx; stepp=scale.stepp; a=(maxx-minx)/(1-2*dxx); b=minx-a*dxx; nx=a*(posx+dxI/2)+b; rsl.mat(noScale,noSnd)=nx; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Save it %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% test=[]; indDat=[]; sesDat=dat.sesDat; test.rsl=rsl; test.tstFile=sesDat.tstDat{dat.sesDat.noTst}.tstFile; test.tstType=sesDat.tstDat{dat.sesDat.noTst}.tstType; test.sndFile=sesDat.cuSndListFile; % Create new test data file sesDat.tstDat{dat.sesDat.noTst}=test; % make temporary variable in workspace assignin('base','multiComp',test); % save the individual session indDat.id=sesDat.id; indDat.sesScript=sesDat.sesScript; indDat.tstDat=sesDat.tstDat; eval(sprintf('%s=indDat;',indDat.id)); expre=sprintf('save(''responses/%s'',''%s'')',indDat.id,indDat.id); eval(expre);