Commit 44bf497b29277c9bddd14fa0d37abc0e0dc28c54
1 parent
b860556d
Matlab script to generate ROC scores
Showing
1 changed file
with
43 additions
and
0 deletions
scripts/matlab/generateROC.m
0 → 100644
| 1 | +function [ta fa] = genROC_ME(S,rMat) | |
| 2 | +% [ta fa] = genROC_ME(S,rMat) | |
| 3 | +% S is score similarity matrix | |
| 4 | +% | |
| 5 | +% rMat is a matrix contain the relationship of each image pair | |
| 6 | +% - 0 for different subject | |
| 7 | +% - 1 for same subject | |
| 8 | +% - 2 to skip the pair | |
| 9 | + | |
| 10 | + if nargin < 2, | |
| 11 | + rMat = uint8(eye(size(S))); | |
| 12 | + end | |
| 13 | + S = S(rMat ~=2); | |
| 14 | + rMat = rMat(rMat ~=2); | |
| 15 | + | |
| 16 | + nTrue = sum(rMat(:) == 1); | |
| 17 | + nFalse = numel(rMat) - nTrue; | |
| 18 | + | |
| 19 | + [S1 order] = sort(S(:),'descend'); | |
| 20 | + | |
| 21 | + n = numel(S1); | |
| 22 | + | |
| 23 | + rank = zeros(nTrue,1); | |
| 24 | + t_vals = zeros(nTrue,1); | |
| 25 | + | |
| 26 | + cnt = 0; | |
| 27 | + for i = 1:n, | |
| 28 | + if rMat(order(i)) == 1 | |
| 29 | + cnt = cnt + 1; | |
| 30 | + | |
| 31 | + t_vals(cnt) = S1(order(i)); | |
| 32 | + rank(cnt) = i - cnt; | |
| 33 | + end | |
| 34 | + end | |
| 35 | + | |
| 36 | + ta = zeros(nTrue,1); | |
| 37 | + fa = zeros(nTrue,1); | |
| 38 | + for i = 1:length(t_vals), | |
| 39 | + ta(i) = i/nTrue; | |
| 40 | + fa(i) = rank(i)/nFalse; | |
| 41 | + end | |
| 42 | + aaa=1; | |
| 43 | +end | ... | ... |