main.cpp
2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <stdlib.h>
#include <string>
#include <fstream>
#include <algorithm>
#include <stim/biomodels/network.h>
#include <ANN/ANN.h>
#include <boost/tuple/tuple.hpp>
using namespace stim;
//template <typename T>
network<float>* network1;
int main(int argc, char* argv[])
{
if(argc < 4){
std::cout<<"Please specify a ground truth and test case"<<std::endl;
exit(1);
}
float sigma = atof(argv[3]);
stim::network<float> GT;
GT.load_obj(argv[1]);
std::cout<<"Network:"<<std::endl<<std::endl;
std::cout<<GT.str();
std::cout<<"Fiber:"<<std::endl<<std::endl;
stim::fiber<float> f;
f = GT.get_fiber(0);
std::cout<<f.str()<<std::endl;
std::cout<<"Fiber length = "<<f.length()<<std::endl;
std::cout<<"Resampled Fiber:"<<std::endl<<std::endl;
stim::fiber<float> f2;
f2 = f.resample(sigma);
std::cout<<f2.str();
std::cout<<"Fiber length = "<<f2.length()<<std::endl;
std::cout<<"Resampled Network:"<<std::endl<<std::endl;
stim::network<float> resampled_GT;
resampled_GT = GT.resample(sigma);
std::cout<<resampled_GT.str();
std::cout<<"First Fiber from Resampled Network:"<<std::endl<<std::endl;
stim::fiber<float> f3;
f3 = resampled_GT.get_fiber(0);
std::cout<<f3.str();
//stim::fiber<T> f = e.Resample(25.0);
//std::cout<<"resampled fiber length"<<std::endl;
//std::cout<<f.length()<<std::endl;
//std::cout<<"resampled fiber--"<<std::endl;
//std::cout<<f.str()<<std::endl;
/*std::string groundTruth = argv[1];
std::string truthCase = argv[2];
float sigma = atof(argv[3]);
//stim::network<int> network;
boost::tuple< ANNkd_tree*, ANNkd_tree*, stim::network<float>, stim::network<float> > networkKdtree;
networkKdtree = network1->LoadNetworks(groundTruth, truthCase);
std::cout<<networkKdtree.get< 2>().edges_to_str()<<std::endl;
networkKdtree.get< 2>().to_obj();
//networkKdtree.get< 2>()
boost::tuple< float, float > metrics = network1->compareSkeletons(networkKdtree, sigma);
std::cout << "False postive rate is " << metrics.get< 0>() << std::endl;
std::cout << "False negative rate is " << metrics.get< 1>() << std::endl;
*/
}