ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
pba::ProgramCPU Namespace Reference

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
 

Function Documentation

◆ AddBlockJtJ()

template<class Float >
void pba::ProgramCPU::AddBlockJtJ ( const Float *  jc,
Float *  block,
int  vn 
)

Definition at line 856 of file SparseBundleCPU.cpp.

Referenced by ComputeDiagonalBlock_(), and ComputeDiagonalBlockC().

◆ AddScaledVec8()

template<class Float >
void pba::ProgramCPU::AddScaledVec8 ( Float  a,
const Float *  x,
Float *  v 
)
inline

Definition at line 823 of file SparseBundleCPU.cpp.

Referenced by ComputeJtE_(), ComputeJtEC(), and ComputeJtEC_().

◆ ComputeDiagonal()

template<class Float >
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 
)

◆ ComputeDiagonalAddQ()

template<class Float >
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().

◆ ComputeDiagonalBlock()

template<class Float >
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 
)

◆ ComputeDiagonalBlock_()

template<class Float >
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 
)

◆ ComputeDiagonalBlockC()

template<class Float >
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 
)

◆ ComputeDiagonalBlockC_PROC()

template<class Float >
void* pba::ProgramCPU::ComputeDiagonalBlockC_PROC ( ComputeDiagonalBlockC_STRUCT< Float > *  q)

Definition at line 1699 of file SparseBundleCPU.cpp.

◆ ComputeDiagonalBlockP()

template<class Float >
void pba::ProgramCPU::ComputeDiagonalBlockP ( size_t  npt,
float  lambda1,
float  lambda2,
const Float *  jp,
const int *  pmap,
Float *  di,
Float *  bi,
int  mt 
)

◆ ComputeDiagonalBlockP_PROC()

template<class Float >
void* pba::ProgramCPU::ComputeDiagonalBlockP_PROC ( ComputeDiagonalBlockP_STRUCT< Float > *  q)

Definition at line 1783 of file SparseBundleCPU.cpp.

◆ ComputeJacobian()

template<class Float >
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 
)

◆ ComputeJacobian_PROC()

template<class Float >
void* pba::ProgramCPU::ComputeJacobian_PROC ( ComputeJacobian_STRUCT< Float > *  q)

Definition at line 1516 of file SparseBundleCPU.cpp.

◆ ComputeJQtEC()

template<class Float >
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().

◆ ComputeJQX()

template<class Float >
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().

◆ ComputeJtE()

template<class Float >
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 
)

◆ ComputeJtE_() [1/2]

template<class Float >
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 
)

◆ ComputeJtE_() [2/2]

template<class Float >
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 
)

◆ ComputeJtEC()

template<class Float >
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().

◆ ComputeJtEC_()

template<class Float >
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 
)

◆ ComputeJtEC__PROC()

template<class Float >
void* pba::ProgramCPU::ComputeJtEC__PROC ( ComputeJtEC__STRUCT< Float > *  q)

Definition at line 2429 of file SparseBundleCPU.cpp.

◆ ComputeJtEC_PROC()

template<class Float >
void* pba::ProgramCPU::ComputeJtEC_PROC ( ComputeJtEC_STRUCT< Float > *  q)

Definition at line 2321 of file SparseBundleCPU.cpp.

◆ ComputeJtEP()

template<class Float >
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_().

◆ ComputeJtEP_PROC()

template<class Float >
void* pba::ProgramCPU::ComputeJtEP_PROC ( ComputeJtEP_STRUCT< Float > *  q)

Definition at line 2365 of file SparseBundleCPU.cpp.

◆ ComputeJX()

template<class Float >
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 
)

◆ ComputeJX_()

template<class Float >
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 
)

◆ ComputeJX__PROC()

template<class Float >
void* pba::ProgramCPU::ComputeJX__PROC ( ComputeJX__STRUCT< Float > *  q)

Definition at line 2211 of file SparseBundleCPU.cpp.

◆ ComputeJX_PROC()

template<class Float >
void* pba::ProgramCPU::ComputeJX_PROC ( ComputeJX_STRUCT< Float > *  q)

