VisionWorks Toolkit Reference

December 18, 2015 | 1.2 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvx.h File Reference

Detailed Description

NVIDIA VisionWorks Framework and Primitives API.

Definition in file nvx.h.

Go to the source code of this file.

Data Structures

struct  nvx_keypointf_t
 Defines a keypoint data structure. More...
 
struct  nvx_module_version_t
 VisionWorks module version. More...
 
struct  nvx_point2f_t
 Defines a 2D point (float coordinates). More...
 
struct  nvx_point3f_t
 Defines a 3D point (float coordinates). More...
 
struct  nvx_point4f_t
 Defines a 4D point (float coordinates). More...
 
struct  nvx_version_info_t
 VisionWorks library version information. More...
 

Macros

#define NVX_LIBRARY_NVIDIA   (0x0)
 The extended set of kernels provided by NVIDIA. More...
 
#define NVX_MAP_NO_PIXEL_GAPS   (1 << 0)
 Maps into a buffer without gaps between pixels in a row. More...
 

Enumerations

enum  nvx_accessor_e {
  NVX_READ_ONLY_CUDA = VX_ENUM_BASE(VX_ID_NVIDIA, VX_ENUM_ACCESSOR) + 0x0,
  NVX_WRITE_ONLY_CUDA = VX_ENUM_BASE(VX_ID_NVIDIA, VX_ENUM_ACCESSOR) + 0x1,
  NVX_READ_AND_WRITE_CUDA = VX_ENUM_BASE(VX_ID_NVIDIA, VX_ENUM_ACCESSOR) + 0x2
}
 Extended memory accessors. More...
 
enum  nvx_context_attribute_e {
  NVX_CONTEXT_ATTRIBUTE_IMMEDIATE_TARGET_DEVICE = VX_ENUM_BASE(VX_ID_NVIDIA, VX_TYPE_CONTEXT) + 0x0,
  NVX_CONTEXT_ATTRIBUTE_INITIAL_CUDA_DEVICE_ID
}
 The extended context attributes list. More...
 
enum  nvx_device_type_e {
  NVX_DEVICE_ANY = 0x0,
  NVX_DEVICE_CPU = 0x1,
  NVX_DEVICE_GPU = 0x2
}
 Defines types of devices that can execute vision functions. More...
 
enum  nvx_df_image_e {
  NVX_DF_IMAGE_F32 = VX_DF_IMAGE('F','0','3','2'),
  NVX_DF_IMAGE_2F32 = VX_DF_IMAGE('2','F','3','2'),
  NVX_DF_IMAGE_2S16 = VX_DF_IMAGE('2','S','1','6'),
  NVX_DF_IMAGE_RGB16 = VX_DF_IMAGE('S','3','1','6')
}
 Defines additional image formats. More...
 
enum  nvx_directive_e {
  NVX_DIRECTIVE_KEYPOINT_ERROR_DISABLE = VX_ENUM_BASE(VX_ID_NVIDIA, VX_ENUM_DIRECTIVE) + 0x0,
  NVX_DIRECTIVE_KEYPOINT_ERROR_ENABLE,
  NVX_DIRECTIVE_KEYPOINT_ERROR_DEFAULT,
  NVX_DIRECTIVE_PERFORMANCE_DISABLE,
  NVX_DIRECTIVE_PERFORMANCE_ENABLE,
  NVX_DIRECTIVE_PERFORMANCE_DEFAULT
}
 Defines directives that control different features for graph / immediate processing. More...
 
enum  nvx_enum_e { NVX_ENUM_MUTABILITY = 0x00 }
 Defines the additional set of supported enumerations. More...
 
enum  nvx_find_homography_method_e {
  NVX_FIND_HOMOGRAPHY_METHOD_USE_ALL_POINTS = 0x0,
  NVX_FIND_HOMOGRAPHY_METHOD_RANSAC = 0x1,
  NVX_FIND_HOMOGRAPHY_METHOD_LMEDS = 0x2
}
 Method used to compute a homography matrix. More...
 
enum  nvx_flip_mode_e {
  NVX_FLIP_HORIZONTAL,
  NVX_FLIP_VERTICAL,
  NVX_FLIP_BOTH
}
 Defines modes for flip image operation. More...
 
