#include "Extrapolator.h" #include <PositionTracker.h> #include <HungarianAlgorithm.h> #include <stdio.h> #include <string> #include <vector> #include <Img.h> #include <Array.h> #include <Mathematics.h> using namespace std; using namespace icl; typedef Array<int> vec; void showRes(const Array<int> &dataXs,const Array<int> &dataYs,PositionTracker<int> &pt){ printf("-----------------------------------------------\n"); printf("current tracking result: \n"); for(unsigned int i=0;i<dataXs.size();i++){ printf("datapoint %d %d --> index %d \n",dataXs[i],dataYs[i],pt.getID(dataXs[i],dataYs[i])); } printf("-----------------------------------------------\n"); } int main(int n, char **ppc){ PositionTracker<int> pt; randomSeed(); int N = 1000000; int pi[100],pj[100]; for(int i=0;i<N;i++){ int dim = randomi(30)+2; printf("dim = %d \n",dim); for(int k=0;k<dim;k++){ pi[k] = randomi(100); pj[k] = randomi(100); } pt.pushData(vec(pi,dim),vec(pj,dim)); if(!(i%10000)){ printf("%f \n",float(i)/N); } } return 0; } /* int cc[D*D] = { 0,1,1,1,1, 1,2,0,1,1, 3,0,1,6,1, 1,1,6,1,0, 1,1,1,0,1 }; SimpleMatrix<int> m(D,D,cc); ivec ass = HungarianAlgorithm<int>::apply(m); HungarianAlgorithm<int>::visualizeAssignment(m,ass); return 0; */ /* 27| | | | | 26| | | | (o) 25+--------------+---------------+--------------+-------------.+- 24| | | | . | 23| | | | . | 22| | | | . | 21| | | | .. | 20+--------------+---------------+--------------+-------.------+- 19| | | | .. | 18| | | | .. | 17| | | | .. | 16| | ,,,,,,,,,,(#), |. (X) 15+-----------,,(#),,,-----------+--,,,,,-----.(o)-------------+- 14| ,, | | ,,,.. | | 13| ,, | | ..,, | | 12| ,, | | .. , | | 11| ,, | | ... (#) | 10+-(#)----------+---------------+-..----------(X),,-----------+- 9 | | .(o) | , | 8 | | ... | | ,, | 7 | | .... | | , | 6 | | ... (X) | ,, | 5-+--------------+-..------------+--------------+---------,----+- 4 | ...(o) | | , | 3 | ... (X) | | , | 2 | (o)... | | | , | 1 | (X) | | | (#) 0-+--------------+---------------+--------------+--------------+- t=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 */ /* 22| | | | | 21| | | | | 20+--------------+---------------+--------------+--------------+- 19| | | | | 18| | | | | 17| | | | | 16| | | | | 15+--------------+---------------+--------------+--------------+- 14| | | | | 13| | | | | 12| | | | | 11| | | | | 10+--------------+---------------+--------------+--------------+- 9 | | | | | 8 | | | | | 7 | | | | | 6 | | | | | 5-+--------------+---------------+--------------+--------------+- 4 | | | | | 3 | | | | | 2 | | | | | 1 | | | | | 0-+--------------+---------------+--------------+--------------+- t=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 */