Definition at line 2149 of file SparseBundleCPU.cpp.

◆ ComputeProjection()

template<class Float >
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 
)

◆ ComputeProjection_PROC()

template<class Float >
void* pba::ProgramCPU::ComputeProjection_PROC ( ComputeProjection_STRUCT< Float > *  q)

Definition at line 1192 of file SparseBundleCPU.cpp.

◆ ComputeProjectionQ()

template<class Float >
void pba::ProgramCPU::ComputeProjectionQ ( size_t  nq,
const Float *  camera,
const int *  qmap,
const Float *  wq,
Float *  pj 
)

◆ ComputeProjectionX()

template<class Float >
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 
)

◆ ComputeProjectionX_PROC()

template<class Float >
void* pba::ProgramCPU::ComputeProjectionX_PROC ( ComputeProjectionX_STRUCT< Float > *  q)

Definition at line 1251 of file SparseBundleCPU.cpp.

◆ ComputeRSQRT()

template<class Float >
void pba::ProgramCPU::ComputeRSQRT ( avec< Float > &  vec)

◆ ComputeSAX()

template<class Float >
void pba::ProgramCPU::ComputeSAX ( Float  a,
const avec< Float > &  vec1,
avec< Float > &  result 
)

◆ ComputeSAXPY() [1/2]

template<class Float >
void pba::ProgramCPU::ComputeSAXPY ( Float  a,
const avec< Float > &  vec1,
const avec< Float > &  vec2,
avec< Float > &  result,
int  mt = 0 
)

◆ ComputeSAXPY() [2/2]

template<class Float >
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().

◆ ComputeSAXPY_PROC()

template<class Float >
void* pba::ProgramCPU::ComputeSAXPY_PROC ( ComputeSAXPY_STRUCT< Float > *  q)

Definition at line 987 of file SparseBundleCPU.cpp.

◆ ComputeSQRT()

template<class Float >
void pba::ProgramCPU::ComputeSQRT ( avec< Float > &  vec)

◆ ComputeSXYPZ() [1/2]

template<class Float >
void pba::ProgramCPU::ComputeSXYPZ ( Float  a,
const avec< Float > &  vec1,
const avec< Float > &  vec2,
const avec< Float > &  vec3,
avec< Float > &  result 
)

◆ ComputeSXYPZ() [2/2]

template<class Float >
void pba::ProgramCPU::ComputeSXYPZ ( Float  a,
const Float *  p1,
const Float *  p2,
const Float *  p3,
Float *  p4,
Float *  pe 
)
inline

Definition at line 837 of file SparseBundleCPU.cpp.

Referenced by ComputeSXYPZ().

◆ ComputeTwoJX()

template<class Float >
void pba::ProgramCPU::ComputeTwoJX ( const Float *  jc,
const Float *  jp,
const Float *  xc,
const Float *  xp,
Float *  jx 
)
inline

Definition at line 951 of file SparseBundleCPU.cpp.

References DotProduct8().

Referenced by ComputeJX(), and ComputeJX_().

◆ ComputeVectorDot()

◆ ComputeVectorMax()

template<class Float >
Float pba::ProgramCPU::ComputeVectorMax ( const avec< Float > &  vec)

◆ ComputeVectorNorm() [1/2]

template<class Float >
double pba::ProgramCPU::ComputeVectorNorm ( const avec< Float > &  vec,
int  mt = 0 
)

◆ ComputeVectorNorm() [2/2]

◆ ComputeVectorNorm_PROC()

template<class Float >
void* pba::ProgramCPU::ComputeVectorNorm_PROC ( ComputeVectorNorm_STRUCT< Float > *  q)

Definition at line 1021 of file SparseBundleCPU.cpp.

◆ ComputeVectorNormW()

template<class Float >
double pba::ProgramCPU::ComputeVectorNormW ( const avec< Float > &  vec,
const avec< Float > &  weight 
)

◆ ComputeVXY()