enum  nvx_graph_attribute_e {
  NVX_GRAPH_VERIFY_OPTIONS = VX_ENUM_BASE(VX_ID_NVIDIA, VX_TYPE_GRAPH) + 0x0,
  NVX_GRAPH_VERIFY_NEEDED = VX_ENUM_BASE(VX_ID_NVIDIA, VX_TYPE_GRAPH) + 0x1
}
 The extended graph attributes list. More...
 
enum  nvx_import_type_e { NVX_IMPORT_TYPE_CUDA = VX_ENUM_BASE(VX_ID_NVIDIA, VX_ENUM_IMPORT_MEM) + 0x0 }
 Extended import type. More...
 
enum  nvx_kernel_e {
  NVX_KERNEL_HARRIS_TRACK = VX_KERNEL_BASE(VX_ID_NVIDIA, NVX_LIBRARY_NVIDIA),
  NVX_KERNEL_FAST_TRACK,
  NVX_KERNEL_FLIP_IMAGE,
  NVX_KERNEL_COPY_IMAGE,
  NVX_KERNEL_SEMI_GLOBAL_MATCHING,
  NVX_KERNEL_HOUGH_LINES,
  NVX_KERNEL_HOUGH_SEGMENTS,
  NVX_KERNEL_HOUGH_CIRCLES,
  NVX_KERNEL_SCHARR_3x3,
  NVX_KERNEL_LAPLACIAN_3x3,
  NVX_KERNEL_MEDIAN_FLOW,
  NVX_KERNEL_STEREO_BLOCK_MATCHING,
  NVX_KERNEL_FIND_HOMOGRAPHY,
  NVX_KERNEL_CREATE_MOTION_FIELD,
  NVX_KERNEL_REFINE_MOTION_FIELD,
  NVX_KERNEL_PARTITION_MOTION_FIELD,
  NVX_KERNEL_MULTIPLY_BY_SCALAR
}
 Defines a list of extended vision kernels. More...
 
enum  nvx_mutability_e {
  NVX_MUTABLE_INIT = VX_ENUM_BASE(VX_ID_NVIDIA, NVX_ENUM_MUTABILITY) + 0x0,
  NVX_METADATA_IMMUTABLE_INIT = VX_ENUM_BASE(VX_ID_NVIDIA, NVX_ENUM_MUTABILITY) + 0x1,
  NVX_IMMUTABLE_INIT = VX_ENUM_BASE(VX_ID_NVIDIA, NVX_ENUM_MUTABILITY) + 0x2
}
 Defines the mutability state of custom kernel parameter. More...
 
enum  nvx_node_attribute_e { NVX_NODE_ATTRIBUTE_CUDA_STREAM = VX_ATTRIBUTE_BASE(VX_ID_NVIDIA, VX_TYPE_NODE) + 0x0 }
 The extended node attributes list. More...
 
enum  nvx_scanline_e {
  NVX_SCANLINE_LEFT_RIGHT = 1 << 0,
  NVX_SCANLINE_TOP_LEFT_BOTTOM_RIGHT = 1 << 1,
  NVX_SCANLINE_TOP_BOTTOM = 1 << 2,
  NVX_SCANLINE_TOP_RIGHT_BOTTOM_LEFT = 1 << 3,
  NVX_SCANLINE_RIGHT_LEFT = 1 << 4,
  NVX_SCANLINE_BOTTOM_RIGHT_TOP_LEFT = 1 << 5,
  NVX_SCANLINE_BOTTOM_TOP = 1 << 6,
  NVX_SCANLINE_BOTTOM_LEFT_TOP_RIGHT = 1 << 7,
  NVX_SCANLINE_CROSS,
  NVX_SCANLINE_ALL = 0xFF
}
 Defines scan line's directions used during cost aggregation step. More...
 
enum  nvx_status_e {
  NVX_ERROR_NO_CUDA_GPU = -1000,
  NVX_ERROR_UNSUPPORTED_CUDA_GPU = -1001
}
 Defines additional error codes. More...
 
enum  nvx_type_e {
  NVX_TYPE_POINT2F = VX_TYPE_VENDOR_STRUCT_START,
  NVX_TYPE_POINT3F,
  NVX_TYPE_POINT4F,
  NVX_TYPE_KEYPOINTF,
  NVX_TYPE_STRUCT_MAX,
  NVX_TYPE_OBJECT_MAX = VX_TYPE_VENDOR_OBJECT_START
}
 Defines additional types. More...
 

Functions

vx_node nvxCopyImageNode (vx_graph graph, vx_image src, vx_image dst)
 [Graph] Copies data from one image to another. More...
 
vx_image nvxCreateImageFromChannel (vx_image imgref, vx_enum channel)
 Creates an image from a single channel of another image. More...
 
vx_node nvxCreateMotionFieldNode (vx_graph graph, vx_image ref_image, vx_image cur_image, vx_image anchor, vx_image bias, vx_image best_mv0, vx_image best_mv1, vx_image sad_table, vx_int32 blockSize, vx_int32 searchWindowWidth, vx_int32 searchWindowHeight, vx_float32 biasWeight, vx_int32 mvDivFactor)
 [Graph] Creates initial motion field from a current image into reference image. More...
 
vx_graph nvxCreateStreamGraph (vx_context context)
 Creates an empty graph as a node stream. More...
 
vx_node nvxFastTrackNode (vx_graph graph, vx_image input, vx_array output, vx_image mask, vx_array tracked_points, vx_uint32 type, vx_uint32 threshold, vx_uint32 cell_size, vx_scalar num_corners)
 [Graph] Detects and tracks corners using the FAST algorithm. More...
 
vx_node nvxFindHomographyNode (vx_graph graph, vx_array srcPoints, vx_array dstPoints, vx_matrix homography, vx_enum method, vx_float32 threshold, vx_array inliers)
 [Graph] Computes homography matrix. More...
 
vx_node nvxFlipImageNode (vx_graph graph, vx_image input, vx_image output, vx_enum flip_mode)
 [Graph] Flips the input image. More...
 
void nvxGetVersionInfo (nvx_version_info_t *info)
 Gets information about VisionWorks library version. More...
 
vx_node nvxHarrisTrackNode (vx_graph graph, vx_image input, vx_array output, vx_image mask, vx_array tracked_points, vx_float32 k, vx_float32 threshold, vx_uint32 cell_size, vx_scalar num_corners)
 [Graph] Detects and tracks Harris corners for the input image. More...
 
vx_node nvxHoughCirclesNode (vx_graph graph, vx_image edges, vx_image dx, vx_image dy, vx_array circles, vx_scalar s_num_detections, vx_float32 dp, vx_float32 minDist, vx_uint32 minRadius, vx_uint32 maxRadius, vx_uint32 acc_threshold)
 [Graph] Detects circles in a binary image. More...
 
vx_node nvxHoughLinesNode (vx_graph graph, vx_image input, vx_array output, vx_float32 rho, vx_float32 theta, vx_uint32 threshold, vx_scalar num_lines)
 [Graph] Finds lines on image using standard Hough transform. More...
 
vx_node nvxHoughSegmentsNode (vx_graph graph, vx_image input, vx_array output, vx_float32 rho, vx_float32 theta, vx_uint32 threshold, vx_uint32 minLineLength, vx_uint32 maxLineGap, vx_scalar num_segments)
 [Graph] Finds line segments in a binary image using the probabilistic Hough transform. More...
 
vx_node nvxLaplacian3x3Node (vx_graph graph, vx_image input, vx_image output)
 [Graph] Creates a Laplacian filter node. More...
 
vx_status nvxMapImagePatch (vx_image image, const vx_rectangle_t *rect, vx_uint32 plane_index, vx_imagepatch_addressing_t *addr, void **ptr, vx_enum usage, vx_enum memory_type, vx_uint32 flags)
 Maps a rectangular patch (subset) of an image from a single plane. More...
 
vx_status nvxMapRemapPatch (vx_remap remap, vx_rectangle_t *rect, vx_imagepatch_addressing_t *addr, void **ptr, vx_enum usage)
 Maps a rectangular patch (subset) of a remap object. More...
 
