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.
Data Fields | |
dwFeature2DStatus * | statuses |
Status of each feature. More... | |
uint32_t * | ages |
Age of each feature. More... | |
float32_t * | scales |
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... | |
dwVector2f * | locationHistory |
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... | |
void * | hostPointer |
Base address for the data in host address space. More... | |
void * | devicePointer |
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... | |
uint32_t* dwFeatureHistoryArray::ages |
size_t dwFeatureHistoryArray::bytes |
Bytes of raw data.
Definition at line 128 of file FeatureList.h.
uint32_t dwFeatureHistoryArray::currentTimeIdx |
Index that points to the latest feature records.
Definition at line 116 of file FeatureList.h.
uint8_t* dwFeatureHistoryArray::data |
Pointer to the raw data address.
Definition at line 123 of file FeatureList.h.
void* dwFeatureHistoryArray::devicePointer |
Base address for the data in device address space.
Definition at line 126 of file FeatureList.h.
uint32_t* dwFeatureHistoryArray::featureCount |
void* dwFeatureHistoryArray::hostPointer |
Base address for the data in host address space.
Definition at line 125 of file FeatureList.h.
uint32_t* dwFeatureHistoryArray::ids |
dwVector2f* dwFeatureHistoryArray::locationHistory |
Location history of feature points.
2D array of size maxFeatures*maxHistory.
Definition at line 112 of file FeatureList.h.
uint32_t dwFeatureHistoryArray::maxFeatures |
Max number of features in one timeIdx.
Definition at line 118 of file FeatureList.h.
uint32_t dwFeatureHistoryArray::maxHistory |
Max feature history size.
Definition at line 117 of file FeatureList.h.
dwMemoryType dwFeatureHistoryArray::memoryType |
Where feature array is located, GPU, CPU or pinned memory.
Definition at line 130 of file FeatureList.h.
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.
float32_t* dwFeatureHistoryArray::scales |
Scale change for each feature.
1D array of size maxFeatures.
Definition at line 109 of file FeatureList.h.
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.
dwFeature2DStatus* dwFeatureHistoryArray::statuses |
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.
uint32_t* dwFeatureHistoryArray::validTrackedCount |