37 #ifndef DW_FEATURES_SCALING_FEATURE_TRACKER_H__ 38 #define DW_FEATURES_SCALING_FEATURE_TRACKER_H__ 41 #include <dw/core/Config.h> 52 #define DW_MAX_TEMPLATE_SIZE 128 224 dwScalingFeatureListHandle_t obj);
246 dwScalingFeatureListHandle_t obj);
265 uint32_t *d_invalidIndexCount, uint32_t *d_invalidIndexes,
266 dwConstScalingFeatureListHandle_t obj);
285 const uint32_t *d_validIndexCount,
const uint32_t *d_validIndexes,
286 const uint32_t *d_invalidIndexCount,
const uint32_t *d_invalidIndexes);
428 dwScalingFeatureTrackerHandle_t obj);
439 dwScalingFeatureTrackerHandle_t obj);
456 dwScalingFeatureTrackerHandle_t obj);
472 dwScalingFeatureTrackerHandle_t obj);
479 #endif // DW_FEATURES_SCALING_FEATURE_TRACKER_H__ DW_API_PUBLIC dwStatus dwScalingFeatureList_getCUDAStream(cudaStream_t *stream, dwScalingFeatureListHandle_t obj)
Gets the CUDA stream used by the scaling feature list.
uint32_t numIterTranslation
Iteration number to apply the translation-only KLT for robustness.
Pointer list to the CUDA table with type = DW_CUDA_TABLE_SIMPLE.
struct dwScalingFeatureListObject const * dwConstScalingFeatureListHandle_t
Handle representing a const list of 2D scaling features.
NVIDIA DriveWorks API: Core Types
float float32_t
Specifies POD types.
dwVector2f * sizes
size of the feature to be tracked
dwFeatureStatus
Defines the possible status of a feature.
dwTrivialDataType
Specifies a type indicator of the underlying trivial data type.
DW_API_PUBLIC dwStatus dwScalingFeatureTracker_initDefaultParams(dwScalingFeatureTrackerParameters *params)
Initializes ScalingFeatureTracker parameters with default values.
float32_t maxScaleChange
If scalingFactor between frame N to N-1 is outside range [1/maxScaleChange, maxScaleChange] tracking ...
DW_API_PUBLIC dwStatus dwScalingFeatureTracker_initialize(dwScalingFeatureTrackerHandle_t *obj, const dwScalingFeatureTrackerParameters *params, cudaStream_t stream, dwContextHandle_t context)
Initialize the ScalingFeatureTracker module.
uint32_t * featureCount
Total number of feature points. Single value.
float32_t thresholdKill
Killing threshold in [0, 1].
DW_API_PUBLIC dwStatus dwScalingFeatureTracker_getCUDAStream(cudaStream_t *cudaStream, dwScalingFeatureTrackerHandle_t obj)
Gets the CUDA stream used.
Defines a two-element floating-point vector.
DW_API_PUBLIC dwStatus dwScalingFeatureTracker_updateTemplateAsync(dwScalingFeatureListHandle_t list, const dwImageCUDA *templateImage, dwScalingFeatureTrackerHandle_t obj)
Update the tracking template for each valid feature in the tracker The computation takes place asynch...
dwBool * bNewTemplate
true when the overall data is updated, false when only location info is updated
DW_API_PUBLIC dwStatus dwScalingFeatureList_compact(dwScalingFeatureListHandle_t list, const uint32_t *d_validIndexCount, const uint32_t *d_validIndexes, const uint32_t *d_invalidIndexCount, const uint32_t *d_invalidIndexes)
Removes scaling features from the list.
uint32_t * ages
age of the feature
NVIDIA DriveWorks API: Core Methods
DW_API_PUBLIC dwStatus dwScalingFeatureList_reset(dwScalingFeatureListHandle_t obj)
Resets the scaling feature list.
float32_t * scaleToTemplate
scaleFactor of frame N to the template
struct dwScalingFeatureListObject * dwScalingFeatureListHandle_t
Handle representing a list of 2D scaling features.
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality
DW_API_PUBLIC dwStatus dwScalingFeatureTracker_release(dwScalingFeatureTrackerHandle_t *obj)
Releases the ScalingFeatureTracker module.
uint32_t * ids
id of the feature
dwStatus
Status definition.
DW_API_PUBLIC dwStatus dwScalingFeatureList_applySizeFilter(float32_t maxWidth, float32_t maxHeight, dwScalingFeatureListHandle_t obj)
Mark the features in the list as DW_FEATURE_STATUS_INVALID with size larger than (maxWidth, maxHeight)
DW_API_PUBLIC dwStatus dwScalingFeatureList_release(dwScalingFeatureListHandle_t *obj)
Releases the scaling feature list.
float32_t maxSizeDifference
If templateSize/newDetectedSize is not within [1/maxSizeDifference, maxSizeDifference] region...
struct dwScalingFeatureTrackerObject * dwScalingFeatureTrackerHandle_t
Handle representing a ScalingFeatureTracker tracker.
float32_t maxPixelTolerance
When template image data is kept and only updates its location, if the pixel offset between the cente...
DW_API_PUBLIC dwStatus dwScalingFeatureList_addEmptyFeature(uint32_t nFeatures, dwScalingFeatureListHandle_t obj)
Insert nFeatures empty feature into the feature list.
DW_API_PUBLIC dwStatus dwScalingFeatureList_getDataBasePointer(void **d_basePointer, size_t *size, dwScalingFeatureListHandle_t obj)
Returns the start position of the data buffer that stores all of the scaling feature list information...
DW_API_PUBLIC dwStatus dwScalingFeatureList_getDataPointers(dwScalingFeatureListPointers *pointers, void *basePointer, dwScalingFeatureListHandle_t obj)
Returns the pointers to the actual data of a scaling feature list given the base pointer.
uint32_t numIterScaling
Iteration number to apply the translation-and-scaling KLT.
DW_API_PUBLIC dwStatus dwScalingFeatureList_selectValid(uint32_t *d_validIndexCount, uint32_t *d_validIndexes, uint32_t *d_invalidIndexCount, uint32_t *d_invalidIndexes, dwConstScalingFeatureListHandle_t obj)
Creates a list of indexes of those scaling features with a status of detected or tracked, and list of indexes of those scaling features with a status of invalid.
struct dwContextObject * dwContextHandle_t
Context handle.
DW_API_PUBLIC dwStatus dwScalingFeatureList_initialize(dwScalingFeatureListHandle_t *obj, dwContextHandle_t context, cudaStream_t stream, const uint32_t maxFeatureCount, const dwTrivialDataType pxlType)
Creates and initializes a scaling feature list.
DW_API_PUBLIC dwStatus dwScalingFeatureList_setCUDAStream(cudaStream_t stream, dwScalingFeatureListHandle_t obj)
Sets the CUDA stream for CUDA related operations.
NVIDIA DriveWorks API: 2D Tracker
struct dwScalingFeatureTrackerObject const * dwConstScalingFeatureTrackerHandle_t
Handle representing a const ScalingFeatureTracker tracker.
Configuration parameters for a dwScalingFeatureTracker.
dwVector2f * locations
center location of the feature to be tracked
dwVector2f * templateLocations
location of the feature template
DW_API_PUBLIC dwStatus dwScalingFeatureTracker_trackAsync(dwScalingFeatureListHandle_t list, const dwImageCUDA *currentImage, dwScalingFeatureTrackerHandle_t obj)
Track the features in currentImage .
dwFeatureStatus * statuses
status of the tracking
float32_t thresholdUpdate
Updating threshold in [0, 1].
DW_API_PUBLIC dwStatus dwScalingFeatureTracker_setCUDAStream(cudaStream_t cudaStream, dwScalingFeatureTrackerHandle_t obj)
Sets the CUDA stream used.
dwVector2f * templateSizes
size of the feature template
float32_t * scaleFactors
scaleFactor of frame N to N-1
DW_API_PUBLIC dwStatus dwScalingFeatureTracker_reset(dwScalingFeatureTrackerHandle_t obj)
Resets the ScalingFeatureTracker.