vx_node nvxMedianFlowNode (vx_graph graph, vx_array prev_pts, vx_array next_pts, vx_array pts_fb, vx_array out, vx_bool estimate_scale, vx_bool filter_flow_by_err, vx_float32 error_fb_thresh)
 [Graph] Computes median flow. More...
 
vx_node nvxMultiplyByScalarNode (vx_graph graph, vx_image src, vx_image dst, vx_float32 alpha)
 [Graph] Multiplies an input image by scalar and optionally converts it to another data type. More...
 
vx_node nvxPartitionMotionFieldNode (vx_graph graph, vx_image ref_image, vx_image cur_image, vx_image in_mv_0, vx_image in_mv_1, vx_image out_mv_0, vx_image out_mv_1, vx_float32 smoothnessFactor, vx_int32 mvDivFactor)
 [Graph] Partitions motion vector field for blocks onto motion vector field into quarter sized blocks (half size in each dimension). More...
 
vx_node nvxRefineMotionFieldNode (vx_graph graph, vx_image in_mv0, vx_image in_mv1, vx_image sad_table, vx_image out_mv0, vx_image out_mv1, vx_int32 searchWindowWidth, vx_int32 searchWindowHeight, vx_int32 numIterations, vx_float32 smoothnessFactor, vx_int32 mvDivFactor)
 [Graph] Iteratively refines motion field by applying the motion vectors to a center block in a 3x3 block neighborhood. More...
 
vx_status nvxRegisterAutoAging (vx_graph graph, vx_delay delay)
 Registers a delay for auto-aging. More...
 
vx_status nvxReleaseReferenceList (vx_reference ref_list[], vx_size num_refs)
 Releases a list of references to OpenVX objects. More...
 
vx_status nvxRetainReference (vx_reference ref)
 Increments the reference counter of an object. More...
 
vx_node nvxScharr3x3Node (vx_graph graph, vx_image input, vx_image grad_x, vx_image grad_y)
 [Graph] Applies Scharr 3 x 3 operator. More...
 
vx_node nvxSemiGlobalMatchingNode (vx_graph graph, vx_image left, vx_image right, vx_image disparity, vx_int32 minD, vx_int32 maxD, vx_int32 P1, vx_int32 P2, vx_int32 sad, vx_int32 clip, vx_int32 max_diff, vx_int32 uniqueness, vx_enum scanlines_mask)
 [Graph] evaluate disparity given 2 stereo images using the SGM algorithm. More...
 
vx_status nvxSetKernelParameterMutability (vx_kernel kernel, vx_uint32 index, vx_enum mutability)
 Allows users to set the mutability of the custom kernel. By default, kernel parameters are set to NVX_MUTABLE_INIT. More...
 
vx_status nvxSetNodeTargetDevice (vx_node node, vx_enum device)
 Sets the target device type for the node. More...
 
vx_node nvxStereoBlockMatchingNode (vx_graph graph, vx_image left, vx_image right, vx_image disp, vx_uint32 winSize, vx_uint32 maxDisparity)
 [Graph] This primitive computes a dense disparity map for a given stereo pair. More...
 
vx_status nvxuCopyImage (vx_context context, vx_image src, vx_image dst)
 [Immediate] Copies data from one image to another. More...
 
vx_status nvxuCreateMotionField (vx_context context, vx_image ref_image, vx_image cur_image, vx_image anchor, vx_image bias, vx_image best_mv0, vx_image best_mv1, vx_image sad_table, vx_int32 blockSize, vx_int32 searchWindowWidth, vx_int32 searchWindowHeight, vx_float32 biasWeight, vx_int32 mvDivFactor)
 [Immediate] Creates initial motion field from a current image into reference image. More...
 
vx_status nvxuFastTrack (vx_context context, vx_image input, vx_array output, vx_image mask, vx_array tracked_points, vx_uint32 type, vx_uint32 threshold, vx_uint32 cell_size, vx_scalar num_corners)
 [Immediate] Detects and tracks corners using the FAST algorithm. More...
 
vx_status nvxuFindHomography (vx_context context, vx_array srcPoints, vx_array dstPoints, vx_matrix homography, vx_enum method, vx_float32 threshold, vx_array inliers)
 [Immediate] Computes homography matrix. More...
 
