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

Method PrepareJacobianNormalization

lib/PBA/SparseBundleCU.cpp:979–999  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

977}
978
979void SparseBundleCU::PrepareJacobianNormalization() {
980 if (!_cuVectorSJ.IsValid()) return;
981
982 if ((__jc_store_transpose || __jc_store_original) &&
983 _cuJacobianPoint.IsValid() && !__bundle_current_mode) {
984 CuTexImage null;
985 null.SwapData(_cuVectorSJ);
986 EvaluateJacobians();
987 null.SwapData(_cuVectorSJ);
988 ComputeDiagonal(_cuVectorJJ, _cuVectorSJ);
989 ComputeSQRT(_cuVectorSJ);
990 } else {
991 CuTexImage null;
992 null.SwapData(_cuVectorSJ);
993 EvaluateJacobians();
994 ComputeBlockPC(0, true);
995 null.SwapData(_cuVectorSJ);
996 _cuVectorJJ.SwapData(_cuVectorSJ);
997 ProgramCU::ComputeRSQRT(_cuVectorSJ);
998 }
999}
1000
1001void SparseBundleCU::EvaluateJacobians(bool shuffle) {
1002 if (__no_jacobian_store) return;

Callers

nothing calls this directly

Calls 5

ComputeDiagonalFunction · 0.85
ComputeSQRTFunction · 0.85
ComputeRSQRTFunction · 0.85
SwapDataMethod · 0.80
IsValidMethod · 0.45

Tested by

no test coverage detected