NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
dwFeatureHistoryArray Struct Reference

Detailed Description

Holds pointers to the data exposed by a feature2d list.

The pointers can point to GPU or CPU memory.

The locationHistory field is a 2D structure that stores the pixel positions for each feature at each time instant. It is a column-major matrix, where the column is the time-index and the row is the feature-index, for example: [x_00,y_00],[x_10,y_10],...,[x_N0,y_N0],[x_01,y_01],...,[x_N1,y_N1],...,[x_NH,y_NH], Where N = max feature count and H = location history size.


To avoid unnecessary memory copies, the time-index is treated as a ringbuffer. The feature2d list has a global "currentTimeIdx" that wraps around the location history size. The ages array holds how many frames each feature has been tracked. This value can be larger than historyCapacity, in this case, the accessing will be wrapped in ringbuffer.

@par Example to access the locations for the current and previous frames. @verbatim embed:rst:leading-asterisk .. code-block:: cpp dwVector2f currentLocation = locationHistory[currentTimeIdx * maxFeatureCount + featureIdx]; uint32_t previousTimeIdx = (currentTimeIdx + 1) % historyCapacity; dwVector2f currentLocation = locationHistory[previousTimeIdx * maxFeatureCount + featureIdx]; @endverbatim

Definition at line 105 of file FeatureList.h.

Collaboration diagram for dwFeatureHistoryArray:

Data Fields

dwFeature2DStatusstatuses
 Status of each feature. More...
 
uint32_t * ages
 Age of each feature. More...
 
float32_tscales
 Scale change for each feature. More...
 
uint32_t * ids
 Id of each feature. More...
 
uint32_t * newToOldMap
 New to old index map, 1D array of size maxFeatures. More...
 
dwVector2flocationHistory
 Location history of feature points. More...
 
uint32_t * featureCount
 Total number of feature points. More...
 
uint32_t * validTrackedCount
 Valid tracked features from last frame. More...
 
uint32_t currentTimeIdx
 Index that points to the latest feature records. More...
 
uint32_t maxHistory
 Max feature history size. More...
 
uint32_t maxFeatures
 Max number of features in one timeIdx. More...
 
uint32_t sensorId
 ID of the camera sensor for which the array was generated. More...
 
dwTime_t timestamp
 Timestamp of the dwFeatureHistoryArray struct, which is the timestamp of the latest image frame being processed. More...
 
uint8_t * data
 Pointer to the raw data address. More...
 
voidhostPointer
 Base address for the data in host address space. More...
 
voiddevicePointer
 Base address for the data in device address space. More...
 
size_t bytes
 Bytes of raw data. More...
 
dwMemoryType memoryType
 Where feature array is located, GPU, CPU or pinned memory. More...
 

Field Documentation

◆ ages

uint32_t* dwFeatureHistoryArray::ages

Age of each feature.

1D array of size maxFeatures.

Definition at line 108 of file FeatureList.h.

◆ bytes

size_t dwFeatureHistoryArray::bytes

Bytes of raw data.

Definition at line 128 of file FeatureList.h.

◆ currentTimeIdx

uint32_t dwFeatureHistoryArray::currentTimeIdx

Index that points to the latest feature records.

Definition at line 116 of file FeatureList.h.

◆ data

uint8_t* dwFeatureHistoryArray::data

Pointer to the raw data address.

Definition at line 123 of file FeatureList.h.

◆ devicePointer

void* dwFeatureHistoryArray::devicePointer

Base address for the data in device address space.

Definition at line 126 of file FeatureList.h.

◆ featureCount

uint32_t* dwFeatureHistoryArray::featureCount

Total number of feature points.

Single value.

Definition at line 113 of file FeatureList.h.

◆ hostPointer

void* dwFeatureHistoryArray::hostPointer

Base address for the data in host address space.

Definition at line 125 of file FeatureList.h.

◆ ids

uint32_t* dwFeatureHistoryArray::ids

Id of each feature.

1D array of size maxFeatures.

Definition at line 110 of file FeatureList.h.

◆ locationHistory

dwVector2f* dwFeatureHistoryArray::locationHistory

Location history of feature points.

2D array of size maxFeatures*maxHistory.

Definition at line 112 of file FeatureList.h.

◆ maxFeatures

uint32_t dwFeatureHistoryArray::maxFeatures

Max number of features in one timeIdx.

Definition at line 118 of file FeatureList.h.

◆ maxHistory

uint32_t dwFeatureHistoryArray::maxHistory

Max feature history size.

Definition at line 117 of file FeatureList.h.

◆ memoryType

dwMemoryType dwFeatureHistoryArray::memoryType

Where feature array is located, GPU, CPU or pinned memory.

Definition at line 130 of file FeatureList.h.

◆ newToOldMap

uint32_t* dwFeatureHistoryArray::newToOldMap

New to old index map, 1D array of size maxFeatures.

See more details in dwFeature2DTracker_trackFeatures.

Definition at line 111 of file FeatureList.h.

◆ scales

float32_t* dwFeatureHistoryArray::scales

Scale change for each feature.

1D array of size maxFeatures.

Definition at line 109 of file FeatureList.h.

◆ sensorId

uint32_t dwFeatureHistoryArray::sensorId

ID of the camera sensor for which the array was generated.

Internal parameter used for NDAS.

Definition at line 119 of file FeatureList.h.

◆ statuses

dwFeature2DStatus* dwFeatureHistoryArray::statuses

Status of each feature.

1D array of size maxFeatures.

Definition at line 107 of file FeatureList.h.

◆ timestamp

dwTime_t dwFeatureHistoryArray::timestamp

Timestamp of the dwFeatureHistoryArray struct, which is the timestamp of the latest image frame being processed.

Definition at line 120 of file FeatureList.h.

◆ validTrackedCount

uint32_t* dwFeatureHistoryArray::validTrackedCount

Valid tracked features from last frame.

Single value.

Definition at line 114 of file FeatureList.h.


The documentation for this struct was generated from the following file: