-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfetXcovPair.m
More file actions
36 lines (31 loc) · 974 Bytes
/
Copy pathfetXcovPair.m
File metadata and controls
36 lines (31 loc) · 974 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function mrFet = fetXcovPair(trSpkWav, varargin)
P = funcDefStr(funcInStr(varargin{:}), ...
'nLags', 3, 'cvChanPair', [], 'fZscore', 1);
nFet = (P.nLags*2+1);
nSpks = size(trSpkWav,3);
nChans = size(trSpkWav,2);
if isempty(P.cvChanPair)
if nChans < 2, error('fetXcovPair-nChan==1'); end
P.cvChanPair = cell(1, nChans*2-3);
P.cvChanPair{1} = [2,1];
for iChan = 3:nChans
P.cvChanPair{iChan*2-4} = [iChan, iChan-2];
P.cvChanPair{iChan*2-3} = [iChan, iChan-1];
end
end
nPairs = numel(P.cvChanPair);
viRange = 1:nFet;
mrFet = zeros(nFet * nPairs, nSpks);
for iPair = 1:nPairs
mrFet(viRange, :) = calcXcovPair(trSpkWav, 'viChan', P.cvChanPair{iPair}, 'nLags', P.nLags);
viRange = viRange + nFet;
end
if P.fZscore
mrFet = (mrFet - mean(mrFet(:))) ./ std(mrFet(:));
%mrFet = zscore(mrFet')';
%mrFet = zscore(mrFet);
end
if nargout == 0
vr=pdist(mrFet','cosine'); figure; cdfplot(vr);
disp(median(vr));
end