TI Autonomous Driving Algorithms (TIADALG) Library User Guide
sfm_ti_3dPruning.h File Reference

This file defines the functions for 3D points pruning. More...

Go to the source code of this file.

Functions

void SFM_TI_reprojErrorCalc (float *camPrm, float *inPoint3D, float *track2DPoints, uint8_t *curTrackLength, float *reprojError)
 
uint16_t SFM_TI_subtendedAnglePrun (float *camPrm, float *inPoint3D, uint8_t *curTrackLength, float *subAngle)
 
void SFM_TI_chiralityPruning (float *camPrm, float *inPoint3D, uint8_t *isValid3DPoint, int32_t num3DPoints)
 
void SFM_TI_reprojErrorCalc_ci (float *restrict camPrm, float *restrict inPoint3D, float *restrict track2DPoints, uint8_t *restrict curTrackLength, float *restrict reprojError)
 
void SFM_TI_chiralityPruning_ci (float *restrict camPrm, float *restrict inPoint3D, uint8_t *restrict isValid3DPoint, int32_t num3DPoints)
 
uint16_t SFM_TI_subtendedAnglePrun_ci (float *restrict camPrm, float *restrict inPoint3D, uint8_t *restrict curTrackLength, float *restrict subAngle)
 
void SFM_TI_combinePrun (float *reprojErr, float *subAngle, float reprojErrTh, float subAngleTh, uint8_t *valid)
 
float VLIB_FMAT_AR_mapPoints (float pts2r[restrict], float pts1r[restrict], int16_t numPoints, float F[], float distThreshold, int16_t *numInliers, uint8_t isInlier[])
 
float VXLIB_FMAT_mapPoints_ci (float inPts2[restrict], float inPts1[restrict], int16_t numPoints, float f[restrict], int32_t fMatPitch, float distThreshold, int16_t *outNumInliers, uint8_t isInlier[restrict], void *pBlock)
 

Detailed Description

This file defines the functions for 3D points pruning.

Author
Deepak Poddar
Version
0.1 (Oct 2014) : Base version.
Author
Deepak Poddar
Version
0.1 (Jan 2021) : Base version.

Function Documentation

◆ SFM_TI_reprojErrorCalc()

void SFM_TI_reprojErrorCalc ( float *  camPrm,
float *  inPoint3D,
float *  track2DPoints,
uint8_t *  curTrackLength,
float *  reprojError 
)

SFM_TI_reprojErrorCalc

Description:
This API finds re projection error for set of 3D points reconstructed. re projection error is calculated by back projecting the 3D point on image plane, and finding the absolute distance between back projected image point and original image point. This process is done for all the frames from which this 3D point is reconstructed.
Parameters
[in]camPrm:Base address of the camera extrinsic parameters.
[in]inPoint3D:input 3D points.two 3D outputs are clubbed together. X(or Y or Z) co-ordinates are clubbed together. e.g X1X0Y1Y0Z1Z0X3X2Y3Y2Z3Z2....so on
[in]track2DPoints: Original image points for each 3D points
[in]curTrackLength: Array of values for track length
[out]reprojError: Calculated re projection error for each 3D points
Assumptions:
  • NA
Implementation Notes:
  • NA

◆ SFM_TI_subtendedAnglePrun()

uint16_t SFM_TI_subtendedAnglePrun ( float *  camPrm,
float *  inPoint3D,
uint8_t *  curTrackLength,
float *  subAngle 
)

SFM_TI_subtendedAnglePrun

Description:
This API finds subtended angle for each 3D points
Parameters
[in]camPrm:Base address of the camera extrinsic parameters.
[in]inPoint3D:input 3D points.two 3D outputs are clubbed together. X(or Y or Z) co-ordinates are clubbed together. e.g X1X0Y1Y0Z1Z0X3X2Y3Y2Z3Z2....so on
[in]curTrackLength: Array of values for track length
[out]subAngle: Calculated out subtended angle for each 3D points
Assumptions:
  • NA
Implementation Notes:
  • NA

◆ SFM_TI_chiralityPruning()

void SFM_TI_chiralityPruning ( float *  camPrm,
float *  inPoint3D,
uint8_t *  isValid3DPoint,
int32_t  num3DPoints 
)

SFM_TI_chiralityPruning

Description:
This API finds subtended angle for each 3D points
Parameters
[in]camPrm:Base address of the camera extrinsic parameters.
[in]inPoint3D:input 3D points.two 3D outputs are clubbed together. X(or Y or Z) co-ordinates are clubbed together. e.g X1X0Y1Y0Z1Z0X3X2Y3Y2Z3Z2....so on
[out]isValid3DPoint: If isValid3DPoint[j] is '1' then it indicates that it has passed 'z' checking, otherwise it has failed jth 3D point
[in]point3Dindex: Not used currently
[in]num3DPoints: Total number of input 3D points given to this API
Assumptions:
  • NA
Implementation Notes:
  • NA

◆ SFM_TI_reprojErrorCalc_ci()

void SFM_TI_reprojErrorCalc_ci ( float *restrict  camPrm,
float *restrict  inPoint3D,
float *restrict  track2DPoints,
uint8_t *restrict  curTrackLength,
float *restrict  reprojError 
)

SFM_TI_reprojErrorCalc_ci

Description:
This API finds re projection error for set of 3D points reconstructed. re projection error is calculated by back projecting the 3D point on image plane, and finding the absolute distance between back projected image point and original image point. This process is done for all the frames from which this 3D point is reconstructed.
Parameters
[in]camPrm:Base address of the camera extrinsic parameters.
[in]inPoint3D:input 3D points.two 3D outputs are clubbed together. X(or Y or Z) co-ordinates are clubbed together. e.g X1X0Y1Y0Z1Z0X3X2Y3Y2Z3Z2....so on
[in]track2DPoints: Original image points for each 3D points
[in]curTrackLength: Array of values for track length
[out]reprojError: Calculated re projection error for each 3D points
Assumptions:
  • NA
Implementation Notes:
  • NA

◆ SFM_TI_chiralityPruning_ci()

void SFM_TI_chiralityPruning_ci ( float *restrict  camPrm,
float *restrict  inPoint3D,
uint8_t *restrict  isValid3DPoint,
int32_t  num3DPoints 
)

SFM_TI_chiralityPruning_ci

Description:
This API finds subtended angle for each 3D points
Parameters
[in]camPrm:Base address of the camera extrinsic parameters.
[in]inPoint3D:input 3D points.two 3D outputs are clubbed together. X(or Y or Z) co-ordinates are clubbed together. e.g X1X0Y1Y0Z1Z0X3X2Y3Y2Z3Z2....so on
[out]isValid3DPoint: If isValid3DPoint[j] is '1' then it indicates that it has passed 'z' checking, otherwise it has failed jth 3D point
[in]point3Dindex: Not used currently
[in]num3DPoints: Total number of input 3D points given to this API
Assumptions:
  • NA
Implementation Notes:
  • NA

◆ SFM_TI_subtendedAnglePrun_ci()

uint16_t SFM_TI_subtendedAnglePrun_ci ( float *restrict  camPrm,
float *restrict  inPoint3D,
uint8_t *restrict  curTrackLength,
float *restrict  subAngle 
)

SFM_TI_subtendedAnglePrun_ci

Description:
This API finds subtended angle for each 3D points
Parameters
[in]camPrm:Base address of the camera extrinsic parameters.
[in]inPoint3D:input 3D points.two 3D outputs are clubbed together. X(or Y or Z) co-ordinates are clubbed together. e.g X1X0Y1Y0Z1Z0X3X2Y3Y2Z3Z2....so on
[in]curTrackLength: Array of values for track length
[out]subAngle: Calculated out subtended angle for each 3D points
Assumptions:
  • NA
Implementation Notes:
  • NA

◆ SFM_TI_combinePrun()

void SFM_TI_combinePrun ( float *  reprojErr,
float *  subAngle,
float  reprojErrTh,
float  subAngleTh,
uint8_t *  valid 
)

Takes already calculated re projection error and subtended angle, and does the final pruning of the 3D points.

◆ VLIB_FMAT_AR_mapPoints()

float VLIB_FMAT_AR_mapPoints ( float  pts2r[restrict],
float  pts1r[restrict],
int16_t  numPoints,
float  F[],
float  distThreshold,
int16_t *  numInliers,
uint8_t  isInlier[] 
)

◆ VXLIB_FMAT_mapPoints_ci()

float VXLIB_FMAT_mapPoints_ci ( float  inPts2[restrict],
float  inPts1[restrict],
int16_t  numPoints,
float  f[restrict],
int32_t  fMatPitch,
float  distThreshold,
int16_t *  outNumInliers,
uint8_t  isInlier[restrict],
void *  pBlock 
)

© Copyright 2018 Texas Instruments Incorporated. All rights reserved.
Document generated by doxygen 1.8.6