spike_filter_binned.m 577 B

1234567891011121314151617181920
  1. function y = spike_filter_binned(ts,fromto,bins,krn,varargin)
  2. % this function uses qcount_binned to normalize trial time length and
  3. % calculate "squeezed" psth.
  4. binsz=5e-4 ;
  5. normalize_krn= 1 ;
  6. utils.overridedefaults(who, varargin)
  7. if normalize_krn
  8. krn = krn/sum(abs(krn))/binsz; % normalize
  9. end
  10. offset = ceil(length(krn)/2);
  11. buffer=offset*binsz;
  12. fromto = [fromto(:,1) - buffer,fromto];
  13. bins = [offset,bins];
  14. y = stats.qcount_binned(ts,fromto,bins);
  15. y = [y,zeros(size(y,1),offset)];
  16. y = filter(krn, 1, y, [], 2);
  17. y = y(:, 2*offset:end-1); % trim extra columns
  18. end