MCPcopy Create free account
hub / github.com/ceres-solver/ceres-solver / LoadFile

Method LoadFile

examples/simple_bundle_adjuster.cc:67–96  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

65 }
66
67 bool LoadFile(const char* filename) {
68 FILE* fptr = fopen(filename, "r");
69 if (fptr == nullptr) {
70 return false;
71 };
72
73 FscanfOrDie(fptr, "%d", &num_cameras_);
74 FscanfOrDie(fptr, "%d", &num_points_);
75 FscanfOrDie(fptr, "%d", &num_observations_);
76
77 point_index_ = new int[num_observations_];
78 camera_index_ = new int[num_observations_];
79 observations_ = new double[2 * num_observations_];
80
81 num_parameters_ = 9 * num_cameras_ + 3 * num_points_;
82 parameters_ = new double[num_parameters_];
83
84 for (int i = 0; i < num_observations_; ++i) {
85 FscanfOrDie(fptr, "%d", camera_index_ + i);
86 FscanfOrDie(fptr, "%d", point_index_ + i);
87 for (int j = 0; j < 2; ++j) {
88 FscanfOrDie(fptr, "%lf", observations_ + 2 * i + j);
89 }
90 }
91
92 for (int i = 0; i < num_parameters_; ++i) {
93 FscanfOrDie(fptr, "%lf", parameters_ + i);
94 }
95 return true;
96 }
97
98 private:
99 template <typename T>

Callers 1

mainFunction · 0.80

Calls 1

FscanfOrDieFunction · 0.85

Tested by

no test coverage detected