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

Method PrepareJacobianNormalization

lib/PBA/SparseBundleCPU.cpp:2992–3012  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2990///////////////////////////////////////////////////
2991template <class Float>
2992void SparseBundleCPU<Float>::PrepareJacobianNormalization() {
2993 if (!_cuVectorSJ.size()) return;
2994
2995 if ((__jc_store_transpose || __jc_store_original) &&
2996 _cuJacobianPoint.size() && !__bundle_current_mode) {
2997 VectorF null;
2998 null.swap(_cuVectorSJ);
2999 EvaluateJacobians();
3000 null.swap(_cuVectorSJ);
3001 ComputeDiagonal(_cuVectorSJ);
3002 ComputeSQRT(_cuVectorSJ);
3003 } else {
3004 VectorF null;
3005 null.swap(_cuVectorSJ);
3006 EvaluateJacobians();
3007 ComputeBlockPC(0, true);
3008 null.swap(_cuVectorSJ);
3009 _cuVectorJJ.swap(_cuVectorSJ);
3010 ComputeRSQRT(_cuVectorSJ);
3011 }
3012}
3013
3014template <class Float>
3015void SparseBundleCPU<Float>::EvaluateJacobians() {

Callers

nothing calls this directly

Calls 5

ComputeDiagonalFunction · 0.85
ComputeSQRTFunction · 0.85
ComputeRSQRTFunction · 0.85
swapMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected