function [track] = createTracks4(actFile)

pointsName = [actFile '.points.mat'];
eval(['load '  pointsName ' humanBody ptNumber mkCode;']);

matchesName = [actFile '.matches.mat'];
eval(['load '  matchesName ' timeCorrespond;']);

curTrk = 1;
dirBase = dir([actFile '.1.*.pgm']);
numberFrames = size(dirBase, 1);
for iniFrm=1:numberFrames-1
  for iniPt = 1:ptNumber(iniFrm)

    curPt = iniPt;
    curFrm = iniFrm;
    while (curFrm < numberFrames & curPt ~= 0)
      track(curTrk, curFrm) = curPt;
      tmp = timeCorrespond(curPt, curFrm);
      timeCorrespond(curPt, curFrm) = 0;
      curPt = tmp;
      curFrm = curFrm+1;
    end;

    if (curFrm - iniFrm > 1)
      track(curTrk, curFrm) = curPt;
      curTrk = curTrk+1;
    else
      track(curTrk, curFrm-1) = 0;
    end;
  end;
end;

numberTracks = size(track, 1);
trackLength = sum((track>0)');
[Len, Index] = sort(-trackLength);
numberCompletes = max((Len == -numberFrames) .* [1:numberTracks]);
fprintf('createTracks: %2d\n', numberCompletes);