MCPcopy Create free account
hub / github.com/XiaoBaiiiiii/colmap-pcd / ComputeBlockPC

Method ComputeBlockPC

lib/PBA/SparseBundleCU.cpp:1104–1131  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1102}
1103
1104void SparseBundleCU::ComputeBlockPC(float lambda, bool dampd) {
1105 ConfigBA::TimerBA timer(this, TIMER_FUNCTION_BC, true);
1106
1107 bool use_diagonal_q = _cuCameraQListW.IsValid() && __bundle_current_mode != 2;
1108 if (use_diagonal_q)
1109 ComputeDiagonalQ(_cuCameraQListW, _cuVectorSJ, _cuVectorJJ);
1110
1111 if (__no_jacobian_store || (!__jc_store_original && !__jc_store_transpose)) {
1112 ComputeDiagonalBlock_(
1113 lambda, dampd, _cuCameraData, _cuPointData, _cuMeasurements,
1114 _cuCameraMeasurementMap, _cuCameraMeasurementList,
1115 _cuPointMeasurementMap, _cuProjectionMap, _cuJacobianPoint, _cuVectorSJ,
1116 _cuVectorJJ, _cuBlockPC, __fixed_intrinsics, __use_radial_distortion,
1117 use_diagonal_q, __bundle_current_mode);
1118 } else if (__jc_store_transpose) {
1119 ComputeDiagonalBlock(lambda, dampd, _cuJacobianCameraT,
1120 _cuCameraMeasurementMap, _cuJacobianPoint,
1121 _cuPointMeasurementMap, _cuCameraMeasurementList,
1122 _cuVectorJJ, _cuBlockPC, __use_radial_distortion, true,
1123 use_diagonal_q, __bundle_current_mode);
1124 } else {
1125 ComputeDiagonalBlock(lambda, dampd, _cuJacobianCamera,
1126 _cuCameraMeasurementMap, _cuJacobianPoint,
1127 _cuPointMeasurementMap, _cuCameraMeasurementList,
1128 _cuVectorJJ, _cuBlockPC, __use_radial_distortion,
1129 false, use_diagonal_q, __bundle_current_mode);
1130 }
1131}
1132
1133void SparseBundleCU::ApplyBlockPC(CuTexImage& v, CuTexImage& pv, int mode) {
1134 ConfigBA::TimerBA timer(this, TIMER_FUNCTION_MP, true);

Callers

nothing calls this directly

Calls 3

ComputeDiagonalBlock_Function · 0.85
ComputeDiagonalBlockFunction · 0.85
IsValidMethod · 0.45

Tested by

no test coverage detected