-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathconfusion_mat_runner.m
39 lines (38 loc) · 1.2 KB
/
confusion_mat_runner.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
function res = confusion_mat_runner(index)
tic
sm = SessManager;
D_T = sm.cons_usable(index);%DecodeTensor.cons_filt(index);
n_reps = 20;
num_trials = D_T.n_one_dir_trials;
WaitMessage = parfor_wait(n_reps);
parfor j = 1:n_reps
[~,~, ps, ks, ~] = D_T.basic_decode(false, [], []);
[~,~, ps_s, ks_s, ~] = D_T.basic_decode(true, [], []);
%[~,~, ps_d, ks_d, ~] = D_T.basic_decode(false, [], [], my_algs('ecoclin', 'shuf'));
remapper = reshape([(1:20)',(21:40)']', 1, []);
ps = remapper(ps);
ks = remapper(ks);
ps_s = remapper(ps_s);
ks_s = remapper(ks_s);
%ps_d = remapper(ps_d);
%ks_d = remapper(ks_d);
C(:,:,j) = confusionmat(ks, ps); %./ (2*D_T.n_one_dir_trials);
C_s(:,:,j) = confusionmat(ks_s, ps_s);% ./ (2*D_T.n_one_dir_trials);
%C_d(:,:,j) = confusionmat(ks_d, ps_d);
%C_perfect = confusionmat(ks_s, ks);% ./ (2*D_T.n_one_dir_trials);
%CDiff(:,:,j) = C_s - C;
%CsC = (C_s - C)./C;
%CsC(isnan(CsC)) = 0;
%progressbar(j/n_reps);
WaitMessage.Send;
end
WaitMessage.Destroy;
res.num_trials = num_trials;
%res.C = squeeze(mean(C,3));
%res.C_s = squeeze(mean(C_s,3));
res.C = C;
res.C_s = C_s;
%res.C_d = C_d;
res.source = D_T.source_path;
toc
end