8000 Rename RigCalibration to RigCalib by ahojnnes · Pull Request #3142 · colmap/colmap · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Rename RigCalibration to RigCalib #3142

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
8000
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 14 additions & 16 deletions src/colmap/scene/frame.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,10 @@ class Frame {
inline bool HasData(data_t data_id) const;

// Access the rig calibration
inline const std::shared_ptr<class RigCalibration>& RigCalibration() const;
inline void SetRigCalibration(
std::shared_ptr<class RigCalibration> rig_calibration);
inline const std::shared_ptr<class RigCalib>& RigCalib() const;
inline void SetRigCalib(std::shared_ptr<class RigCalib> rig_calib);
// Check if the frame has a non-trivial rig calibration
inline bool HasRigCalibration() const;
inline bool HasRigCalib() const;

// Access the frame from world transformation
inline const Rigid3d& FrameFromWorld() const;
Expand All @@ -112,7 +111,7 @@ class Frame {
std::optional<Rigid3d> frame_from_world_;

// [Optional] Rig calibration
std::shared_ptr<class RigCalibration> rig_calibration_ = nullptr;
std::shared_ptr<class RigCalib> rig_calib_ = nullptr;
};

////////////////////////////////////////////////////////////////////////////////
Expand All @@ -133,20 +132,19 @@ bool Frame::HasData(data_t data_id) const {
return data_ids_.find(data_id) != data_ids_.end();
}

const std::shared_ptr<class RigCalibration>& Frame::RigCalibration() const {
return rig_calibration_;
const std::shared_ptr<class RigCalib>& Frame::RigCalib() const {
return rig_calib_;
}

void Frame::SetRigCalibration(
std::shared_ptr<class RigCalibration> rig_calibration) {
rig_calibration_ = std::move(rig_calibration);
void Frame::SetRigCalib(std::shared_ptr<class RigCalib> rig_calib) {
rig_calib_ = std::move(rig_calib);
}

bool Frame::HasRigCalibration() const {
if (!rig_calibration_)
bool Frame::HasRigCalib() const {
if (!rig_calib_)
return false;
else
return rig_calibration_->NumSensors() > 1;
return rig_calib_->NumSensors() > 1;
}

const Rigid3d& Frame::FrameFromWorld() const {
Expand Down Expand Up @@ -180,11 +178,11 @@ bool Frame::HasPose() const { return frame_from_world_.has_value(); }
void Frame::ResetPose() { frame_from_world_.reset(); }

Rigid3d Frame::SensorFromWorld(sensor_t sensor_id) const {
if (!HasRigCalibration() || rig_calibration_->IsRefSensor(sensor_id)) {
if (!HasRigCalib() || rig_calib_->IsRefSensor(sensor_id)) {
return FrameFromWorld();
}
THROW_CHECK(rig_calibration_->HasSensor(sensor_id));
return rig_calibration_->SensorFromRig(sensor_id) * FrameFromWorld();
THROW_CHECK(rig_calib_->HasSensor(sensor_id));
return rig_calib_->SensorFromRig(sensor_id) * FrameFromWorld();
}

} // namespace colmap
Expand Down
8 changes: 4 additions & 4 deletions src/colmap/scene/frame_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -42,21 +42,21 @@ TEST(Frame, Default) {
Frame frame;
EXPECT_EQ(frame.FrameId(), kInvalidFrameId);
EXPECT_FALSE(frame.HasPose());
EXPECT_FALSE(frame.HasRigCalibration());
EXPECT_FALSE(frame.HasRigCalib());
}

TEST(Frame, SetUp) {
sensor_t s1(SensorType::IMU, 0);
sensor_t s2(SensorType::CAMERA, 0);
std::shared_ptr<RigCalibration> calib = std::make_shared<RigCalibration>();
std::shared_ptr<RigCalib> calib = std::make_shared<RigCalib>();
calib->AddRefSensor(s1);
calib->AddSensor(s2, TestRigid3d());

Frame frame;
frame.AddData(data_t(s1, 2));
frame.AddData(data_t(s2, 5));
frame.SetRigCalibration(calib);
EXPECT_TRUE(frame.HasRigCalibration());
frame.SetRigCalib(calib);
EXPECT_TRUE(frame.HasRigCalib());
EXPECT_FALSE(frame.HasPose());
}

Expand Down
5 changes: 2 additions & 3 deletions src/colmap/scene/image.h
Original file line number Diff line number Diff line change
Expand Up @@ -241,9 +241,8 @@ void Image::SetFrame(std::shared_ptr<class Frame> frame) {

bool Image::HasNonTrivialFrame() const {
THROW_CHECK(frame_) << "Invalid pointer to the corresponding frame";
return frame_->HasRigCalibration() &&
!frame_->RigCalibration()->IsRefSensor(
sensor_t(SensorType::CAMERA, CameraId()));
return frame_->HasRigCalib() && !frame_->RigCalib()->IsRefSensor(
sensor_t(SensorType::CAMERA, CameraId()));
}

Rigid3d Image::ComposeCamFromWorld() const {
Expand Down
6 changes: 3 additions & 3 deletions src/colmap/sensor/rig_calib.cc
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@

namespace colmap {

void RigCalibration::AddRefSensor(sensor_t ref_sensor_id) {
void RigCalib::AddRefSensor(sensor_t ref_sensor_id) {
THROW_CHECK(ref_sensor_id_ == kInvalidSensorId)
<< "Reference sensor already set";
ref_sensor_id_ = ref_sensor_id;
}

void RigCalibration::AddSensor(sensor_t sensor_id,
const std::optional<Rigid3d>& sensor_from_rig) {
void RigCalib::AddSensor(sensor_t sensor_id,
const std::optional<Rigid3d>& sensor_from_rig) {
THROW_CHECK(NumSensors() >= 1)
<< "The reference sensor needs to added first before any "
"sensor being added.";
Expand Down
36 changes: 18 additions & 18 deletions src/colmap/sensor/rig_calib.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,9 @@ constexpr sensor_t kInvalidSensorId =
// the reference frame since it is metric.
// 2) Not having a reference frame brings a 6 DoF Gauge for each rig, which is
// not ideal particularly when it comes to covariance estimation.
class RigCalibration {
class RigCalib {
public:
RigCalibration() = default;
RigCalib() = default;

// Access the unique identifier of the rig
inline rig_t RigId() const;
Expand Down Expand Up @@ -130,28 +130,28 @@ class RigCalibration {
// Implementation
////////////////////////////////////////////////////////////////////////////////

rig_t RigCalibration::RigId() const { return rig_id_; }
rig_t RigCalib::RigId() const { return rig_id_; }

void RigCalibration::SetRigId(rig_t rig_id) { rig_id_ = rig_id; }
void RigCalib::SetRigId(rig_t rig_id) { rig_id_ = rig_id; }

bool RigCalibration::HasSensor(sensor_t sensor_id) const {
bool RigCalib::HasSensor(sensor_t sensor_id) const {
return sensor_id == ref_sensor_id_ ||
sensors_from_rig_.find(sensor_id) != sensors_from_rig_.end();
}

size_t RigCalibration::NumSensors() const {
size_t RigCalib::NumSensors() const {
size_t n_sensors = sensors_from_rig_.size();
if (ref_sensor_id_ != kInvalidSensorId) n_sensors += 1;
return n_sensors;
}

sensor_t RigCalibration::RefSensorId() const { return ref_sensor_id_; }
sensor_t RigCalib::RefSensorId() const { return ref_sensor_id_; }

bool RigCalibration::IsRefSensor(sensor_t sensor_id) const {
bool RigCalib::IsRefSensor(sensor_t sensor_id) const {
return sensor_id == ref_sensor_id_;
}

Rigid3d& RigCalibration::SensorFromRig(sensor_t sensor_id) {
Rigid3d& RigCalib::SensorFromRig(sensor_t sensor_id) {
THROW_CHECK(!IsRefSensor(sensor_id))
<< "No reference is available for the SensorFromRig transformation of "
"the reference sensor, which is identity";
Expand All @@ -165,7 +165,7 @@ Rigid3d& RigCalibration::SensorFromRig(sensor_t sensor_id) {
return *sensors_from_rig_.at(sensor_id);
}

const Rigid3d& RigCalibration::SensorFromRig(sensor_t sensor_id) const {
const Rigid3d& RigCalib::SensorFromRig(sensor_t sensor_id) const {
THROW_CHECK(!IsRefSensor(sensor_id))
<< "No reference is available for the SensorFromRig transformation of "
"the reference sensor, which is identity";
Expand All @@ -179,7 +179,7 @@ const Rigid3d& RigCalibration::SensorFromRig(sensor_t sensor_id) const {
return *sensors_from_rig_.at(sensor_id);
}

std::optional<Rigid3d>& RigCalibration::MaybeSensorFromRig(sensor_t sensor_id) {
std::optional<Rigid3d>& RigCalib::MaybeSensorFromRig(sensor_t sensor_id) {
THROW_CHECK(!IsRefSensor(sensor_id))
<< "No reference is available for the SensorFromRig transformation of "
"the reference sensor, which is identity";
Expand All @@ -191,7 +191,7 @@ std::optional<Rigid3d>& RigCalibration::MaybeSensorFromRig(sensor_t sensor_id) {
return sensors_from_rig_.at(sensor_id);
}

const std::optional<Rigid3d>& RigCalibration::MaybeSensorFromRig(
const std::optional<Rigid3d>& RigCalib::MaybeSensorFromRig(
sensor_t sensor_id) const {
THROW_CHECK(!IsRefSensor(sensor_id))
<< "No reference is available for the SensorFromRig transformation of "
Expand All @@ -204,8 +204,8 @@ const std::optional<Rigid3d>& RigCalibration::MaybeSensorFromRig(
return sensors_from_rig_.at(sensor_id);
}

void RigCalibration::SetSensorFromRig(sensor_t sensor_id,
const Rigid3d& sensor_from_rig) {
void RigCalib::SetSensorFromRig(sensor_t sensor_id,
const Rigid3d& sensor_from_rig) {
THROW_CHECK(!IsRefSensor(sensor_id))
<< "Cannot set the SensorFromRig transformation of the reference sensor, "
"which is fixed to identity";
Expand All @@ -217,8 +217,8 @@ void RigCalibration::SetSensorFromRig(sensor_t sensor_id,
sensors_from_rig_.at(sensor_id) = sensor_from_rig;
}

void RigCalibration::SetSensorFromRig(
sensor_t sensor_id, const std::optional<Rigid3d>& sensor_from_rig) {
void RigCalib::SetSensorFromRig(sensor_t sensor_id,
const std::optional<Rigid3d>& sensor_from_rig) {
THROW_CHECK(!IsRefSensor(sensor_id))
<< "Cannot set the SensorFromRig transformation of the reference sensor, "
"which is fixed to identity";
Expand All @@ -230,7 +230,7 @@ void RigCalibration::SetSensorFromRig(
sensors_from_rig_.at(sensor_id) = sensor_from_rig;
}

bool RigCalibration::HasSensorFromRig(sensor_t sensor_id) const {
bool RigCalib::HasSensorFromRig(sensor_t sensor_id) const {
if (IsRefSensor(sensor_id))
return true; // SensorFromRig for the reference sensor is always identity
if (sensors_from_rig_.find(sensor_id) == sensors_from_rig_.end())
Expand All @@ -241,7 +241,7 @@ bool RigCalibration::HasSensorFromRig(sensor_t sensor_id) const {
return sensors_from_rig_.at(sensor_id).has_value();
}

void RigCalibration::ResetSensorFromRig(sensor_t sensor_id) {
void RigCalib::ResetSensorFromRig(sensor_t sensor_id) {
THROW_CHECK(!IsRefSensor(sensor_id))
<< "Cannot reset the SensorFromRig transformation of the reference "
"sensor, "
Expand Down
8 changes: 4 additions & 4 deletions src/colmap/sensor/rig_calib_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ Rigid3d TestRigid3d() {
return Rigid3d(Eigen::Quaterniond::UnitRandom(), Eigen::Vector3d::Random());
}

TEST(RigCalibration, Default) {
RigCalibration calib;
TEST(RigCalib, Default) {
RigCalib calib;
EXPECT_EQ(calib.RigId(), kInvalidRigId);
EXPECT_EQ(calib.RefSensorId(), kInvalidSensorId);
EXPECT_EQ(calib.NumSensors(), 0);
}

TEST(RigCalibration, SetUp) {
RigCalibration calib;
TEST(RigCalib, SetUp) {
RigCalib calib;
calib.AddRefSensor(sensor_t(SensorType::IMU, 0));
calib.AddSensor(sensor_t(SensorType::IMU, 1), TestRigid3d());
calib.AddSensor(sensor_t(SensorType::CAMERA, 0), TestRigid3d());
Expand Down
Loading
0