The OpenVX Specification  2b213f9
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
vx_nodes.h
1 /*
2  * Copyright (c) 2012-2016 The Khronos Group Inc.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and/or associated documentation files (the
6  * "Materials"), to deal in the Materials without restriction, including
7  * without limitation the rights to use, copy, modify, merge, publish,
8  * distribute, sublicense, and/or sell copies of the Materials, and to
9  * permit persons to whom the Materials are furnished to do so, subject to
10  * the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included
13  * in all copies or substantial portions of the Materials.
14  *
15  * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
16  * KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
17  * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
18  * https://www.khronos.org/registry/
19  *
20  * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26  * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
27  */
28 
29 #ifndef _OPENVX_NODES_H_
30 #define _OPENVX_NODES_H_
31 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
51 VX_API_ENTRY vx_node VX_API_CALL vxColorConvertNode(vx_graph graph, vx_image input, vx_image output);
52 
64  vx_image input,
65  vx_enum channel,
66  vx_image output);
67 
81  vx_image plane0,
82  vx_image plane1,
83  vx_image plane2,
84  vx_image plane3,
85  vx_image output);
86 
97 VX_API_ENTRY vx_node VX_API_CALL vxPhaseNode(vx_graph graph, vx_image grad_x, vx_image grad_y, vx_image orientation);
98 
109 VX_API_ENTRY vx_node VX_API_CALL vxSobel3x3Node(vx_graph graph, vx_image input, vx_image output_x, vx_image output_y);
110 
111 
122 VX_API_ENTRY vx_node VX_API_CALL vxMagnitudeNode(vx_graph graph, vx_image grad_x, vx_image grad_y, vx_image mag);
123 
136 VX_API_ENTRY vx_node VX_API_CALL vxScaleImageNode(vx_graph graph, vx_image src, vx_image dst, vx_enum type);
137 
147 VX_API_ENTRY vx_node VX_API_CALL vxTableLookupNode(vx_graph graph, vx_image input, vx_lut lut, vx_image output);
148 
157 VX_API_ENTRY vx_node VX_API_CALL vxHistogramNode(vx_graph graph, vx_image input, vx_distribution distribution);
158 
167 VX_API_ENTRY vx_node VX_API_CALL vxEqualizeHistNode(vx_graph graph, vx_image input, vx_image output);
168 
177 VX_API_ENTRY vx_node VX_API_CALL vxAbsDiffNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out);
178 
188 VX_API_ENTRY vx_node VX_API_CALL vxMeanStdDevNode(vx_graph graph, vx_image input, vx_scalar mean, vx_scalar stddev);
189 
201 VX_API_ENTRY vx_node VX_API_CALL vxThresholdNode(vx_graph graph, vx_image input, vx_threshold thresh, vx_image output);
202 
211 VX_API_ENTRY vx_node VX_API_CALL vxIntegralImageNode(vx_graph graph, vx_image input, vx_image output);
212 
221 VX_API_ENTRY vx_node VX_API_CALL vxErode3x3Node(vx_graph graph, vx_image input, vx_image output);
222 
231 VX_API_ENTRY vx_node VX_API_CALL vxDilate3x3Node(vx_graph graph, vx_image input, vx_image output);
232 
241 VX_API_ENTRY vx_node VX_API_CALL vxMedian3x3Node(vx_graph graph, vx_image input, vx_image output);
242 
251 VX_API_ENTRY vx_node VX_API_CALL vxBox3x3Node(vx_graph graph, vx_image input, vx_image output);
252 
261 VX_API_ENTRY vx_node VX_API_CALL vxGaussian3x3Node(vx_graph graph, vx_image input, vx_image output);
262 
274 VX_API_ENTRY vx_node VX_API_CALL vxNonLinearFilterNode(vx_graph graph, vx_enum function, vx_image input, vx_matrix mask, vx_image output);
275 
285 VX_API_ENTRY vx_node VX_API_CALL vxConvolveNode(vx_graph graph, vx_image input, vx_convolution conv, vx_image output);
286 
296 VX_API_ENTRY vx_node VX_API_CALL vxGaussianPyramidNode(vx_graph graph, vx_image input, vx_pyramid gaussian);
297 
309  vx_pyramid laplacian, vx_image output);
310 
322 VX_API_ENTRY vx_node VX_API_CALL vxLaplacianReconstructNode(vx_graph graph, vx_pyramid laplacian, vx_image input,
323  vx_image output);
324 
333 VX_API_ENTRY vx_node VX_API_CALL vxAccumulateImageNode(vx_graph graph, vx_image input, vx_image accum);
334 
344 VX_API_ENTRY vx_node VX_API_CALL vxAccumulateWeightedImageNode(vx_graph graph, vx_image input, vx_scalar alpha, vx_image accum);
345 
355 VX_API_ENTRY vx_node VX_API_CALL vxAccumulateSquareImageNode(vx_graph graph, vx_image input, vx_scalar shift, vx_image accum);
356 
370 VX_API_ENTRY vx_node VX_API_CALL vxMinMaxLocNode(vx_graph graph,
371  vx_image input,
372  vx_scalar minVal, vx_scalar maxVal,
373  vx_array minLoc, vx_array maxLoc,
374  vx_scalar minCount, vx_scalar maxCount);
375 
385 VX_API_ENTRY vx_node VX_API_CALL vxAndNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out);
386 
396 VX_API_ENTRY vx_node VX_API_CALL vxOrNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out);
397 
407 VX_API_ENTRY vx_node VX_API_CALL vxXorNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out);
408 
417 VX_API_ENTRY vx_node VX_API_CALL vxNotNode(vx_graph graph, vx_image input, vx_image output);
418 
431 VX_API_ENTRY vx_node VX_API_CALL vxMultiplyNode(vx_graph graph,
432  vx_image in1, vx_image in2,
433  vx_scalar scale,
434  vx_enum overflow_policy,
435  vx_enum rounding_policy,
436  vx_image out);
437 
448 VX_API_ENTRY vx_node VX_API_CALL vxAddNode(vx_graph graph,
449  vx_image in1, vx_image in2,
450  vx_enum policy,
451  vx_image out);
452 
463 VX_API_ENTRY vx_node VX_API_CALL vxSubtractNode(vx_graph graph,
464  vx_image in1, vx_image in2,
465  vx_enum policy,
466  vx_image out);
467 
478 VX_API_ENTRY vx_node VX_API_CALL vxConvertDepthNode(vx_graph graph, vx_image input, vx_image output, vx_enum policy, vx_scalar shift);
479 
494  vx_int32 gradient_size, vx_enum norm_type,
495  vx_image output);
496 
510 VX_API_ENTRY vx_node VX_API_CALL vxWarpAffineNode(vx_graph graph, vx_image input, vx_matrix matrix, vx_enum type, vx_image output);
511 
525 VX_API_ENTRY vx_node VX_API_CALL vxWarpPerspectiveNode(vx_graph graph, vx_image input, vx_matrix matrix, vx_enum type, vx_image output);
526 
544  vx_image input,
545  vx_scalar strength_thresh,
546  vx_scalar min_distance,
547  vx_scalar sensitivity,
548  vx_int32 gradient_size,
549  vx_int32 block_size,
550  vx_array corners,
551  vx_scalar num_corners);
552 
566 VX_API_ENTRY vx_node VX_API_CALL vxFastCornersNode(vx_graph graph, vx_image input, vx_scalar strength_thresh, vx_bool nonmax_suppression, vx_array corners, vx_scalar num_corners);
567 
590  vx_pyramid old_images,
591  vx_pyramid new_images,
592  vx_array old_points,
593  vx_array new_points_estimates,
594  vx_array new_points,
595  vx_enum termination,
596  vx_scalar epsilon,
597  vx_scalar num_iterations,
598  vx_scalar use_initial_estimate,
599  vx_size window_dimension);
600 
614 VX_API_ENTRY vx_node VX_API_CALL vxRemapNode(vx_graph graph,
615  vx_image input,
616  vx_remap table,
617  vx_enum policy,
618  vx_image output);
619 
635 VX_API_ENTRY vx_node VX_API_CALL vxHalfScaleGaussianNode(vx_graph graph, vx_image input, vx_image output, vx_int32 kernel_size);
636 
637 #ifdef __cplusplus
638 }
639 #endif
640 
641 #endif
struct _vx_image * vx_image
An opaque reference to an image.
Definition: vx_types.h:190
vx_bool
A Boolean value. This allows 0 to be FALSE, as it is in C, and any non-zero to be TRUE...
Definition: vx_types.h:301
vx_node VX_API_CALL vxMinMaxLocNode(vx_graph graph, vx_image input, vx_scalar minVal, vx_scalar maxVal, vx_array minLoc, vx_array maxLoc, vx_scalar minCount, vx_scalar maxCount)
[Graph] Creates a min,max,loc node.
vx_node VX_API_CALL vxGaussianPyramidNode(vx_graph graph, vx_image input, vx_pyramid gaussian)
[Graph] Creates a node for a Gaussian Image Pyramid.
struct _vx_array * vx_array
The Array Object. Array is a strongly-typed container for other data structures.
Definition: vx_types.h:283
vx_node VX_API_CALL vxHistogramNode(vx_graph graph, vx_image input, vx_distribution distribution)
[Graph] Creates a Histogram node.
size_t vx_size
A wrapper of size_t to keep the naming convention uniform.
Definition: vx_types.h:165
vx_node VX_API_CALL vxErode3x3Node(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates an Erosion Image Node.
int32_t vx_enum
Sets the standard enumeration type size to be a fixed quantity.
Definition: vx_types.h:160
struct _vx_threshold * vx_threshold
The Threshold Object. A thresholding object contains the types and limit values of the thresholding r...
Definition: vx_types.h:266
struct _vx_distribution * vx_distribution
The Distribution object. This has a user-defined number of bins over a user-defined range (within a u...
Definition: vx_types.h:247
vx_node VX_API_CALL vxChannelExtractNode(vx_graph graph, vx_image input, vx_enum channel, vx_image output)
[Graph] Creates a channel extract node.
vx_node VX_API_CALL vxAccumulateSquareImageNode(vx_graph graph, vx_image input, vx_scalar shift, vx_image accum)
[Graph] Creates an accumulate square node.
vx_node VX_API_CALL vxBox3x3Node(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates a Box Filter Node.
vx_node VX_API_CALL vxChannelCombineNode(vx_graph graph, vx_image plane0, vx_image plane1, vx_image plane2, vx_image plane3, vx_image output)
[Graph] Creates a channel combine node.
vx_node VX_API_CALL vxNonLinearFilterNode(vx_graph graph, vx_enum function, vx_image input, vx_matrix mask, vx_image output)
[Graph] Creates a Non-linear Filter Node.
int32_t vx_int32
A 32-bit signed value.
Definition: vx_types.h:117
vx_node VX_API_CALL vxScaleImageNode(vx_graph graph, vx_image src, vx_image dst, vx_enum type)
[Graph] Creates a Scale Image Node.
vx_node VX_API_CALL vxConvolveNode(vx_graph graph, vx_image input, vx_convolution conv, vx_image output)
[Graph] Creates a custom convolution node.
vx_node VX_API_CALL vxWarpAffineNode(vx_graph graph, vx_image input, vx_matrix matrix, vx_enum type, vx_image output)
[Graph] Creates an Affine Warp Node.
vx_node VX_API_CALL vxMultiplyNode(vx_graph graph, vx_image in1, vx_image in2, vx_scalar scale, vx_enum overflow_policy, vx_enum rounding_policy, vx_image out)
[Graph] Creates an pixelwise-multiplication node.
vx_node VX_API_CALL vxAccumulateImageNode(vx_graph graph, vx_image input, vx_image accum)
[Graph] Creates an accumulate node.
vx_node VX_API_CALL vxFastCornersNode(vx_graph graph, vx_image input, vx_scalar strength_thresh, vx_bool nonmax_suppression, vx_array corners, vx_scalar num_corners)
[Graph] Creates a FAST Corners Node.
vx_node VX_API_CALL vxSobel3x3Node(vx_graph graph, vx_image input, vx_image output_x, vx_image output_y)
[Graph] Creates a Sobel3x3 node.
vx_node VX_API_CALL vxAccumulateWeightedImageNode(vx_graph graph, vx_image input, vx_scalar alpha, vx_image accum)
[Graph] Creates a weighted accumulate node.
vx_node VX_API_CALL vxAbsDiffNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out)
[Graph] Creates an AbsDiff node.
vx_node VX_API_CALL vxOrNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out)
[Graph] Creates a bitwise INCLUSIVE OR node.
vx_node VX_API_CALL vxGaussian3x3Node(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates a Gaussian Filter Node.
vx_node VX_API_CALL vxSubtractNode(vx_graph graph, vx_image in1, vx_image in2, vx_enum policy, vx_image out)
[Graph] Creates an arithmetic subtraction node.
vx_node VX_API_CALL vxHalfScaleGaussianNode(vx_graph graph, vx_image input, vx_image output, vx_int32 kernel_size)
[Graph] Performs a Gaussian Blur on an image then half-scales it. The interpolation mode used is near...
vx_node VX_API_CALL vxDilate3x3Node(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates a Dilation Image Node.
vx_node VX_API_CALL vxAddNode(vx_graph graph, vx_image in1, vx_image in2, vx_enum policy, vx_image out)
[Graph] Creates an arithmetic addition node.
vx_node VX_API_CALL vxConvertDepthNode(vx_graph graph, vx_image input, vx_image output, vx_enum policy, vx_scalar shift)
[Graph] Creates a bit-depth conversion node.
vx_node VX_API_CALL vxMeanStdDevNode(vx_graph graph, vx_image input, vx_scalar mean, vx_scalar stddev)
[Graph] Creates a mean value and standard deviation node.
vx_node VX_API_CALL vxNotNode(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates a bitwise NOT node.
vx_node VX_API_CALL vxThresholdNode(vx_graph graph, vx_image input, vx_threshold thresh, vx_image output)
[Graph] Creates a Threshold node.
struct _vx_pyramid * vx_pyramid
The Image Pyramid object. A set of scaled images.
Definition: vx_types.h:259
vx_node VX_API_CALL vxLaplacianReconstructNode(vx_graph graph, vx_pyramid laplacian, vx_image input, vx_image output)
[Graph] Reconstructs an image from a Laplacian Image pyramid.
vx_node VX_API_CALL vxAndNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out)
[Graph] Creates a bitwise AND node.
vx_node VX_API_CALL vxOpticalFlowPyrLKNode(vx_graph graph, vx_pyramid old_images, vx_pyramid new_images, vx_array old_points, vx_array new_points_estimates, vx_array new_points, vx_enum termination, vx_scalar epsilon, vx_scalar num_iterations, vx_scalar use_initial_estimate, vx_size window_dimension)
[Graph] Creates a Lucas Kanade Tracking Node.
#define VX_API_CALL
Defines calling convention for OpenVX API.
Definition: vx_types.h:68
vx_node VX_API_CALL vxMagnitudeNode(vx_graph graph, vx_image grad_x, vx_image grad_y, vx_image mag)
[Graph] Create a Magnitude node.
vx_node VX_API_CALL vxCannyEdgeDetectorNode(vx_graph graph, vx_image input, vx_threshold hyst, vx_int32 gradient_size, vx_enum norm_type, vx_image output)
[Graph] Creates a Canny Edge Detection Node.
vx_node VX_API_CALL vxHarrisCornersNode(vx_graph graph, vx_image input, vx_scalar strength_thresh, vx_scalar min_distance, vx_scalar sensitivity, vx_int32 gradient_size, vx_int32 block_size, vx_array corners, vx_scalar num_corners)
[Graph] Creates a Harris Corners Node.
vx_node VX_API_CALL vxPhaseNode(vx_graph graph, vx_image grad_x, vx_image grad_y, vx_image orientation)
[Graph] Creates a Phase node.
struct _vx_convolution * vx_convolution
The Convolution Object. A user-defined convolution kernel of MxM elements.
Definition: vx_types.h:272
vx_node VX_API_CALL vxColorConvertNode(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates a color conversion node.
vx_node VX_API_CALL vxLaplacianPyramidNode(vx_graph graph, vx_image input, vx_pyramid laplacian, vx_image output)
[Graph] Creates a node for a Laplacian Image Pyramid.
struct _vx_remap * vx_remap
The remap table Object. A remap table contains per-pixel mapping of output pixels to input pixels...
Definition: vx_types.h:278
vx_node VX_API_CALL vxIntegralImageNode(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates an Integral Image Node.
struct _vx_graph * vx_graph
An opaque reference to a graph.
Definition: vx_types.h:219
vx_node VX_API_CALL vxXorNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out)
[Graph] Creates a bitwise EXCLUSIVE OR node.
vx_node VX_API_CALL vxRemapNode(vx_graph graph, vx_image input, vx_remap table, vx_enum policy, vx_image output)
[Graph] Creates a Remap Node.
struct _vx_node * vx_node
An opaque reference to a kernel node.
Definition: vx_types.h:212
vx_node VX_API_CALL vxTableLookupNode(vx_graph graph, vx_image input, vx_lut lut, vx_image output)
[Graph] Creates a Table Lookup node. If a value from the input image is not present in the lookup tab...
vx_node VX_API_CALL vxWarpPerspectiveNode(vx_graph graph, vx_image input, vx_matrix matrix, vx_enum type, vx_image output)
[Graph] Creates a Perspective Warp Node.
struct _vx_matrix * vx_matrix
The Matrix Object. An MxN matrix of some unit type.
Definition: vx_types.h:253
struct _vx_scalar * vx_scalar
An opaque reference to a scalar.
Definition: vx_types.h:183
vx_node VX_API_CALL vxEqualizeHistNode(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates a Histogram Equalization node.
struct _vx_lut * vx_lut
The Look-Up Table (LUT) Object.
Definition: vx_types.h:240
vx_node VX_API_CALL vxMedian3x3Node(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates a Median Image Node.