MCPcopy Create free account
hub / github.com/colmap/colmap / CreateTestDatabase

Function CreateTestDatabase

src/colmap/scene/database_cache_test.cc:41–115  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39namespace {
40
41std::shared_ptr<Database> CreateTestDatabase() {
42 auto database = Database::Open(kInMemorySqliteDatabasePath);
43
44 Camera camera1 = Camera::CreateFromModelId(
45 kInvalidCameraId, SimplePinholeCameraModel::model_id, 1, 1, 1);
46 camera1.camera_id = database->WriteCamera(camera1);
47 Camera camera2 = Camera::CreateFromModelId(
48 kInvalidCameraId, SimplePinholeCameraModel::model_id, 2, 2, 2);
49 camera2.camera_id = database->WriteCamera(camera2);
50
51 Rig rig;
52 rig.AddRefSensor(camera1.SensorId());
53 rig.AddSensor(camera2.SensorId());
54 const rig_t rig_id = database->WriteRig(rig);
55
56 Image image1;
57 image1.SetName("image1");
58 image1.SetCameraId(camera1.camera_id);
59 image1.SetImageId(database->WriteImage(image1));
60 Image image2;
61 image2.SetName("image2");
62 image2.SetCameraId(camera2.camera_id);
63 image2.SetImageId(database->WriteImage(image2));
64 Image image3;
65 image3.SetName("image3");
66 image3.SetCameraId(camera1.camera_id);
67 image3.SetImageId(database->WriteImage(image3));
68 Image image4;
69 image4.SetName("image4");
70 image4.SetCameraId(camera2.camera_id);
71 image4.SetImageId(database->WriteImage(image4));
72
73 PosePrior pose_prior1;
74 pose_prior1.corr_data_id = image1.DataId();
75 pose_prior1.position = Eigen::Vector3d::Random();
76 pose_prior1.pose_prior_id = database->WritePosePrior(pose_prior1);
77 PosePrior pose_prior2;
78 pose_prior1.corr_data_id = image2.DataId();
79 pose_prior2.position = Eigen::Vector3d::Random();
80 pose_prior2.pose_prior_id = database->WritePosePrior(pose_prior2);
81
82 Frame frame1;
83 frame1.SetRigId(rig_id);
84 frame1.AddDataId(image1.DataId());
85 frame1.AddDataId(image2.DataId());
86 frame1.SetFrameId(database->WriteFrame(frame1));
87 Frame frame2;
88 frame2.SetRigId(rig_id);
89 frame2.AddDataId(image3.DataId());
90 frame2.AddDataId(image4.DataId());
91 frame2.SetFrameId(database->WriteFrame(frame2));
92
93 database->WriteKeypoints(image1.ImageId(), FeatureKeypoints(10));
94 database->WriteKeypoints(image2.ImageId(), FeatureKeypoints(5));
95 database->WriteKeypoints(image3.ImageId(), FeatureKeypoints(6));
96 database->WriteKeypoints(image4.ImageId(), FeatureKeypoints(3));
97
98 TwoViewGeometry two_view_geometry;

Callers 1

TESTFunction · 0.70

Calls 15

Rigid3dClass · 0.85
AddRefSensorMethod · 0.80
SensorIdMethod · 0.80
AddSensorMethod · 0.80
SetNameMethod · 0.80
SetCameraIdMethod · 0.80
SetImageIdMethod · 0.80
DataIdMethod · 0.80
AddDataIdMethod · 0.80
ImageIdMethod · 0.80
WriteCameraMethod · 0.45
WriteRigMethod · 0.45

Tested by

no test coverage detected