| ▼NVX CUDA API | This section includes the CUDA API |
| NVX CUDA Data Types API | This section includes the CUDA data types |
| NVX CUDA Primitives API | This section includes the CUDA primitives |
| ▼NVIDIA Extension API | Provides detailed VisionWorks API usage information |
| ►Framework API | This section includes the NVIDIA extensions for the OpenVX Framework supported in VisionWorks |
| Version Information | Adds library version information |
| Resource Control | Gives more control to the application of resources usage |
| CUDA Interoperability | Adds CUDA interoperability support |
| Error Management Extensions | Defines additional error management features |
| Reference Extensions | Adds various extensions to vx_reference |
| Context Object Extensions | Adds various extensions to the vx_context object |
| Graph Object Extensions | Adds various extensions to the vx_graph object |
| Delay Object Extensions | Adds various extensions to the vx_delay object |
| Kernel Object Extensions | Adds various extensions to the vx_kernel object |
| Types Extensions | Defines additional types |
| Point Coordinate Types | Adds 2D, 3D, and 4D floating point coordinate vectors |
| KeyPoint Types | Adds KeyPoint data structure with floating point coordinates |
| ►Image Data Object Extensions | Adds various extensions to the vx_image object |
| Extra Map Flags | Extra flags for map operation |
| Array Data Object Extensions | Adds various extensions to the vx_array object |
| Distribution Data Object Extensions | Adds various extensions to the vx_distribution object |
| LUT Data Object Extensions | Adds various extensions to the vx_lut object |
| Matrix Data Object Extensions | Adds various extensions to the vx_matrix object |
| Remap Data Object Extensions | Adds various extensions to the vx_remap object |
| Timer | Adds the C++ Timer class for simple performance measurements |
| Node Object Extensions | Adds various extensions to the vx_node object |
| ►Vision Primitives API | This section includes the NVIDIA vision extensions supported in VisionWorks |
| Copy Image | Copies data from one image to another |
| FAST Track | The FAST Track Primitive |
| Find Homography | The Find Homography Algorithm |
| Harris Track | The Harris Track Primitive |
| Flip Image | The Flip Image Primitive |
| Color Convert Extensions | Adds various extensions to the Color Convert vision function |
| Scale Image Extensions | Adds various extensions to the Scale Image vision function |
| Warp Extensions | Adds various extensions to the WarpAffine and WarpPerspective vision functions |
| Harris Corners Extensions | Adds various extensions to the Harris Corners vision function |
| Fast Corners Extensions | Adds various extensions to the Fast Corners vision function |
| Optical Flow PyrLK Extensions | Adds various extensions to the Optical Flow PyrLK vision function |
| Pixel-wise Multiplication Extensions | Adds various extensions to the Pixel-wise Multiplication vision function |
| Gaussian Pyramid Extensions | Adds various extensions to the Gaussian Pyramid vision function |
| Semi-Global Matching | The Semi-Global Matching Primitive is used for disparity map reconstruction |
| Hough Circles | The Hough Circles primitive finds circles in a binary image using a modification of the Hough transform |
| Hough Lines | The Hough Lines primitive finds lines in a binary image using Hough transform |
| Scharr3x3 | The Scharr 3x3 Image Filter Kernel |
| Laplacian3x3 | The Laplacian3x3 operator |
| Median Flow | The Median Flow Algorithm |
| Stereo Block Matching | The Stereo Block Matching Primitive |
| Multiply by Scalar | Multiplies an input image by scalar and optionally converts it to another data type |
| IME : Create Motion Field | Creates initial motion field from a current image into reference image |
| IME : Refine Motion Field | Iteratively refines motion field by applying the motion vectors to a center block in a 3x3 block neighborhood |
| IME : Partition Motion Field | Partitions motion vector field for blocks onto motion vector field into quarter sized blocks (half size in each dimension) |
| OpenCV Interoperability API | This section includes the OpenCV Interoperability API supported in VisionWorks |
| ►NVXIO APIs | The VisionWorks toolkit includes input/output functionality to use in your applications |
| Thread Safety | The most of NVXIO API is not considered to be thread safe |
| Range | Defines a range of values |
| ConfigParser | This class is intended for parsing simple text files with a basic structure composed of parameters |
| FrameSource | This class is intended for reading images from different sources |
| Render3D | This class is intended to display primitives in the 3D space |
| Render | This is a common interface for rendering 2D images and some primitive 2D graphic objects, like lines, circles, text boxes, on the screen, to video file or single image |
| Synchronization Timer | |
| Utility | Defines NVXIO Utility API |
| Thread-Safe Queue | Defines a thread-safe queue |
| ▼Khronos OpenVX 1.0.1 API | The following sections provides OpenVX specification |
| OpenVX Introduction | |
| OpenVX Design Overview | |
| ►OpenVX API Modules | Provides detailed OpenVX API usage information |
| ►Vision Functions | These are the base vision functions supported in OpenVX 1.0 |
| Absolute Difference | Computes the absolute difference between two images |
| Accumulate | Accumulates an input image into output image |
| Accumulate Squared | Accumulates a squared value from an input image to an output image |
| Accumulate Weighted | Accumulates a weighted value from an input image to an output image |
| Arithmetic Addition | Performs addition between two images |
| Arithmetic Subtraction | Performs subtraction between two images |
| Bitwise AND | Performs a bitwise AND operation between two VX_DF_IMAGE_U8 images |
| Bitwise EXCLUSIVE OR | Performs a bitwise EXCLUSIVE OR (XOR) operation between two VX_DF_IMAGE_U8 images |
| Bitwise INCLUSIVE OR | Performs a bitwise INCLUSIVE OR operation between two VX_DF_IMAGE_U8 images |
| Bitwise NOT | Performs a bitwise NOT operation on a VX_DF_IMAGE_U8 input image |
| Box Filter | Computes a Box filter over a window of the input image |
| Canny Edge Detector | Provides a Canny edge detector kernel |
| Channel Combine | Implements the Channel Combine Kernel |
| Channel Extract | Implements the Channel Extraction Kernel |
| Color Convert | Implements the Color Conversion Kernel |
| Convert Bit depth | Converts image bit depth |
| Custom Convolution | Convolves the input with the client supplied convolution matrix |
| Dilate Image | Implements Dilation, which grows the white space in a VX_DF_IMAGE_U8 Boolean image |
| Equalize Histogram | Equalizes the histogram of a grayscale image |
| Erode Image | Implements Erosion, which shrinks the white space in a VX_DF_IMAGE_U8 Boolean image |
| Fast Corners | Computes the corners in an image using a method based upon FAST9 algorithm suggested in [6] and with some updates from [8] with modifications described below |
| Gaussian Filter | Computes a Gaussian filter over a window of the input image |
| Harris Corners | Computes the Harris Corners of an image |
| Histogram | Generates a distribution from an image |
| Gaussian Image Pyramid | Computes a Gaussian Image Pyramid from an input image |
| Integral Image | Computes the integral image of the input |
| Magnitude | Implements the Gradient Magnitude Computation Kernel |
| Mean and Standard Deviation | Computes the mean pixel value and the standard deviation of the pixels in the input image (which has a dimension width and height) |
| Median Filter | Computes a median pixel value over a window of the input image |
| Min, Max Location | Finds the minimum and maximum values in an image and a location for each |
| Optical Flow Pyramid (LK) | Computes the optical flow using the Lucas-Kanade method between two pyramid images |
| Phase | Implements the Gradient Phase Computation Kernel |
| Pixel-wise Multiplication | Performs element-wise multiplication between two images and a scalar value |
| Remap | Maps output pixels in an image from input pixels in an image |
| Scale Image | Implements the Image Resizing Kernel |
| Half Scale Gaussian | Performs a Gaussian Blur on an image then half-scales it |
| Sobel 3x3 | Implements the Sobel Image Filter Kernel |
| TableLookup | Implements the Table Lookup Image Kernel |
| Thresholding | Thresholds an input image and produces an output Boolean image |
| Warp Affine | Performs an affine transform on an image |
| Warp Perspective | Performs a perspective transform on an image |
| ►Basic Features | The basic parts of OpenVX needed for computation |
| ►Objects | Defines the basic objects within OpenVX |
| Object: Reference | Defines the Reference Object interface |
| Object: Context | Defines the Context Object Interface |
| Object: Graph | Defines the Graph Object interface |
| Object: Node | Defines the Node Object interface |
| Object: Array | Defines the Array Object Interface |
| Object: Convolution | Defines the Image Convolution Object interface |
| Object: Distribution | Defines the Distribution Object Interface |
| Object: Image | Defines the Image Object interface |
| Object: LUT | Defines the Look-Up Table Interface |
| Object: Matrix | Defines the Matrix Object Interface |
| Object: Pyramid | Defines the Image Pyramid Object Interface |
| Object: Remap | Defines the Remap Object Interface |
| Object: Scalar | Defines the Scalar Object interface |
| Object: Threshold | Defines the Threshold Object Interface |
| ►Administrative Features | Defines the Administrative Features of OpenVX |
| ►Advanced Objects | |
| Object: Array (Advanced) | Defines the advanced features of the Array Interface |
| ►Object: Node (Advanced) | Defines the advanced features of the Node Interface |
| Node: Border Modes | Defines the border mode behaviors |
| Object: Delay | Defines the Delay Object interface |
| Object: Kernel | Defines the Kernel Object and Interface |
| Object: Parameter | Defines the Parameter Object interface |
| ►Advanced Framework API | Describes components that are considered to be advanced |
| Framework: Node Callbacks | Allows Clients to receive a callback after a specific node has completed execution |
| Framework: Performance Measurement | Defines Performance measurement and reporting interfaces |
| Framework: Log | Defines the debug logging interface |
| Framework: Hints | Defines the Hints Interface |
| Framework: Directives | Defines the Directives Interface |
| Framework: User Kernels | Defines the User Kernels, which are a method to extend OpenVX with new vision functions |
| Framework: Graph Parameters | Defines the Graph Parameter API |
| ▼Samples and Demos | The VisionWorks toolkit includes samples that you can use as a starting point for developing, porting, and optimizing your applications and demos that show how you can use advanced features to optimize your applications |
| ►Sample and Demos User Guides | The following sections list the available user guides for VisionWorks samples and demos |
| Linux: Building and Running Samples and Demos | Shows how to build samples and demos using native or cross compilation on Linux |
| Windows: Building and Running Samples and Demos | Shows how to build samples and demos using native compilation on Windows |
| ►Sample Applications | The following sections list the available samples for VisionWorks |
| (Vibrante) NvMedia Camera Capture Sample App | NvMedia Camera Capture Sample user guide |
| OpenCV and NPP Interop Sample App | OpenCV and NPP Interop Sample user guide |
| OpenGL Interop Sample App | OpenGL Interop Sample user guide |
| Video Playback Sample App | Video Playback Sample user guide |
| (L4T R23) NVIDIA GStreamer Camera Capture Sample App | NVIDIA GStreamer Camera Capture Sample user guide |
| ►Demo Applications | The following sections list the available demos for VisionWorks |
| Feature Tracker Demo App | Feature Tracker Demo user guide |
| Stereo Matching Demo App | Stereo Matching Demo user guide |
| Hough Transform Demo App | Hough Transform Demo user guide |
| Video Stabilizer Demo App | Video Stabilizer Demo user guide |
| Motion Estimation Demo App | Motion Estimation Demo user guide |
| ▼Tutorials | The following sections list the available tutorials for VisionWorks |
| ►User Custom Node Tutorial | This tutorial illustrates User Custom Nodes |
| 1. Processing Callback Function | This section illustrates the implementation of the kernel processing callback function |
| 2. Input Validation Callback Function | This section illustrates the implementation of the input validation callback function |
| 3. Output Validation Callback Function | This section illustrates the implementation of the output validation callback function |
| 4. Kernel Registration | This section illustrates the user custom kernel registration |
| 5. User Custom Node Factory | This section illustrates the implementation of the user custom node factory |
| 6. Usage | This section illustrates the usage of user custom nodes |
| 7. CUDA Nodes | This section describes the implementation of user custom nodes based on CUDA |
| ►VisionWorks and NVXIO Basic Tutorials | The following tutorials demonstrate basic concepts of VisionWorks and NVXIO libraries |
| Initialization and Deinitialization | This tutorial demonstrates VisionWorks and NVXIO libraries initialization and deinitialization |
| Error Checking | This tutorial demonstrates the VisionWorks error checking mechanism |
| Image Data Object | This tutorial demonstrates VisionWorks image data object usage |
| Single Image Processing with Immediate Mode | This tutorial demonstrates single image processing with immediate mode |
| Video Processing with Graph Mode | This tutorial demonstrates video processing with graph mode |
| Delay Object Usage | This tutorial demonstrates delay object usage |
| ►NVX CUDA API Tutorial | The following tutorial demonstrates usage of NVX CUDA API |
| Data Object Creation | This section demonstrates data object creation in NVX CUDA API |
| Primitives Usage | This section demonstrates matchFrames function implementation in NVX CUDA API |
| ►CUDA Interoperability Tutorial | The following tutorials demonstrate interaction with user CUDA code |
| Process Image with CUDA Kernel | This tutorial demonstrates VisionWorks image processing with user CUDA code |
| Process Array with CUBLAS Library | This tutorial demonstrates VisionWorks array processing with user CUDA code |
| Import NV12 Image from CUDA Address Space | This tutorial demonstrates VisionWorks importing functionality for existing CUDA memory |
| ►EGL Stream Interoperability Tutorial | This tutorial demonstrates how to use EGL Streams |
| Initializing EGL Resources | This section demonstrates how to initialize EGL resources and create EGL streams |
| Connecting CUDA Consumers to EGL Streams | This section demonstrates how to connect a CUDA consumer to an existing EGL stream |
| Consuming Produced Frames | This section demonstrates how to query the EGL stream state to acquire produced frames |
| Releasing Resources | This section demonstrates how to disconnect the CUDA consumer and release the EGL resources |
| ►OpenCV Interoperability Tutorial | The following sections demonstrate interaction with user OpenCV code |
| Conversion Between OpenCV and OpenVX Data Types | This section demonstrates how to convert between OpenCV and OpenVX data types |
| Differences Between OpenCV and VisionWorks Primitives | This section illustrates differences between OpenCV and VisionWorks primitives |
| ▼Links to External Resources | Lists links to external resources |
| ►NVIDIA CUDA Resources | Lists links to NVIDIA CUDA Resources |
| NVIDIA CUDA Downloads | Link to NVIDIA CUDA downloads |
| NVIDIA CUDA Getting Started Guide for Linux | Link to NVIDIA CUDA Getting Started Guide for Linux platform |
| NVIDIA CUDA Getting Started Guide for Windows | Link to NVIDIA CUDA Getting Started Guide for Windows platform |
| NVIDIA CUDA Documentation | Link to NVIDIA CUDA Documentation |
| NVIDIA CUDA Compiler Driver | Link to NVIDIA CUDA Compiler Driver |
| ►NVIDIA Jetson TK1 Documentation | Lists link to NVIDIA Jetson TK1 Documentation |
| Get Started on Jetson TK1 | Link to the "Get Started on Jetson TK1" tutorial |
| Jetson TK1 Performance | Link to the "Jetson TK1 Performance" tutorial |
| Jetson TK1 Power | Link to the "Jetson TK1 Power" tutorial |
| ►NVIDIA Jetson TX1 Documentation | Provides the link to NVIDIA Jetson TX1 Documentation |
| Jetson TX1 Performance | Link to the "Jetson TX1 Performance" tutorial |
| ►EGL API Documentation | Lists links to EGL API Documentation |
| EGL | Link to EGL API specification |