Commit ed5edb3e0ba5c17b1264b18726bb749b46b70c65

Authored by pranathivemuri
1 parent c4dba76e

added function to compare two networks and give a netmets metric

Showing 1 changed file with 16 additions and 58 deletions   Show diff stats
@@ -19,63 +19,21 @@ int main(int argc, char* argv[]) @@ -19,63 +19,21 @@ int main(int argc, char* argv[])
19 } 19 }
20 20
21 float sigma = atof(argv[3]); 21 float sigma = atof(argv[3]);
22 -  
23 - stim::network<float> GT; 22 + stim::network<float> GT;stim::network<float> T;
  23 + // load obj files to 3D network class
24 GT.load_obj(argv[1]); 24 GT.load_obj(argv[1]);
25 -  
26 -  
27 -  
28 -  
29 -  
30 -  
31 -  
32 -  
33 -  
34 -  
35 - std::cout<<"Network:"<<std::endl<<std::endl;  
36 - std::cout<<GT.str();  
37 -  
38 - std::cout<<"Fiber:"<<std::endl<<std::endl;  
39 - stim::fiber<float> f;  
40 - f = GT.get_fiber(0);  
41 - std::cout<<f.str()<<std::endl;  
42 - std::cout<<"Fiber length = "<<f.length()<<std::endl;  
43 -  
44 - std::cout<<"Resampled Fiber:"<<std::endl<<std::endl;  
45 - stim::fiber<float> f2;  
46 - f2 = f.resample(sigma);  
47 - std::cout<<f2.str();  
48 - std::cout<<"Fiber length = "<<f2.length()<<std::endl;  
49 -  
50 - std::cout<<"Resampled Network:"<<std::endl<<std::endl;  
51 - stim::network<float> resampled_GT; 25 + T.load_obj(argv[2]);
  26 + //std::cout<<"ground truth------"<<GT.str()<<std::endl;
  27 + //std::cout<<"truth-----------"<<T.str()<<std::endl;
  28 + // resample the loaded networks
  29 + stim::network<float> resampled_GT;stim::network<float> resampled_T;
52 resampled_GT = GT.resample(sigma); 30 resampled_GT = GT.resample(sigma);
53 - std::cout<<resampled_GT.str();  
54 -  
55 - std::cout<<"First Fiber from Resampled Network:"<<std::endl<<std::endl;  
56 - stim::fiber<float> f3;  
57 - f3 = resampled_GT.get_fiber(0);  
58 - std::cout<<f3.str();  
59 -  
60 - //stim::fiber<T> f = e.Resample(25.0);  
61 - //std::cout<<"resampled fiber length"<<std::endl;  
62 - //std::cout<<f.length()<<std::endl;  
63 - //std::cout<<"resampled fiber--"<<std::endl;  
64 - //std::cout<<f.str()<<std::endl;  
65 -  
66 -  
67 - /*std::string groundTruth = argv[1];  
68 - std::string truthCase = argv[2];  
69 - float sigma = atof(argv[3]);  
70 -  
71 - //stim::network<int> network;  
72 - boost::tuple< ANNkd_tree*, ANNkd_tree*, stim::network<float>, stim::network<float> > networkKdtree;  
73 - networkKdtree = network1->LoadNetworks(groundTruth, truthCase);  
74 - std::cout<<networkKdtree.get< 2>().edges_to_str()<<std::endl;  
75 - networkKdtree.get< 2>().to_obj();  
76 - //networkKdtree.get< 2>()  
77 - boost::tuple< float, float > metrics = network1->compareSkeletons(networkKdtree, sigma);  
78 - std::cout << "False postive rate is " << metrics.get< 0>() << std::endl;  
79 - std::cout << "False negative rate is " << metrics.get< 1>() << std::endl;  
80 - */  
81 -} 31 + resampled_T = T.resample(sigma);
  32 + // compare ground truth with truth and viceversa
  33 + float gFPR, gFNR;
  34 + gFPR = GT.compare(T, sigma);
  35 + gFNR = T.compare(GT, sigma);
  36 + // print false alarms and misses
  37 + std::cout << "False postive rate is " << gFPR << std::endl;
  38 + std::cout << "False negative rate is " << gFNR << std::endl;
  39 +}
82 \ No newline at end of file 40 \ No newline at end of file