45 #ifndef DW_SFM_SFM_H__ 46 #define DW_SFM_SFM_H__ 48 #include <dw/core/Config.h> 58 #include <cuda_runtime_api.h> 212 const dwTransformation *d_previousRig2World,
213 const dwTransformation *d_predictedRig2World,
214 const uint32_t listCount,
215 const uint32_t *
const d_featureCounts[],
217 const float32_t *
const d_trackedLocations[],
219 dwReconstructorHandle_t obj);
247 const dwTransformation *rig2World,
248 const uint32_t listCount,
249 const uint32_t *
const d_featureCounts[],
250 const float32_t *
const d_trackedLocations[],
251 dwReconstructorHandle_t obj);
272 const uint32_t *d_featureCount,
273 const uint32_t cameraIdx,
274 dwReconstructorHandle_t obj);
289 const dwTransformation *rig2World,
290 const uint32_t *
const d_pointCount[],
292 dwReconstructorHandle_t obj);
316 const dwTransformation *previousRigToWorld,
317 const dwTransformation *predictedRigToWorld,
318 const uint32_t *d_featureCount,
322 dwReconstructorHandle_t obj);
340 const uint32_t *d_validIndexCount,
const uint32_t *d_validIndexes,
341 const uint32_t *d_invalidIndexCount,
const uint32_t *d_invalidIndexes,
342 dwReconstructorHandle_t obj);
360 const uint32_t *d_validIndexCount,
const uint32_t *d_validIndexes,
361 const uint32_t *d_invalidIndexCount,
const uint32_t *d_invalidIndexes,
362 dwReconstructorHandle_t obj);
396 #endif // DW_SFM_SFM_H__ NVIDIA DriveWorks API: Rig Configuration
DW_API_PUBLIC dwStatus dwReconstructor_project(float32_t *d_locations[], const dwTransformation *rig2World, const uint32_t *const d_pointCount[], const float32_t *const d_worldPoints[], dwReconstructorHandle_t obj)
Projects triangulated features back to the image.
NVIDIA DriveWorks API: Camera Methods
NVIDIA DriveWorks API: Core Types
DW_API_PUBLIC dwStatus dwReconstructor_release(dwReconstructorHandle_t *obj)
Releases a reconstructor.
float32_t minNewObservationAngleRad
Specifies the minimum cosine of the angle between two optical rays to add a new one to the feature hi...
float float32_t
Specifies POD types.
dwFeatureStatus
Defines the possible status of a feature.
uint32_t maxPoseHistoryLength
Specifies the maximum size of the history.
Configuration parameters for a reconstructor.
float32_t poseEstimationOutlierThresholdRad
Specifies the max angle of the reprojection error (angle between tracked optical ray and triangulated...
DW_API_PUBLIC dwStatus dwReconstructor_initConfig(dwReconstructorConfig *config)
Initializes the reconstructor config with default values.
uint32_t maxFeatureCount
Specifies the maximum number of features for each camera.
NVIDIA DriveWorks API: Core Methods
float32_t maxReprojectionErrorAngleRad
Specifies the max angle of the reprojection error (angle between tracked optical ray and triangulated...
DW_API_PUBLIC dwStatus dwReconstructor_updateHistory(int32_t *rig2WorldHistoryIdx, const dwTransformation *rig2World, const uint32_t listCount, const uint32_t *const d_featureCounts[], const float32_t *const d_trackedLocations[], dwReconstructorHandle_t obj)
Updates the feature and pose history.
DW_API_PUBLIC dwStatus dwReconstructor_enableCamerasForPoseEstimation(const uint8_t enabled[], dwReconstructorHandle_t obj)
Marks the cameras to use for pose estimation.
NVIDIA DriveWorks API: Core Exports
dwStatus
Status definition.
DW_API_PUBLIC dwStatus dwReconstructor_triangulateFeatures(float32_t *d_worldPoints, dwFeatureStatus *d_statuses, const uint32_t *d_featureCount, const uint32_t cameraIdx, dwReconstructorHandle_t obj)
Triangulates the features of a camera from the internal feature and pose history. ...
DW_API_PUBLIC dwStatus dwReconstructor_initialize(dwReconstructorHandle_t *obj, dwContextHandle_t context, cudaStream_t stream, const dwReconstructorConfig config)
Creates and initializes a reconstructor.
float32_t minRigDistance
Specifies the minimum distance between vehicle poses to add a new one to the list.
uint8_t minTriangulationEntries
Specifies the minimum number of entries in the feature history needed for triangulation.
DW_API_PUBLIC dwStatus dwReconstructor_getCUDAStream(cudaStream_t *stream, dwReconstructorHandle_t obj)
Gets CUDA stream used by the reconstructor.
DW_API_PUBLIC dwStatus dwReconstructor_predictFeaturePosition(float32_t d_predictedLocations[], uint32_t cameraIdx, const dwTransformation *previousRigToWorld, const dwTransformation *predictedRigToWorld, const uint32_t *d_featureCount, const dwFeatureStatus d_featureStatuses[], const float32_t d_featureLocations[], const float32_t d_worldPoints[], dwReconstructorHandle_t obj)
Predicts the positions of features based on the predicted car motion.
struct dwReconstructorObject const * dwConstReconstructorHandle_t
Handle representing a const reconstructor object.
DW_API_PUBLIC dwStatus dwReconstructor_compactFeatureHistory(const uint32_t cameraIdx, const uint32_t *d_validIndexCount, const uint32_t *d_validIndexes, const uint32_t *d_invalidIndexCount, const uint32_t *d_invalidIndexes, dwReconstructorHandle_t obj)
Compacts the internal feature history by keeping only selected features.
DW_API_PUBLIC dwStatus dwReconstructor_estimatePose(dwTransformation *d_correctedRig2World, const dwTransformation *d_previousRig2World, const dwTransformation *d_predictedRig2World, const uint32_t listCount, const uint32_t *const d_featureCounts[], const dwFeatureStatus *const d_statuses[], const float32_t *const d_trackedLocations[], const float32_t *const d_worldPoints[], dwReconstructorHandle_t obj)
Uses all tracked features from all cameras to estimate the current rig pose.
dwConstCameraRigHandle_t rig
Specifies the camera rig to use for reconstruction.
DW_API_PUBLIC dwStatus dwReconstructor_setCUDAStream(cudaStream_t stream, dwReconstructorHandle_t obj)
Sets the CUDA stream for CUDA related operations.
struct dwContextObject * dwContextHandle_t
Context handle.
DW_API_PUBLIC dwStatus dwReconstructor_compactWorldPoints(float32_t *d_worldPoints, const uint32_t *d_validIndexCount, const uint32_t *d_validIndexes, const uint32_t *d_invalidIndexCount, const uint32_t *d_invalidIndexes, dwReconstructorHandle_t obj)
Compacts the world point array by keeping only selected features.
NVIDIA DriveWorks API: 2D Tracker
DW_API_PUBLIC dwStatus dwReconstructor_reset(dwReconstructorHandle_t obj)
Resets a reconstructor.
struct dwCameraRigObject const * dwConstCameraRigHandle_t
Handle representing a const camera rig object.
struct dwReconstructorObject * dwReconstructorHandle_t
Handle representing a reconstructor object.