Home > database > fmri > regressors > fmri_stim_duration.m

fmri_stim_duration

PURPOSE ^

returns durations for given stimuli

SYNOPSIS ^

function durs = fmri_stim_duration(pinfo,minfo,sids)

DESCRIPTION ^

 returns durations for given stimuli
 
   durs = fmri_stim_duration(sids)
 
 REQUIRES
   pinfo.mysql.conn_id - open database connection id
   minfo.music_dur_max (optional)
   sids - vector of stimulus ids
 
 FB 2010.02.25

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function durs = fmri_stim_duration(pinfo,minfo,sids)
0002 
0003 % returns durations for given stimuli
0004 %
0005 %   durs = fmri_stim_duration(sids)
0006 %
0007 % REQUIRES
0008 %   pinfo.mysql.conn_id - open database connection id
0009 %   minfo.music_dur_max (optional)
0010 %   sids - vector of stimulus ids
0011 %
0012 % FB 2010.02.25
0013 
0014 durs = [];
0015 
0016 % get durations from the database
0017 local_conn_id = 0;
0018 try conn_id = pinfo.mysql.conn_id;
0019 catch
0020     conn_id = 0;
0021     local_conn_id = 1;
0022     mysql_make_conn([],[],conn_id);
0023 end
0024 
0025 dstr = sprintf('SELECT duration FROM stimuli WHERE stimulus_id IN (%s)',...
0026   regexprep(num2str(sids'),'\s\s',','));
0027 times = mysql(conn_id,dstr);
0028 if local_conn_id
0029     mysql(conn_id,'close');
0030 end
0031 
0032 if length(times) ~= length(sids)
0033     error('wrong number of durations returned from the database')
0034 end
0035 durs = str2num(datestr(times,'HH'))*360+...
0036   str2num(datestr(times,'MM'))*60+str2num(datestr(times,'SS'));
0037 
0038 if isfield(minfo,'music_dur_max')
0039     % set upper limit to durations
0040     durs(durs > minfo.music_dur_max) = minfo.music_dur_max;
0041 end

Generated on Thu 09-Dec-2010 04:01:40 by m2html © 2003