diff --git a/scripts/matlab/generateROC.m b/scripts/matlab/generateROC.m new file mode 100644 index 0000000..778c276 --- /dev/null +++ b/scripts/matlab/generateROC.m @@ -0,0 +1,43 @@ +function [ta fa] = genROC_ME(S,rMat) +% [ta fa] = genROC_ME(S,rMat) +% S is score similarity matrix +% +% rMat is a matrix contain the relationship of each image pair +% - 0 for different subject +% - 1 for same subject +% - 2 to skip the pair + + if nargin < 2, + rMat = uint8(eye(size(S))); + end + S = S(rMat ~=2); + rMat = rMat(rMat ~=2); + + nTrue = sum(rMat(:) == 1); + nFalse = numel(rMat) - nTrue; + + [S1 order] = sort(S(:),'descend'); + + n = numel(S1); + + rank = zeros(nTrue,1); + t_vals = zeros(nTrue,1); + + cnt = 0; + for i = 1:n, + if rMat(order(i)) == 1 + cnt = cnt + 1; + + t_vals(cnt) = S1(order(i)); + rank(cnt) = i - cnt; + end + end + + ta = zeros(nTrue,1); + fa = zeros(nTrue,1); + for i = 1:length(t_vals), + ta(i) = i/nTrue; + fa(i) = rank(i)/nFalse; + end + aaa=1; +end