Skip to content

Commit

Permalink
[sfm] Optimize EquiDistant cost evaluation code by reducing copying
Browse files Browse the repository at this point in the history
Cost evaluation code initializes a new std::vector as a temporary during
cost copying. This can be improved by storing data in-place.
  • Loading branch information
p12tic committed Oct 20, 2022
1 parent 61fc3a9 commit 6ab265d
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/aliceVision/sfm/BundleAdjustmentPanoramaCeres.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ class CostEquiDistant : public ceres::SizedCostFunction<2, 9, 9, 7> {

_intrinsic->setScale({parameter_intrinsics[0], parameter_intrinsics[1]});
_intrinsic->setOffset({parameter_intrinsics[2], parameter_intrinsics[3]});
_intrinsic->setDistortionParams({parameter_intrinsics[4], parameter_intrinsics[5], parameter_intrinsics[6]});
_intrinsic->setDistortionParamsFn(3, [&](auto index) { return parameter_intrinsics[4 + index]; });

Eigen::Matrix3d R = jRo * iRo.transpose();
geometry::Pose3 T(R, Vec3({0,0,0}));
Expand Down

0 comments on commit 6ab265d

Please sign in to comment.