0001 function correlations(spikes, useassigns, show)
0002
0003
0004
0005 if (nargin < 2),
0006 if (isfield(spikes.hierarchy, 'assigns')), useassigns = spikes.hierarchy.assigns;
0007 elseif (isfield(spikes.overcluster, 'assigns')), useassigns = spikes.overcluster.assigns;
0008 else useassigns = ones(size(spikes.waveforms,1),1);
0009 end
0010 end
0011 if (nargin < 3)
0012 list = unique(useassigns);
0013 show = list(1:min(5,length(list)));
0014 end
0015
0016 K = length(show);
0017 maxlag = 0.025;
0018
0019 for r = 1:K
0020 for c = r:K
0021 subplot(K,K,c+(r-1)*K);
0022 selectrow = find(useassigns == show(r));
0023 selectcol = find(useassigns == show(c));
0024 if ((length(selectrow) > 1) && (length(selectcol) > 1))
0025 [cross,lags] = pxcorr(spikes.spiketimes(selectrow), spikes.spiketimes(selectcol), 1000, maxlag);
0026 if (r == c), cross(lags == 0) = 0; end;
0027 bar(lags,cross,1.0); shading flat;
0028 set(gca, 'XLim', [-maxlag, maxlag]);
0029 else
0030 cla;
0031 end
0032 if (r == c), ylabel(sprintf('Cluster #%d', show(r))); end;
0033 if (r == 1), title(sprintf('Cluster #%d', show(c))); end;
0034 end
0035 end