VPI - Vision Programming Interface

3.2 Release

AlgoFlags.h File Reference

Functions and structures for dealing with VPI images. More...

#include "Export.h"
#include "ImageFormat.h"
#include "PixelType.h"
#include "Status.h"
#include "Types.h"
#include <stdint.h>
+ Include dependency graph for AlgoFlags.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define VPI_ACCUMULATE_OUTPUT   (1u << 3)
 Accumulate the counting in the output. More...
 
#define VPI_SAMPLING_ALIGNED_TO_CORNER   (1u << 5)
 Informs the algorithm to sample pixels aligned to corner, i.e. More...
 
#define VPI_RELATIVE_MAP   (1u << 6)
 Informs the algorithm to consider relative coordinates. More...
 
#define VPI_NORMALIZED_MAP   (1u << 7)
 Informs the algorithm to consider normalized coordinates. More...
 
#define VPI_WARP_INVERSE   (1u << 0)
 Informs that the matrix used in warp/map operations is already inverted. More...
 
#define VPI_PRECISE   (1u << 1)
 Informs that the algorithm will choose a precise implementation. More...
 
#define VPI_DENORMALIZED_OUTPUT   (1u << 2)
 Leave output denormalized. More...
 
#define VPI_ENABLE_CROSS_CHECK   (1U << 0)
 Defines whether cross check is enabled. More...
 

Detailed Description

Functions and structures for dealing with VPI images.

Definition in file AlgoFlags.h.

Macro Definition Documentation

◆ VPI_WARP_INVERSE

#define VPI_WARP_INVERSE   (1u << 0)

Informs that the matrix used in warp/map operations is already inverted.

If user has the transform matrix already inverted, setting this flag allows the warp operation to use it directly instead of inverting it itself prior processing. This is particularly useful if matrix inversion would result in large numerical errors, such as when its determinant is close to zero.

Definition at line 80 of file AlgoFlags.h.

◆ VPI_PRECISE

#define VPI_PRECISE   (1u << 1)

Informs that the algorithm will choose a precise implementation.

By default algorithms will choose an implementation that might trade speed over precision.

Definition at line 86 of file AlgoFlags.h.

◆ VPI_DENORMALIZED_OUTPUT

#define VPI_DENORMALIZED_OUTPUT   (1u << 2)

Leave output denormalized.

Flag currently used in Inverse FFT, where it signals that output is to be left denormalized. This leads to faster execution as normalization isn't usually needed. Absense of this flag will scale the output, dividing it by the total pixel count. This makes the output the exact inverse of direct Fast Fourier Transform.

Definition at line 96 of file AlgoFlags.h.

◆ VPI_ENABLE_CROSS_CHECK

#define VPI_ENABLE_CROSS_CHECK   (1U << 0)

Defines whether cross check is enabled.

When cross check is enabled, only those pairs of query and reference descriptors are selected which are closest to each other both ways. Meaning if A's(query descriptor) closest reference descriptor is B and if B's closest query descriptor is A only then the pair is selected.

Definition at line 104 of file AlgoFlags.h.

◆ VPI_ACCUMULATE_OUTPUT

#define VPI_ACCUMULATE_OUTPUT   (1u << 3)

Accumulate the counting in the output.

Once it is set, the output will not be cleared at the beginning.

Definition at line 111 of file AlgoFlags.h.

◆ VPI_SAMPLING_ALIGNED_TO_CORNER

#define VPI_SAMPLING_ALIGNED_TO_CORNER   (1u << 5)

Informs the algorithm to sample pixels aligned to corner, i.e.

top-left corner, instead of the pixel center.

Definition at line 115 of file AlgoFlags.h.

◆ VPI_RELATIVE_MAP

#define VPI_RELATIVE_MAP   (1u << 6)

Informs the algorithm to consider relative coordinates.

For instance in algo_dynamic_remap, relative mapping means that map coordinates are offsets relative to the output coordinate grid. When this flag is not set, it means absolute mapping, i.e. offsets relative to the output top-left corner. Please refer to the algorithm for further details.

Definition at line 123 of file AlgoFlags.h.

◆ VPI_NORMALIZED_MAP

#define VPI_NORMALIZED_MAP   (1u << 7)

Informs the algorithm to consider normalized coordinates.

For instance in algo_dynamic_remap, normalized mapping means that the coordinates are not dependent on the output dimensions. When this flag is not set, it means denormalized mapping, i.e. coordinates represent actual pixels in the output domain. Please refer to the algorithm for further details.

Definition at line 131 of file AlgoFlags.h.