Select Git revision
getStats.m 1.53 KiB
function tblVelo = getStats(dxx, pData, tblMD)
if ~exist('idxDel','var')
idxDel = [];
end
tblVelo = table();
idxUnused = 1:height(pData);
for i = 1:length(dxx)
for j = 1:size(dxx{i},1)
m = dxx{i}(j,2);
n = dxx{i}(j,3);
% m and n are indices into pData
% check first if either is disqualified
if pData.disqualified(m) || pData.disqualified(n)
continue
end
if m~=n && pData.dx(m) == pData.dx(n) % same date pairs
continue
end
%
dmd = pData.md(n) - pData.md(m);
nt = table();
nt.subjectID = pData.subjectID(m);
idxm = find(dxx{i}(:,2)==m & dxx{i}(:,3) == m);
idxn = find(dxx{i}(:,2)==n & dxx{i}(:,3) == n);
nt.X = [dxx{i}(idxm,1),dxx{i}(idxn,1),dxx{i}(j,1)];
nt.velocity = (dxx{i}(j,1));
nt.md = min(pData.md(n),pData.md(m));
nt.dmd = abs(dmd);
nt.mn = [m,n];
nt.ddx = pData.dx(n) - pData.dx(m);
% find sex
idx = find(tblMD.subjectID == pData.subjectID(m),1,'first');
nt.sex = tblMD.gender_full(idx);
if nt.dmd > 4
continue
end
if years(nt.ddx)>1
continue
end
% if nt.velocity > 0.9 && nt.velocity < 0.975
% continue
% end
if m ~= n
idxUnused = setdiff(idxUnused,m);
idxUnused = setdiff(idxUnused,n);
end
tblVelo = [tblVelo;nt];
end
end
% tblVelo = trimSelfSimilar(tblVelo);
4;