-
Notifications
You must be signed in to change notification settings - Fork 0
/
createWScellObj.m
54 lines (43 loc) · 1.49 KB
/
createWScellObj.m
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function [ wSCell ] = createWScellObj( dataCell, winStep )
% Author: Murat Kirtay, The BioRobotics Inst.
% Date: 22/01/2016
% Description: Crate window sized data with object ids.
% Notes: 0- last column consists of object ids.
experimentIDs = [1 2 4]; % exclude obj-fixation
objectIDs = [1:4];
windowSize = winStep(1);
stepSize = winStep(2);
fInd = 1;
lInd = fInd + windowSize-1;
dataSize = [1:size(dataCell, 2)];
wSCell = cell(1, size(dataCell, 2));
wSizedVec = [];
wsData = [];
for i=dataSize, % number of unit
for j=experimentIDs,
for jj=objectIDs,
unitData = dataCell{1,i}{j, jj};
[expRow, expCol] = size(unitData);
for k = 1 : expRow,
rawData = unitData(k, :);
while lInd < expCol,
slicedVec = rawData(fInd:lInd);
countSpikes = sum(slicedVec);
wSizedVec = [wSizedVec countSpikes];
% update first and last index
fInd = fInd + stepSize;
lInd = lInd + stepSize;
end
wsData = [wsData ; wSizedVec];
wSizedVec = [];
fInd = 1;
lInd = fInd + windowSize-1;
end
% put object ids as last column
ids = jj * ones(expRow, 1);
wsData = [wsData ids];
wSCell{1,i}{j, jj} = wsData;
wsData = [];
end
end
end