vx_status nvxuFlipImage (vx_context context, vx_image input, vx_image output, vx_enum flip_mode)
 [Immediate] Flips the input image. More...
 
vx_status nvxuHarrisTrack (vx_context context, vx_image input, vx_array output, vx_image mask, vx_array tracked_points, vx_float32 k, vx_float32 threshold, vx_uint32 cell_size, vx_scalar num_corners)
 [Immediate] Detects and tracks Harris corners for the input image. More...
 
vx_status nvxuHoughCircles (vx_context context, vx_image edges, vx_image dx, vx_image dy, vx_array circles, vx_scalar s_num_detections, vx_float32 dp, vx_float32 minDist, vx_uint32 minRadius, vx_uint32 maxRadius, vx_uint32 acc_threshold)
 [Immediate] Detects circles in a binary image. More...
 
vx_status nvxuHoughLines (vx_context context, vx_image input, vx_array output, vx_float32 rho, vx_float32 theta, vx_uint32 threshold, vx_scalar num_lines)
 [Immediate] Finds lines on image using standard Hough transform. More...
 
vx_status nvxuHoughSegments (vx_context context, vx_image input, vx_array output, vx_float32 rho, vx_float32 theta, vx_uint32 threshold, vx_uint32 minLineLength, vx_uint32 maxLineGap, vx_scalar num_segments)
 [Immediate] Finds line segments in a binary image using the probabilistic Hough transform. More...
 
vx_status nvxuLaplacian3x3 (vx_context context, vx_image input, vx_image output)
 [Immediate] Applies a Laplacian operator to the input image. More...
 
vx_status nvxuMedianFlow (vx_context context, vx_array prev_pts, vx_array next_pts, vx_array pts_fb, vx_array out, vx_bool estimate_scale, vx_bool filter_flow_by_err, vx_float32 error_fb_thresh)
 [Immediate] Computes median flow. More...
 
vx_status nvxuMultiplyByScalar (vx_context context, vx_image src, vx_image dst, vx_float32 alpha)
 [Immediate] Multiplies an input image by scalar and optionally converts it to another data type. More...
 
vx_status nvxUnmapImagePatch (vx_image image, const vx_rectangle_t *rect, vx_uint32 plane_index, void *ptr, vx_enum memory_type)
 Unmaps a mapped patch (subset) of an image. More...
 
vx_status nvxUnmapRemapPatch (vx_remap remap, void *ptr)
 Unmaps a mapped patch (subset) of a remap object. More...
 
vx_status nvxuPartitionMotionField (vx_context context, vx_image ref_image, vx_image cur_image, vx_image in_mv_0, vx_image in_mv_1, vx_image out_mv_0, vx_image out_mv_1, vx_float32 smoothnessFactor, vx_int32 mvDivFactor)
 [Immediate] Partitions motion vector field for blocks onto motion vector field into quarter sized blocks (half size in each dimension). More...
 
vx_status nvxuRefineMotionField (vx_context context, vx_image in_mv0, vx_image in_mv1, vx_image sad_table, vx_image out_mv0, vx_image out_mv1, vx_int32 searchWindowWidth, vx_int32 searchWindowHeight, vx_int32 numIterations, vx_float32 smoothnessFactor, vx_int32 mvDivFactor)
 [Immediate] Iteratively refines motion field by applying the motion vectors to a center block in a 3x3 block neighborhood. More...
 
vx_status nvxuScharr3x3 (vx_context context, vx_image input, vx_image grad_x, vx_image grad_y)
 [Immediate] Applies Scharr 3 x 3 operator. More...
 
vx_status nvxuSemiGlobalMatching (vx_context context, vx_image left, vx_image right, vx_image disparity, vx_int32 minD, vx_int32 maxD, vx_int32 P1, vx_int32 P2, vx_int32 sad, vx_int32 clip, vx_int32 max_diff, vx_int32 uniqueness, vx_enum scanlines_mask)
 [Immediate] evaluate disparity given 2 stereo images using the SGM algorithm. More...
 
vx_status nvxuStereoBlockMatching (vx_context context, vx_image left, vx_image right, vx_image disp, vx_uint32 winSize, vx_uint32 maxDisparity)
 [Immediate] This primitive computes a dense disparity map for a given stereo pair. More...