Home > chronux_2_00 > spikesort > graphics > correlations.m

correlations

PURPOSE ^

CORRELATIONS another temporary utility to show clusters

SYNOPSIS ^

function correlations(spikes, useassigns, show)

DESCRIPTION ^

    CORRELATIONS  another temporary utility to show clusters
       CORRELATIONS(SPIKES, [USEASSIGNS], [SHOW]);

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function correlations(spikes, useassigns, show)
0002 %    CORRELATIONS  another temporary utility to show clusters
0003 %       CORRELATIONS(SPIKES, [USEASSIGNS], [SHOW]);
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;  % (msec);
0018 
0019 for r = 1:K
0020     for c = r:K  % upper right triangle only (b/c symmetric)
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;  % blank out autocorr peak
0027             bar(lags,cross,1.0);  shading flat;
0028             set(gca, 'XLim', [-maxlag, maxlag]);
0029         else
0030             cla;  % show blank if <= 1 pts
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

Generated on Fri 15-Aug-2008 11:35:42 by m2html © 2003