|
1 | 1 | function [rez, DATA, uproj] = preprocessData(ops)
|
2 | 2 | tic;
|
3 | 3 | uproj = [];
|
4 |
| -nt0 = getOr(ops, {'nt0'}, 61); |
| 4 | +ops.nt0 = getOr(ops, {'nt0'}, 61); |
| 5 | + |
5 | 6 |
|
6 | 7 | if strcmp(ops.datatype , 'openEphys')
|
7 | 8 | ops = convertOpenEphysToRawBInary(ops); % convert data, only for OpenEphys
|
|
19 | 20 | xc = zeros(numel(chanMapConn), 1);
|
20 | 21 | yc = [1:1:numel(chanMapConn)]';
|
21 | 22 | end
|
| 23 | + ops.Nchan = sum(connected>1e-6); |
| 24 | + ops.NchanTOT = numel(connected); |
| 25 | + if exist('fs', 'var') |
| 26 | + ops.fs = fs; |
| 27 | + end |
22 | 28 | else
|
23 | 29 | chanMap = ops.chanMap;
|
24 | 30 | chanMapConn = ops.chanMap;
|
25 | 31 | xc = zeros(numel(chanMapConn), 1);
|
26 | 32 | yc = [1:1:numel(chanMapConn)]';
|
27 |
| - connected = true(numel(chanMap), 1); |
| 33 | + connected = true(numel(chanMap), 1); |
| 34 | + |
| 35 | + ops.Nchan = numel(connected); |
| 36 | + ops.NchanTOT = numel(connected); |
28 | 37 | end
|
29 | 38 | else
|
30 | 39 | chanMap = 1:ops.Nchan;
|
|
40 | 49 | kcoords = kcoords(connected);
|
41 | 50 | end
|
42 | 51 | NchanTOT = ops.NchanTOT;
|
43 |
| -NT = ops.NT ; |
| 52 | +NT = ops.NT ; |
44 | 53 |
|
| 54 | +rez.ops = ops; |
45 | 55 | rez.xc = xc;
|
46 | 56 | rez.yc = yc;
|
47 | 57 | rez.xcoords = xcoords;
|
48 | 58 | rez.ycoords = ycoords;
|
49 | 59 | rez.connected = connected;
|
50 |
| -rez.ops = ops; |
51 | 60 | rez.ops.chanMap = chanMap;
|
52 | 61 | rez.ops.kcoords = kcoords;
|
53 | 62 |
|
|
66 | 75 |
|
67 | 76 | NTbuff = NT + 4*ops.ntbuff;
|
68 | 77 | Nbatch = ceil(d.bytes/2/NchanTOT /(NT-ops.ntbuff));
|
69 |
| -Nbatch_buff = floor(4/5 * nint16s/ops.Nchan /(NT-ops.ntbuff)); % factor of 4/5 for storing PCs of spikes |
| 78 | +Nbatch_buff = floor(4/5 * nint16s/rez.ops.Nchan /(NT-ops.ntbuff)); % factor of 4/5 for storing PCs of spikes |
70 | 79 | Nbatch_buff = min(Nbatch_buff, Nbatch);
|
71 | 80 |
|
72 | 81 | %% load data into patches, filter, compute covariance
|
|
79 | 88 | fprintf('Time %3.0fs. Loading raw data... \n', toc);
|
80 | 89 | fid = fopen(ops.fbinary, 'r');
|
81 | 90 | ibatch = 0;
|
82 |
| -Nchan = ops.Nchan; |
| 91 | +Nchan = rez.ops.Nchan; |
83 | 92 | if ops.GPU
|
84 | 93 | CC = gpuArray.zeros( Nchan, Nchan, 'single');
|
85 | 94 | else
|
|
93 | 102 | end
|
94 | 103 | end
|
95 | 104 | if ~exist('DATA', 'var')
|
96 |
| - DATA = zeros(NT, ops.Nchan, Nbatch_buff, 'int16'); |
| 105 | + DATA = zeros(NT, rez.ops.Nchan, Nbatch_buff, 'int16'); |
97 | 106 | end
|
98 | 107 |
|
99 | 108 | isproc = zeros(Nbatch, 1);
|
|
183 | 192 |
|
184 | 193 | if strcmp(ops.initialize, 'fromData')
|
185 | 194 | i0 = 0;
|
186 |
| - ixt = round(linspace(1, size(ops.wPCA,1), nt0)); |
| 195 | + ixt = round(linspace(1, size(ops.wPCA,1), ops.nt0)); |
187 | 196 | wPCA = ops.wPCA(ixt, 1:3);
|
188 | 197 | uproj = zeros(1e6, size(wPCA,2) * Nchan, 'single');
|
189 | 198 | end
|
|
0 commit comments