Lines Matching refs:dH
422 static inline float sacLMGain (const float* dH,
434 float* dH);
437 const float* dH);
2092 float dH[8], newH[8];
2115 * the solution x becomes a step (dH) that is applied to best.H in
2121 * transpose) then multiply Jte in order to find dH.
2128 sacTRISolve8x8(lm.tmp1, lm.Jte, dH);
2129 sacSub8x1 (newH, best.H, dH);
2132 gain = sacLMGain(dH, lm.Jte, S, newS, L);
2139 * the current state and accept the new step dH.
2321 * Compute the Levenberg-Marquardt "gain" obtained by the given step dH.
2326 static inline float sacLMGain(const float* dH,
2337 dL += dH[i]*dH[i];
2343 dL += dH[i]*Jte[i];/* += as opposed to -=, since dH we compute is
2613 * Solves dH = inv(JtJ) Jte. The argument lower-triangular matrix is the
2623 * dH = ((JtJ)^-1) (Jte)
2627 * triangular 8x8 and dH is 8x1.
2632 float* dH){
2645 dH[0] = L[0][0]*t[0]+L[1][0]*t[1]+L[2][0]*t[2]+L[3][0]*t[3]+L[4][0]*t[4]+L[5][0]*t[5]+L[6][0]*t[6]+L[7][0]*t[7];
2646 dH[1] = L[1][1]*t[1]+L[2][1]*t[2]+L[3][1]*t[3]+L[4][1]*t[4]+L[5][1]*t[5]+L[6][1]*t[6]+L[7][1]*t[7];
2647 dH[2] = L[2][2]*t[2]+L[3][2]*t[3]+L[4][2]*t[4]+L[5][2]*t[5]+L[6][2]*t[6]+L[7][2]*t[7];
2648 dH[3] = L[3][3]*t[3]+L[4][3]*t[4]+L[5][3]*t[5]+L[6][3]*t[6]+L[7][3]*t[7];
2649 dH[4] = L[4][4]*t[4]+L[5][4]*t[5]+L[6][4]*t[6]+L[7][4]*t[7];
2650 dH[5] = L[5][5]*t[5]+L[6][5]*t[6]+L[7][5]*t[7];
2651 dH[6] = L[6][6]*t[6]+L[7][6]*t[7];
2652 dH[7] = L[7][7]*t[7];
2657 * Subtract dH from H.
2660 static inline void sacSub8x1(float* Hout, const float* H, const float* dH){
2661 Hout[0] = H[0] - dH[0];
2662 Hout[1] = H[1] - dH[1];
2663 Hout[2] = H[2] - dH[2];
2664 Hout[3] = H[3] - dH[3];
2665 Hout[4] = H[4] - dH[4];
2666 Hout[5] = H[5] - dH[5];
2667 Hout[6] = H[6] - dH[6];
2668 Hout[7] = H[7] - dH[7];