template<class Float >
void pba::ProgramCPU::ComputeVXY ( const avec< Float > &  vec1,
const avec< Float > &  vec2,
avec< Float > &  result,
size_t  part = 0,
size_t  skip = 0 
)
inline

◆ DotProduct8()

template<class Float >
Float pba::ProgramCPU::DotProduct8 ( const Float *  v1,
const Float *  v2 
)
inline

◆ GetRodriguesRotation()

template<class Float >
void pba::ProgramCPU::GetRodriguesRotation ( const Float  m[3][3],
Float  r[3] 
)

Definition at line 1056 of file SparseBundleCPU.cpp.

References fabs().

◆ InvertSymmetricMatrix() [1/2]

template<class T , int n, int m>
void pba::ProgramCPU::InvertSymmetricMatrix ( T *  a,
T *  ai 
)

Definition at line 1681 of file SparseBundleCPU.cpp.

◆ InvertSymmetricMatrix() [2/2]

template<class T , int n, int m>
void pba::ProgramCPU::InvertSymmetricMatrix ( a[n][m],
ai[n][m] 
)

Definition at line 1647 of file SparseBundleCPU.cpp.

◆ JacobianOne()

template<class Float >
void pba::ProgramCPU::JacobianOne ( const Float *  c,
const Float *  pt,
const Float *  ms,
Float *  jxc,
Float *  jyc,
Float *  jxp,
Float *  jyp,
bool  intrinsic_fixed,
int  radial_distortion 
)
inline

◆ MemoryCopyA()

template<class Float >
void pba::ProgramCPU::MemoryCopyA ( const Float *  p,
const Float *  pe,
Float *  d 
)
inline

Definition at line 775 of file SparseBundleCPU.cpp.

◆ MemoryCopyB()

template<class Float >
void pba::ProgramCPU::MemoryCopyB ( const Float *  p,
const Float *  pe,
Float *  d 
)
inline

Definition at line 941 of file SparseBundleCPU.cpp.

Referenced by ComputeJacobian().

◆ MultiplyBlockConditioner()

template<class Float >
void pba::ProgramCPU::MultiplyBlockConditioner ( int  ncam,
int  npoint,
const Float *  blocksv,
const Float *  vec,
Float *  resultv,
int  radial,
int  mode,
int  mt1,
int  mt2 
)

◆ MultiplyBlockConditionerC()

template<class Float >
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().

◆ MultiplyBlockConditionerC_PROC()

template<class Float >
void* pba::ProgramCPU::MultiplyBlockConditionerC_PROC ( MultiplyBlockConditionerC_STRUCT< Float > *  q)

Definition at line 2061 of file SparseBundleCPU.cpp.

◆ MultiplyBlockConditionerP()

template<class Float >
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().

◆ MultiplyBlockConditionerP_PROC()

template<class Float >
void* pba::ProgramCPU::MultiplyBlockConditionerP_PROC ( MultiplyBlockConditionerP_STRUCT< Float > *  q)

Definition at line 2096 of file SparseBundleCPU.cpp.

◆ ScaleJ8()

template<class Float >
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_().

◆ SetVectorZero() [1/2]

template<class Float >
void pba::ProgramCPU::SetVectorZero ( avec< Float > &  vec)
inline

◆ SetVectorZero() [2/2]

template<class Float >
void pba::ProgramCPU::SetVectorZero ( Float *  p,
Float *  pe 
)
inline

◆ UncompressRodriguesRotation()

template<class Float >
void pba::ProgramCPU::UncompressRodriguesRotation ( const Float  r[3],
Float  m[] 
)

Definition at line 1117 of file SparseBundleCPU.cpp.

Referenced by UpdateCamera().

◆ UpdateCamera()

template<class Float >
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().

◆ UpdateCameraPoint()

template<class Float >
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 
)

Variable Documentation

◆ __num_cpu_cores

int pba::ProgramCPU::__num_cpu_cores = 0

Definition at line 589 of file SparseBundleCPU.cpp.

Referenced by pba::SparseBundleCPU< Float >::SparseBundleCPU().