0001 function outData = ensemble_processStims(inData,params)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 if(~iscell(inData))
0019 inData = {inData};
0020 end
0021
0022 clear searchCrit;
0023 searchCrit.type = 'stimulus_metadata';
0024 findIdx = ensemble_find_analysis_struct(inData,searchCrit);
0025 stimMetaData = inData{findIdx};
0026 stimMetaDataCols = set_var_col_const(stimMetaData.vars);
0027
0028 if(isfield(params,'filt'))
0029 stimMetaData = ensemble_filter(stimMetaData,params.filt);
0030 end
0031
0032 nStims = length(stimMetaData.data{stimMetaDataCols.stimulus_id});
0033
0034 if(~isfield(params,'startStim'))
0035 params.startStim = 1;
0036 end
0037
0038 for iStim = params.startStim:nStims
0039
0040 funcParams = params.funcParams;
0041
0042 thisStimID = ...
0043 stimMetaData.data{stimMetaDataCols.stimulus_id}(iStim);
0044 funcParams.stimulus_id= thisStimID;
0045 fprintf('Processing Stim %d, ID %d\n',iStim,thisStimID);
0046
0047 funcParams.artist = stimMetaData.data{stimMetaDataCols.artist}{iStim};
0048 funcParams.song_name = stimMetaData.data{stimMetaDataCols.name}{iStim};
0049 funcParams.location = stimMetaData.data{stimMetaDataCols.location}{iStim};
0050
0051 funcH = str2func(params.funcName);
0052
0053 outData{iStim} = funcH(inData,funcParams);
0054
0055 end