Skip to content
Snippets Groups Projects
Commit bf6d903d authored by mark's avatar mark Committed by Mark Winter
Browse files

Added in some missed dependencies for the old code.

parent a68f2be8
No related branches found
No related tags found
No related merge requests found
function [dist, segparam, segidx] = distToPath(ptsX, ptsY, path)
dist = Inf*ones(size(ptsX));
segidx = zeros(size(ptsX));
segparam = zeros(size(ptsX));
for i=1:length(path)-1
[tdist, tdisp, spparam] = distToSeg(ptsX, ptsY, path(:,i:i+1));
tparam = spparam(:,:,2);
bLess = (tdist < dist);
dist(bLess) = tdist(bLess);
segparam(bLess) = tparam(bLess);
segidx(bLess) = i;
end
end
\ No newline at end of file
function [dist, disp, spparam] = distToSeg(ptsX, ptsY, seg)
segTan = seg(:,2) - seg(:,1);
segNrm = [segTan(2),-segTan(1)];
segLen = norm(segTan);
N = size(ptsX);
disp = zeros([N 2]);
dispVecX = ptsX - repmat(seg(1,1), N);
dispVecY = ptsY - repmat(seg(2,1), N);
disp(:,:,1) = dot(cat(3,dispVecX, dispVecY), repmat(reshape(segTan,[1,1,2]),N),3) / segLen;
disp(:,:,2) = dot(cat(3,dispVecX, dispVecY), repmat(reshape(segNrm,[1,1,2]),N),3) / segLen;
spparam = disp;
bzDisp = (disp > 0 & disp <= segLen);
bzDisp(:,:,2) = 0;
disp(bzDisp) = 0;
blDisp = (disp > segLen);
blDisp(:,:,2) = 0;
disp(blDisp) = disp(blDisp) - segLen;
dist = sqrt((disp(:,:,1).^2) + (disp(:,:,2).^2));
end
\ No newline at end of file
function trackingStruct = rebuildLookupTables(trackingStruct)
locLUT = zeros(1,length(trackingStruct.rgDetect));
globLUT = zeros(size(trackingStruct.gConnect,1),2);
for t=1:length(trackingStruct.rgDetect)
numDets = size(trackingStruct.rgDetect{t},1);
globLUT(locLUT(t)+(1:numDets),:) = [t*ones(numDets,1), (1:numDets)'];
if ( t+1 > length(trackingStruct.rgDetect) )
continue;
end
locLUT(t+1) = locLUT(t) + numDets;
end
trackingStruct.locNodeLUT = locLUT;
trackingStruct.globNodeLUT = globLUT;
end
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment