![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Classes | |
| struct | ComputeSAXPY_STRUCT |
| struct | ComputeSAXPY_FUNCTOR |
| struct | ComputeVectorNorm_STRUCT |
| struct | ComputeVectorNorm_FUNCTOR |
| struct | ComputeProjection_STRUCT |
| struct | ComputeProjection_FUNCTOR |
| struct | ComputeProjectionX_STRUCT |
| struct | ComputeProjectionX_FUNCTOR |
| struct | ComputeJacobian_STRUCT |
| struct | ComputeJacobian_FUNCTOR |
| struct | ComputeDiagonalBlockC_STRUCT |
| struct | ComputeDiagonalBlockC_FUNCTOR |
| struct | ComputeDiagonalBlockP_STRUCT |
| struct | ComputeDiagonalBlockP_FUNCTOR |
| struct | MultiplyBlockConditionerC_STRUCT |
| struct | MultiplyBlockConditionerC_FUNCTOR |
| struct | MultiplyBlockConditionerP_STRUCT |
| struct | MultiplyBlockConditionerP_FUNCTOR |
| struct | ComputeJX_STRUCT |
| struct | ComputeJX_FUNCTOR |
| struct | ComputeJX__STRUCT |
| struct | ComputeJX__FUNCTOR |
| struct | ComputeJtEC_STRUCT |
| struct | ComputeJtEC_FUNCTOR |
| struct | ComputeJtEP_STRUCT |
| struct | ComputeJtEP_FUNCTOR |
| struct | ComputeJtEC__STRUCT |
| struct | ComputeJtEC__FUNCTOR |
Functions | |
| template<class Float > | |
| double | ComputeVectorNorm (const avec< Float > &vec, int mt=0) |
| template<class Float > | |
| void | ComputeSQRT (avec< Float > &vec) |
| template<class Float > | |
| void | ComputeRSQRT (avec< Float > &vec) |
| template<class Float > | |
| void | SetVectorZero (Float *p, Float *pe) |
| template<class Float > | |
| void | SetVectorZero (avec< Float > &vec) |
| template<class Float > | |
| void | MemoryCopyA (const Float *p, const Float *pe, Float *d) |
| template<class Float > | |
| double | ComputeVectorNormW (const avec< Float > &vec, const avec< Float > &weight) |
| template<class Float > | |
| double | ComputeVectorDot (const avec< Float > &vec1, const avec< Float > &vec2) |
| template<class Float > | |
| void | ComputeVectorNorm (const Float *p, const Float *pe, double *psum) |
| template<class Float > | |
| void | ComputeVXY (const avec< Float > &vec1, const avec< Float > &vec2, avec< Float > &result, size_t part=0, size_t skip=0) |
| template<class Float > | |
| void | ScaleJ8 (Float *jcx, Float *jcy, const Float *sj) |
| template<class Float > | |
| void | AddScaledVec8 (Float a, const Float *x, Float *v) |
| template<class Float > | |
| void | ComputeSAX (Float a, const avec< Float > &vec1, avec< Float > &result) |
| template<class Float > | |
| void | ComputeSXYPZ (Float a, const Float *p1, const Float *p2, const Float *p3, Float *p4, Float *pe) |
| template<class Float > | |
| void | ComputeSAXPY (Float a, const Float *it1, const Float *it2, Float *it3, Float *ite) |
| template<class Float > | |
| void | AddBlockJtJ (const Float *jc, Float *block, int vn) |
| template<class Float > | |
| void | MemoryCopyB (const Float *p, const Float *pe, Float *d) |
| template<class Float > | |
| Float | DotProduct8 (const Float *v1, const Float *v2) |
| template<class Float > | |
| void | ComputeTwoJX (const Float *jc, const Float *jp, const Float *xc, const Float *xp, Float *jx) |
| template<class Float > | |
| Float | ComputeVectorMax (const avec< Float > &vec) |
| template<class Float > | |
| void | ComputeSXYPZ (Float a, const avec< Float > &vec1, const avec< Float > &vec2, const avec< Float > &vec3, avec< Float > &result) |
| template<class Float > | |
| void * | ComputeSAXPY_PROC (ComputeSAXPY_STRUCT< Float > *q) |
| template<class Float > | |
| void | ComputeSAXPY (Float a, const avec< Float > &vec1, const avec< Float > &vec2, avec< Float > &result, int mt=0) |
| template<class Float > | |
| void * | ComputeVectorNorm_PROC (ComputeVectorNorm_STRUCT< Float > *q) |
| template<class Float > | |
| void | GetRodriguesRotation (const Float m[3][3], Float r[3]) |
| template<class Float > | |
| void | UncompressRodriguesRotation (const Float r[3], Float m[]) |
| template<class Float > | |
| void | UpdateCamera (int ncam, const avec< Float > &camera, const avec< Float > &delta, avec< Float > &new_camera) |
| template<class Float > | |
| void | UpdateCameraPoint (int ncam, const avec< Float > &camera, const avec< Float > &point, avec< Float > &delta, avec< Float > &new_camera, avec< Float > &new_point, int mode, int mt) |
| template<class Float > | |
| void | ComputeProjection (size_t nproj, const Float *camera, const Float *point, const Float *ms, const int *jmap, Float *pj, int radial, int mt) |
| template<class Float > | |
| void * | ComputeProjection_PROC (ComputeProjection_STRUCT< Float > *q) |
| template<class Float > | |
| void | ComputeProjectionX (size_t nproj, const Float *camera, const Float *point, const Float *ms, const int *jmap, Float *pj, int radial, int mt) |
| template<class Float > | |
| void * | ComputeProjectionX_PROC (ComputeProjectionX_STRUCT< Float > *q) |
| template<class Float > | |
| void | ComputeProjectionQ (size_t nq, const Float *camera, const int *qmap, const Float *wq, Float *pj) |
| template<class Float > | |
| void | ComputeJQX (size_t nq, const Float *x, const int *qmap, const Float *wq, const Float *sj, Float *jx) |
| template<class Float > | |
| void | ComputeJQtEC (size_t ncam, const Float *pe, const int *qlist, const Float *wq, const Float *sj, Float *v) |
| template<class Float > | |
| void | JacobianOne (const Float *c, const Float *pt, const Float *ms, Float *jxc, Float *jyc, Float *jxp, Float *jyp, bool intrinsic_fixed, int radial_distortion) |
| template<class Float > | |
| void | ComputeJacobian (size_t nproj, size_t ncam, const Float *camera, const Float *point, Float *jc, Float *jp, const int *jmap, const Float *sj, const Float *ms, const int *cmlist, bool intrinsic_fixed, int radial_distortion, bool shuffle, Float *jct, int mt=2, int i0=0) |
| template<class Float > | |
| void * | ComputeJacobian_PROC (ComputeJacobian_STRUCT< Float > *q) |
| template<class Float > | |
| void | ComputeDiagonalAddQ (size_t ncam, const Float *qw, Float *d, const Float *sj=NULL) |
| template<class Float > | |
| void | ComputeDiagonal (const avec< Float > &jcv, const vector< int > &cmapv, const avec< Float > &jpv, const vector< int > &pmapv, const vector< int > &cmlistv, const Float *qw0, avec< Float > &jtjdi, bool jc_transpose, int radial) |
| template<class T , int n, int m> | |
| void | InvertSymmetricMatrix (T a[n][m], T ai[n][m]) |
| template<class T , int n, int m> | |
| void | InvertSymmetricMatrix (T *a, T *ai) |
| template<class Float > | |
| void | ComputeDiagonalBlockC (size_t ncam, float lambda1, float lambda2, const Float *jc, const int *cmap, const int *cmlist, Float *di, Float *bi, int vn, bool jc_transpose, bool use_jq, int mt) |
| template<class Float > | |
| void * | ComputeDiagonalBlockC_PROC (ComputeDiagonalBlockC_STRUCT< Float > *q) |
| template<class Float > | |
| void | ComputeDiagonalBlockP (size_t npt, float lambda1, float lambda2, const Float *jp, const int *pmap, Float *di, Float *bi, int mt) |
| template<class Float > | |
| void * | ComputeDiagonalBlockP_PROC (ComputeDiagonalBlockP_STRUCT< Float > *q) |
| template<class Float > | |
| void | ComputeDiagonalBlock (size_t ncam, size_t npts, float lambda, bool dampd, const Float *jc, const int *cmap, const Float *jp, const int *pmap, const int *cmlist, const Float *sj, const Float *wq, Float *diag, Float *blocks, int radial_distortion, bool jc_transpose, int mt1=2, int mt2=2, int mode=0) |
| template<class Float > | |
| void | ComputeDiagonalBlock_ (float lambda, bool dampd, const avec< Float > &camerav, const avec< Float > &pointv, const avec< Float > &meas, const vector< int > &jmapv, const avec< Float > &sjv, avec< Float > &qwv, avec< Float > &diag, avec< Float > &blocks, bool intrinsic_fixed, int radial_distortion, int mode=0) |
| template<class Float > | |
| void | MultiplyBlockConditionerC (int ncam, const Float *bi, const Float *x, Float *vx, int vn, int mt=0) |
| template<class Float > | |
| void * | MultiplyBlockConditionerC_PROC (MultiplyBlockConditionerC_STRUCT< Float > *q) |
| template<class Float > | |
| void | MultiplyBlockConditionerP (int npoint, const Float *bi, const Float *x, Float *vx, int mt=0) |
| template<class Float > | |
| void * | MultiplyBlockConditionerP_PROC (MultiplyBlockConditionerP_STRUCT< Float > *q) |
| template<class Float > | |
| void | MultiplyBlockConditioner (int ncam, int npoint, const Float *blocksv, const Float *vec, Float *resultv, int radial, int mode, int mt1, int mt2) |
| template<class Float > | |
| void | ComputeJX (size_t nproj, size_t ncam, const Float *x, const Float *jc, const Float *jp, const int *jmap, Float *jx, int mode, int mt=2) |
| template<class Float > | |
| void * | ComputeJX_PROC (ComputeJX_STRUCT< Float > *q) |
| template<class Float > | |
| void | ComputeJX_ (size_t nproj, size_t ncam, const Float *x, Float *jx, const Float *camera, const Float *point, const Float *ms, const Float *sj, const int *jmap, bool intrinsic_fixed, int radial_distortion, int mode, int mt=16) |
| template<class Float > | |
| void * | ComputeJX__PROC (ComputeJX__STRUCT< Float > *q) |
| template<class Float > | |
| void | ComputeJtEC (size_t ncam, const Float *pe, const Float *jc, const int *cmap, const int *cmlist, Float *v, bool jc_transpose, int mt) |
| template<class Float > | |
| void * | ComputeJtEC_PROC (ComputeJtEC_STRUCT< Float > *q) |
| template<class Float > | |
| void | ComputeJtEP (size_t npt, const Float *pe, const Float *jp, const int *pmap, Float *v, int mt) |
| template<class Float > | |
| void * | ComputeJtEP_PROC (ComputeJtEP_STRUCT< Float > *q) |
| template<class Float > | |
| void | ComputeJtE (size_t ncam, size_t npt, const Float *pe, const Float *jc, const int *cmap, const int *cmlist, const Float *jp, const int *pmap, Float *v, bool jc_transpose, int mode, int mt1, int mt2) |
| template<class Float > | |
| void | ComputeJtEC_ (size_t ncam, const Float *ee, Float *jte, const Float *c, const Float *point, const Float *ms, const int *jmap, const int *cmap, const int *cmlist, bool intrinsic_fixed, int radial_distortion, int mt) |
| template<class Float > | |
| void * | ComputeJtEC__PROC (ComputeJtEC__STRUCT< Float > *q) |
| template<class Float > | |
| void | ComputeJtE_ (size_t nproj, size_t ncam, size_t npt, const Float *ee, Float *jte, const Float *camera, const Float *point, const Float *ms, const int *jmap, const int *cmap, const int *cmlist, const int *pmap, const Float *jp, bool intrinsic_fixed, int radial_distortion, int mode, int mt) |
| template<class Float > | |
| void | ComputeJtE_ (size_t nproj, size_t ncam, size_t npt, const Float *ee, Float *jte, const Float *camera, const Float *point, const Float *ms, const int *jmap, bool intrinsic_fixed, int radial_distortion, int mode) |
Variables | |
| int | __num_cpu_cores = 0 |
| void pba::ProgramCPU::AddBlockJtJ | ( | const Float * | jc, |
| Float * | block, | ||
| int | vn | ||
| ) |
Definition at line 856 of file SparseBundleCPU.cpp.
Referenced by ComputeDiagonalBlock_(), and ComputeDiagonalBlockC().
|
inline |
Definition at line 823 of file SparseBundleCPU.cpp.
Referenced by ComputeJtE_(), ComputeJtEC(), and ComputeJtEC_().
| void pba::ProgramCPU::ComputeDiagonal | ( | const avec< Float > & | jcv, |
| const vector< int > & | cmapv, | ||
| const avec< Float > & | jpv, | ||
| const vector< int > & | pmapv, | ||
| const vector< int > & | cmlistv, | ||
| const Float * | qw0, | ||
| avec< Float > & | jtjdi, | ||
| bool | jc_transpose, | ||
| int | radial | ||
| ) |
Definition at line 1596 of file SparseBundleCPU.cpp.
References pba::avec< Float >::begin(), pba::avec< Float >::end(), POINT_ALIGN, POINT_ALIGN2, SetVectorZero(), and pba::avec< Float >::size().
Referenced by pba::SparseBundleCPU< Float >::ComputeDiagonal(), pba::SparseBundleCPU< Float >::PrepareJacobianNormalization(), and pba::SparseBundleCPU< Float >::RunProfileSteps().
| void pba::ProgramCPU::ComputeDiagonalAddQ | ( | size_t | ncam, |
| const Float * | qw, | ||
| Float * | d, | ||
| const Float * | sj = NULL |
||
| ) |
Definition at line 1575 of file SparseBundleCPU.cpp.
Referenced by ComputeDiagonalBlock().
| void pba::ProgramCPU::ComputeDiagonalBlock | ( | size_t | ncam, |
| size_t | npts, | ||
| float | lambda, | ||
| bool | dampd, | ||
| const Float * | jc, | ||
| const int * | cmap, | ||
| const Float * | jp, | ||
| const int * | pmap, | ||
| const int * | cmlist, | ||
| const Float * | sj, | ||
| const Float * | wq, | ||
| Float * | diag, | ||
| Float * | blocks, | ||
| int | radial_distortion, | ||
| bool | jc_transpose, | ||
| int | mt1 = 2, |
||
| int | mt2 = 2, |
||
| int | mode = 0 |
||
| ) |
Definition at line 1849 of file SparseBundleCPU.cpp.
References ComputeDiagonalAddQ(), ComputeDiagonalBlockC(), ComputeDiagonalBlockP(), NULL, POINT_ALIGN, and SetVectorZero().
Referenced by pba::SparseBundleCPU< Float >::ComputeBlockPC().
| void pba::ProgramCPU::ComputeDiagonalBlock_ | ( | float | lambda, |
| bool | dampd, | ||
| const avec< Float > & | camerav, | ||
| const avec< Float > & | pointv, | ||
| const avec< Float > & | meas, | ||
| const vector< int > & | jmapv, | ||
| const avec< Float > & | sjv, | ||
| avec< Float > & | qwv, | ||
| avec< Float > & | diag, | ||
| avec< Float > & | blocks, | ||
| bool | intrinsic_fixed, | ||
| int | radial_distortion, | ||
| int | mode = 0 |
||
| ) |
invert the camera part
Definition at line 1901 of file SparseBundleCPU.cpp.
References AddBlockJtJ(), ALIGN_PTR, pba::avec< Float >::begin(), JacobianOne(), NULL, POINT_ALIGN, ScaleJ8(), SetVectorZero(), and pba::avec< Float >::size().
Referenced by pba::SparseBundleCPU< Float >::ComputeBlockPC().
| void pba::ProgramCPU::ComputeDiagonalBlockC | ( | size_t | ncam, |
| float | lambda1, | ||
| float | lambda2, | ||
| const Float * | jc, | ||
| const int * | cmap, | ||
| const int * | cmlist, | ||
| Float * | di, | ||
| Float * | bi, | ||
| int | vn, | ||
| bool | jc_transpose, | ||
| bool | use_jq, | ||
| int | mt | ||
| ) |
Definition at line 1706 of file SparseBundleCPU.cpp.
References AddBlockJtJ(), ALIGN_PTR, min(), MYTHREAD, RUN_THREAD, SetVectorZero(), THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by ComputeDiagonalBlock().
| void* pba::ProgramCPU::ComputeDiagonalBlockC_PROC | ( | ComputeDiagonalBlockC_STRUCT< Float > * | q | ) |
Definition at line 1699 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::ComputeDiagonalBlockP | ( | size_t | npt, |
| float | lambda1, | ||
| float | lambda2, | ||
| const Float * | jp, | ||
| const int * | pmap, | ||
| Float * | di, | ||
| Float * | bi, | ||
| int | mt | ||
| ) |
Definition at line 1789 of file SparseBundleCPU.cpp.
References min(), MYTHREAD, POINT_ALIGN, POINT_ALIGN2, RUN_THREAD, THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by ComputeDiagonalBlock().
| void* pba::ProgramCPU::ComputeDiagonalBlockP_PROC | ( | ComputeDiagonalBlockP_STRUCT< Float > * | q | ) |
Definition at line 1783 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::ComputeJacobian | ( | size_t | nproj, |
| size_t | ncam, | ||
| const Float * | camera, | ||
| const Float * | point, | ||
| Float * | jc, | ||
| Float * | jp, | ||
| const int * | jmap, | ||
| const Float * | sj, | ||
| const Float * | ms, | ||
| const int * | cmlist, | ||
| bool | intrinsic_fixed, | ||
| int | radial_distortion, | ||
| bool | shuffle, | ||
| Float * | jct, | ||
| int | mt = 2, |
||
| int | i0 = 0 |
||
| ) |
Definition at line 1523 of file SparseBundleCPU.cpp.
References JacobianOne(), MemoryCopyB(), min(), MYTHREAD, NULL, POINT_ALIGN, POINT_ALIGN2, RUN_THREAD, ScaleJ8(), THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by pba::SparseBundleCPU< Float >::EvaluateJacobians().
| void* pba::ProgramCPU::ComputeJacobian_PROC | ( | ComputeJacobian_STRUCT< Float > * | q | ) |
Definition at line 1516 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::ComputeJQtEC | ( | size_t | ncam, |
| const Float * | pe, | ||
| const int * | qlist, | ||
| const Float * | wq, | ||
| const Float * | sj, | ||
| Float * | v | ||
| ) |
Definition at line 1332 of file SparseBundleCPU.cpp.
Referenced by pba::SparseBundleCPU< Float >::ComputeJtE().
| void pba::ProgramCPU::ComputeJQX | ( | size_t | nq, |
| const Float * | x, | ||
| const int * | qmap, | ||
| const Float * | wq, | ||
| const Float * | sj, | ||
| Float * | jx | ||
| ) |
Definition at line 1309 of file SparseBundleCPU.cpp.
Referenced by pba::SparseBundleCPU< Float >::ComputeJX().
| void pba::ProgramCPU::ComputeJtE | ( | size_t | ncam, |
| size_t | npt, | ||
| const Float * | pe, | ||
| const Float * | jc, | ||
| const int * | cmap, | ||
| const int * | cmlist, | ||
| const Float * | jp, | ||
| const int * | pmap, | ||
| Float * | v, | ||
| bool | jc_transpose, | ||
| int | mode, | ||
| int | mt1, | ||
| int | mt2 | ||
| ) |
Definition at line 2402 of file SparseBundleCPU.cpp.
References ComputeJtEC(), ComputeJtEP(), and SetVectorZero().
Referenced by pba::SparseBundleCPU< Float >::ComputeJtE(), pba::SparseBundleCPU< Float >::NonlinearOptimizeLM(), pba::SparseBundleCPU< Float >::RunProfileSteps(), pba::SparseBundleCPU< Float >::RunTestIterationLM(), pba::SparseBundleCPU< Float >::SolveNormalEquationPCGB(), and pba::SparseBundleCPU< Float >::SolveNormalEquationPCGX().
| void pba::ProgramCPU::ComputeJtE_ | ( | size_t | nproj, |
| size_t | ncam, | ||
| size_t | npt, | ||
| const Float * | ee, | ||
| Float * | jte, | ||
| const Float * | camera, | ||
| const Float * | point, | ||
| const Float * | ms, | ||
| const int * | jmap, | ||
| bool | intrinsic_fixed, | ||
| int | radial_distortion, | ||
| int | mode | ||
| ) |
Definition at line 2496 of file SparseBundleCPU.cpp.
References AddScaledVec8(), ALIGN_PTR, JacobianOne(), NULL, POINT_ALIGN, and SetVectorZero().
| void pba::ProgramCPU::ComputeJtE_ | ( | size_t | nproj, |
| size_t | ncam, | ||
| size_t | npt, | ||
| const Float * | ee, | ||
| Float * | jte, | ||
| const Float * | camera, | ||
| const Float * | point, | ||
| const Float * | ms, | ||
| const int * | jmap, | ||
| const int * | cmap, | ||
| const int * | cmlist, | ||
| const int * | pmap, | ||
| const Float * | jp, | ||
| bool | intrinsic_fixed, | ||
| int | radial_distortion, | ||
| int | mode, | ||
| int | mt | ||
| ) |
Definition at line 2479 of file SparseBundleCPU.cpp.
References ComputeJtEC_(), ComputeJtEP(), and SetVectorZero().
Referenced by pba::SparseBundleCPU< Float >::ComputeJtE().
| void pba::ProgramCPU::ComputeJtEC | ( | size_t | ncam, |
| const Float * | pe, | ||
| const Float * | jc, | ||
| const int * | cmap, | ||
| const int * | cmlist, | ||
| Float * | v, | ||
| bool | jc_transpose, | ||
| int | mt | ||
| ) |
Definition at line 2327 of file SparseBundleCPU.cpp.
References AddScaledVec8(), min(), MYTHREAD, RUN_THREAD, THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by ComputeJtE().
| void pba::ProgramCPU::ComputeJtEC_ | ( | size_t | ncam, |
| const Float * | ee, | ||
| Float * | jte, | ||
| const Float * | c, | ||
| const Float * | point, | ||
| const Float * | ms, | ||
| const int * | jmap, | ||
| const int * | cmap, | ||
| const int * | cmlist, | ||
| bool | intrinsic_fixed, | ||
| int | radial_distortion, | ||
| int | mt | ||
| ) |
Definition at line 2435 of file SparseBundleCPU.cpp.
References AddScaledVec8(), ALIGN_PTR, JacobianOne(), min(), MYTHREAD, NULL, POINT_ALIGN, RUN_THREAD, THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by ComputeJtE_().
| void* pba::ProgramCPU::ComputeJtEC__PROC | ( | ComputeJtEC__STRUCT< Float > * | q | ) |
Definition at line 2429 of file SparseBundleCPU.cpp.
| void* pba::ProgramCPU::ComputeJtEC_PROC | ( | ComputeJtEC_STRUCT< Float > * | q | ) |
Definition at line 2321 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::ComputeJtEP | ( | size_t | npt, |
| const Float * | pe, | ||
| const Float * | jp, | ||
| const int * | pmap, | ||
| Float * | v, | ||
| int | mt | ||
| ) |
Definition at line 2370 of file SparseBundleCPU.cpp.
References min(), MYTHREAD, POINT_ALIGN, POINT_ALIGN2, RUN_THREAD, THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by ComputeJtE(), and ComputeJtE_().
| void* pba::ProgramCPU::ComputeJtEP_PROC | ( | ComputeJtEP_STRUCT< Float > * | q | ) |
Definition at line 2365 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::ComputeJX | ( | size_t | nproj, |
| size_t | ncam, | ||
| const Float * | x, | ||
| const Float * | jc, | ||
| const Float * | jp, | ||
| const int * | jmap, | ||
| Float * | jx, | ||
| int | mode, | ||
| int | mt = 2 |
||
| ) |
Definition at line 2154 of file SparseBundleCPU.cpp.
References ComputeTwoJX(), DotProduct8(), min(), MYTHREAD, POINT_ALIGN, POINT_ALIGN2, RUN_THREAD, THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by pba::SparseBundleCPU< Float >::ComputeJX(), pba::SparseBundleCPU< Float >::RunProfileSteps(), pba::SparseBundleCPU< Float >::RunTestIterationLM(), pba::SparseBundleCPU< Float >::SaveUpdatedSystem(), pba::SparseBundleCPU< Float >::SolveNormalEquationPCGB(), and pba::SparseBundleCPU< Float >::SolveNormalEquationPCGX().
| void pba::ProgramCPU::ComputeJX_ | ( | size_t | nproj, |
| size_t | ncam, | ||
| const Float * | x, | ||
| Float * | jx, | ||
| const Float * | camera, | ||
| const Float * | point, | ||
| const Float * | ms, | ||
| const Float * | sj, | ||
| const int * | jmap, | ||
| bool | intrinsic_fixed, | ||
| int | radial_distortion, | ||
| int | mode, | ||
| int | mt = 16 |
||
| ) |
Definition at line 2217 of file SparseBundleCPU.cpp.
References ALIGN_PTR, ComputeTwoJX(), DotProduct8(), JacobianOne(), min(), MYTHREAD, NULL, POINT_ALIGN, RUN_THREAD, ScaleJ8(), THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by pba::SparseBundleCPU< Float >::ComputeJX().
| void* pba::ProgramCPU::ComputeJX__PROC | ( | ComputeJX__STRUCT< Float > * | q | ) |
Definition at line 2211 of file SparseBundleCPU.cpp.
| void* pba::ProgramCPU::ComputeJX_PROC | ( | ComputeJX_STRUCT< Float > * | q | ) |
Definition at line 2149 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::ComputeProjection | ( | size_t | nproj, |
| const Float * | camera, | ||
| const Float * | point, | ||
| const Float * | ms, | ||
| const int * | jmap, | ||
| Float * | pj, | ||
| int | radial, | ||
| int | mt | ||
| ) |
Definition at line 1198 of file SparseBundleCPU.cpp.
References min(), MYTHREAD, POINT_ALIGN, RUN_THREAD, THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by pba::SparseBundleCPU< Float >::EvaluateProjection().
| void* pba::ProgramCPU::ComputeProjection_PROC | ( | ComputeProjection_STRUCT< Float > * | q | ) |
Definition at line 1192 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::ComputeProjectionQ | ( | size_t | nq, |
| const Float * | camera, | ||
| const int * | qmap, | ||
| const Float * | wq, | ||
| Float * | pj | ||
| ) |
Definition at line 1298 of file SparseBundleCPU.cpp.
Referenced by pba::SparseBundleCPU< Float >::EvaluateProjection(), and pba::SparseBundleCPU< Float >::EvaluateProjectionX().
| void pba::ProgramCPU::ComputeProjectionX | ( | size_t | nproj, |
| const Float * | camera, | ||
| const Float * | point, | ||
| const Float * | ms, | ||
| const int * | jmap, | ||
| Float * | pj, | ||
| int | radial, | ||
| int | mt | ||
| ) |
Definition at line 1257 of file SparseBundleCPU.cpp.
References min(), MYTHREAD, POINT_ALIGN, RUN_THREAD, THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by pba::SparseBundleCPU< Float >::EvaluateProjectionX().
| void* pba::ProgramCPU::ComputeProjectionX_PROC | ( | ComputeProjectionX_STRUCT< Float > * | q | ) |
Definition at line 1251 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::ComputeRSQRT | ( | avec< Float > & | vec | ) |
Definition at line 759 of file SparseBundleCPU.cpp.
References pba::avec< Float >::begin(), and pba::avec< Float >::end().
Referenced by pba::SparseBundleCPU< Float >::PrepareJacobianNormalization().
| void pba::ProgramCPU::ComputeSAX | ( | Float | a, |
| const avec< Float > & | vec1, | ||
| avec< Float > & | result | ||
| ) |
Definition at line 828 of file SparseBundleCPU.cpp.
References pba::avec< Float >::begin(), pba::avec< Float >::end(), and result.
Referenced by pba::SparseBundleCPU< Float >::SolveNormalEquationPCGB(), and pba::SparseBundleCPU< Float >::SolveNormalEquationPCGX().
| void pba::ProgramCPU::ComputeSAXPY | ( | Float | a, |
| const avec< Float > & | vec1, | ||
| const avec< Float > & | vec2, | ||
| avec< Float > & | result, | ||
| int | mt = 0 |
||
| ) |
Definition at line 992 of file SparseBundleCPU.cpp.
References AUTO_MT_NUM, ComputeSAXPY(), FLOAT_ALIGN, min(), MYTHREAD, result, RUN_THREAD, THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by pba::SparseBundleCPU< Float >::RunProfileSteps(), pba::SparseBundleCPU< Float >::SolveNormalEquationPCGB(), and pba::SparseBundleCPU< Float >::SolveNormalEquationPCGX().
| void pba::ProgramCPU::ComputeSAXPY | ( | Float | a, |
| const Float * | it1, | ||
| const Float * | it2, | ||
| Float * | it3, | ||
| Float * | ite | ||
| ) |
Definition at line 843 of file SparseBundleCPU.cpp.
Referenced by ComputeSAXPY(), and UpdateCameraPoint().
| void* pba::ProgramCPU::ComputeSAXPY_PROC | ( | ComputeSAXPY_STRUCT< Float > * | q | ) |
Definition at line 987 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::ComputeSQRT | ( | avec< Float > & | vec | ) |
Definition at line 752 of file SparseBundleCPU.cpp.
References pba::avec< Float >::begin(), and pba::avec< Float >::end().
Referenced by pba::SparseBundleCPU< Float >::PrepareJacobianNormalization().
| void pba::ProgramCPU::ComputeSXYPZ | ( | Float | a, |
| const avec< Float > & | vec1, | ||
| const avec< Float > & | vec2, | ||
| const avec< Float > & | vec3, | ||
| avec< Float > & | result | ||
| ) |
Definition at line 969 of file SparseBundleCPU.cpp.
References pba::avec< Float >::begin(), ComputeSXYPZ(), NULL, and result.
Referenced by pba::SparseBundleCPU< Float >::RunProfileSteps(), pba::SparseBundleCPU< Float >::SolveNormalEquationPCGB(), and pba::SparseBundleCPU< Float >::SolveNormalEquationPCGX().
|
inline |
Definition at line 837 of file SparseBundleCPU.cpp.
Referenced by ComputeSXYPZ().
|
inline |
Definition at line 951 of file SparseBundleCPU.cpp.
References DotProduct8().
Referenced by ComputeJX(), and ComputeJX_().
| double pba::ProgramCPU::ComputeVectorDot | ( | const avec< Float > & | vec1, |
| const avec< Float > & | vec2 | ||
| ) |
Definition at line 790 of file SparseBundleCPU.cpp.
Referenced by pba::SparseBundleCPU< Float >::RunProfileSteps(), pba::SparseBundleCPU< Float >::RunTestIterationLM(), pba::SparseBundleCPU< Float >::SaveUpdatedSystem(), pba::SparseBundleCPU< Float >::SolveNormalEquationPCGB(), and pba::SparseBundleCPU< Float >::SolveNormalEquationPCGX().
| Float pba::ProgramCPU::ComputeVectorMax | ( | const avec< Float > & | vec | ) |
Definition at line 958 of file SparseBundleCPU.cpp.
References pba::avec< Float >::begin(), pba::avec< Float >::end(), fabs(), and max().
Referenced by pba::SparseBundleCPU< Float >::SaveBundleRecord().
| double pba::ProgramCPU::ComputeVectorNorm | ( | const avec< Float > & | vec, |
| int | mt = 0 |
||
| ) |
Definition at line 1026 of file SparseBundleCPU.cpp.
References AUTO_MT_NUM, FLOAT_ALIGN, min(), MYTHREAD, RUN_THREAD, THREAD_NUM_MAX, and WAIT_THREAD.
| void pba::ProgramCPU::ComputeVectorNorm | ( | const Float * | p, |
| const Float * | pe, | ||
| double * | psum | ||
| ) |
Definition at line 799 of file SparseBundleCPU.cpp.
Referenced by pba::SparseBundleCPU< Float >::EvaluateDeltaNorm(), pba::SparseBundleCPU< Float >::EvaluateProjection(), pba::SparseBundleCPU< Float >::EvaluateProjectionX(), pba::SparseBundleCPU< Float >::RunProfileSteps(), pba::SparseBundleCPU< Float >::RunTestIterationLM(), pba::SparseBundleCPU< Float >::SaveBundleRecord(), pba::SparseBundleCPU< Float >::SaveUpdatedSystem(), pba::SparseBundleCPU< Float >::SolveNormalEquationPCGB(), and pba::SparseBundleCPU< Float >::SolveNormalEquationPCGX().
| void* pba::ProgramCPU::ComputeVectorNorm_PROC | ( | ComputeVectorNorm_STRUCT< Float > * | q | ) |
Definition at line 1021 of file SparseBundleCPU.cpp.
|
inline |
Definition at line 805 of file SparseBundleCPU.cpp.
References pba::avec< Float >::begin(), pba::avec< Float >::end(), and result.
Referenced by pba::SparseBundleCPU< Float >::ComputeJtE(), and pba::SparseBundleCPU< Float >::UpdateCameraPoint().
|
inline |
Definition at line 946 of file SparseBundleCPU.cpp.
Referenced by ComputeJX(), ComputeJX_(), ComputeTwoJX(), and MultiplyBlockConditionerC().
| void pba::ProgramCPU::GetRodriguesRotation | ( | const Float | m[3][3], |
| Float | r[3] | ||
| ) |
Definition at line 1056 of file SparseBundleCPU.cpp.
References fabs().
| void pba::ProgramCPU::InvertSymmetricMatrix | ( | T * | a, |
| T * | ai | ||
| ) |
Definition at line 1681 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::InvertSymmetricMatrix | ( | T | a[n][m], |
| T | ai[n][m] | ||
| ) |
Definition at line 1647 of file SparseBundleCPU.cpp.
|
inline |
Definition at line 1358 of file SparseBundleCPU.cpp.
Referenced by ComputeDiagonalBlock_(), ComputeJacobian(), ComputeJtE_(), ComputeJtEC_(), and ComputeJX_().
|
inline |
Definition at line 775 of file SparseBundleCPU.cpp.
|
inline |
Definition at line 941 of file SparseBundleCPU.cpp.
Referenced by ComputeJacobian().
| void pba::ProgramCPU::MultiplyBlockConditioner | ( | int | ncam, |
| int | npoint, | ||
| const Float * | blocksv, | ||
| const Float * | vec, | ||
| Float * | resultv, | ||
| int | radial, | ||
| int | mode, | ||
| int | mt1, | ||
| int | mt2 | ||
| ) |
Definition at line 2126 of file SparseBundleCPU.cpp.
References AUTO_MT_NUM, MultiplyBlockConditionerC(), and MultiplyBlockConditionerP().
Referenced by pba::SparseBundleCPU< Float >::ApplyBlockPC().
| void pba::ProgramCPU::MultiplyBlockConditionerC | ( | int | ncam, |
| const Float * | bi, | ||
| const Float * | x, | ||
| Float * | vx, | ||
| int | vn, | ||
| int | mt = 0 |
||
| ) |
Definition at line 2066 of file SparseBundleCPU.cpp.
References DotProduct8(), min(), MYTHREAD, RUN_THREAD, THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by MultiplyBlockConditioner().
| void* pba::ProgramCPU::MultiplyBlockConditionerC_PROC | ( | MultiplyBlockConditionerC_STRUCT< Float > * | q | ) |
Definition at line 2061 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::MultiplyBlockConditionerP | ( | int | npoint, |
| const Float * | bi, | ||
| const Float * | x, | ||
| Float * | vx, | ||
| int | mt = 0 |
||
| ) |
Definition at line 2101 of file SparseBundleCPU.cpp.
References min(), MYTHREAD, POINT_ALIGN, RUN_THREAD, THREAD_NUM_MAX, and WAIT_THREAD.
Referenced by MultiplyBlockConditioner().
| void* pba::ProgramCPU::MultiplyBlockConditionerP_PROC | ( | MultiplyBlockConditionerP_STRUCT< Float > * | q | ) |
Definition at line 2096 of file SparseBundleCPU.cpp.
| void pba::ProgramCPU::ScaleJ8 | ( | Float * | jcx, |
| Float * | jcy, | ||
| const Float * | sj | ||
| ) |
Definition at line 815 of file SparseBundleCPU.cpp.
Referenced by ComputeDiagonalBlock_(), ComputeJacobian(), and ComputeJX_().
|
inline |
Definition at line 770 of file SparseBundleCPU.cpp.
References pba::avec< Float >::begin(), and pba::avec< Float >::end().
Referenced by pba::SparseBundleCPU< Float >::RunProfileSteps().
|
inline |
Definition at line 766 of file SparseBundleCPU.cpp.
Referenced by ComputeDiagonal(), ComputeDiagonalBlock(), ComputeDiagonalBlock_(), ComputeDiagonalBlockC(), ComputeJtE(), and ComputeJtE_().
| void pba::ProgramCPU::UncompressRodriguesRotation | ( | const Float | r[3], |
| Float | m[] | ||
| ) |
Definition at line 1117 of file SparseBundleCPU.cpp.
Referenced by UpdateCamera().
| void pba::ProgramCPU::UpdateCamera | ( | int | ncam, |
| const avec< Float > & | camera, | ||
| const avec< Float > & | delta, | ||
| avec< Float > & | new_camera | ||
| ) |
Definition at line 1132 of file SparseBundleCPU.cpp.
References max(), and UncompressRodriguesRotation().
Referenced by ecvDisplayTools::Update(), and UpdateCameraPoint().
| void pba::ProgramCPU::UpdateCameraPoint | ( | int | ncam, |
| const avec< Float > & | camera, | ||
| const avec< Float > & | point, | ||
| avec< Float > & | delta, | ||
| avec< Float > & | new_camera, | ||
| avec< Float > & | new_point, | ||
| int | mode, | ||
| int | mt | ||
| ) |
Definition at line 1165 of file SparseBundleCPU.cpp.
References pba::avec< Float >::begin(), ComputeSAXPY(), pba::avec< Float >::set(), and UpdateCamera().
Referenced by pba::SparseBundleCPU< Float >::NonlinearOptimizeLM(), pba::SparseBundleCPU< Float >::RunProfileSteps(), pba::SparseBundleCPU< Float >::RunTestIterationLM(), and pba::SparseBundleCPU< Float >::UpdateCameraPoint().
| int pba::ProgramCPU::__num_cpu_cores = 0 |
Definition at line 589 of file SparseBundleCPU.cpp.
Referenced by pba::SparseBundleCPU< Float >::SparseBundleCPU().