The OpenVX Specification  r31169
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
vx_nodes.h
1 /*******************************************************************************
2 * Copyright (c) 2012-2015 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 * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21 * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
22 ******************************************************************************/
23 
24 #ifndef _OPENVX_NODES_H_
25 #define _OPENVX_NODES_H_
26 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
46 VX_API_ENTRY vx_node VX_API_CALL vxColorConvertNode(vx_graph graph, vx_image input, vx_image output);
47 
58 VX_API_ENTRY vx_node VX_API_CALL vxChannelExtractNode(vx_graph graph,
59  vx_image input,
60  vx_enum channel,
61  vx_image output);
62 
75 VX_API_ENTRY vx_node VX_API_CALL vxChannelCombineNode(vx_graph graph,
76  vx_image plane0,
77  vx_image plane1,
78  vx_image plane2,
79  vx_image plane3,
80  vx_image output);
81 
92 VX_API_ENTRY vx_node VX_API_CALL vxPhaseNode(vx_graph graph, vx_image grad_x, vx_image grad_y, vx_image orientation);
93 
104 VX_API_ENTRY vx_node VX_API_CALL vxSobel3x3Node(vx_graph graph, vx_image input, vx_image output_x, vx_image output_y);
105 
106 
117 VX_API_ENTRY vx_node VX_API_CALL vxMagnitudeNode(vx_graph graph, vx_image grad_x, vx_image grad_y, vx_image mag);
118 
131 VX_API_ENTRY vx_node VX_API_CALL vxScaleImageNode(vx_graph graph, vx_image src, vx_image dst, vx_enum type);
132 
142 VX_API_ENTRY vx_node VX_API_CALL vxTableLookupNode(vx_graph graph, vx_image input, vx_lut lut, vx_image output);
143 
152 VX_API_ENTRY vx_node VX_API_CALL vxHistogramNode(vx_graph graph, vx_image input, vx_distribution distribution);
153 
162 VX_API_ENTRY vx_node VX_API_CALL vxEqualizeHistNode(vx_graph graph, vx_image input, vx_image output);
163 
172 VX_API_ENTRY vx_node VX_API_CALL vxAbsDiffNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out);
173 
183 VX_API_ENTRY vx_node VX_API_CALL vxMeanStdDevNode(vx_graph graph, vx_image input, vx_scalar mean, vx_scalar stddev);
184 
195 VX_API_ENTRY vx_node VX_API_CALL vxThresholdNode(vx_graph graph, vx_image input, vx_threshold thresh, vx_image output);
196 
205 VX_API_ENTRY vx_node VX_API_CALL vxIntegralImageNode(vx_graph graph, vx_image input, vx_image output);
206 
215 VX_API_ENTRY vx_node VX_API_CALL vxErode3x3Node(vx_graph graph, vx_image input, vx_image output);
216 
225 VX_API_ENTRY vx_node VX_API_CALL vxDilate3x3Node(vx_graph graph, vx_image input, vx_image output);
226 
235 VX_API_ENTRY vx_node VX_API_CALL vxMedian3x3Node(vx_graph graph, vx_image input, vx_image output);
236 
245 VX_API_ENTRY vx_node VX_API_CALL vxBox3x3Node(vx_graph graph, vx_image input, vx_image output);
246 
255 VX_API_ENTRY vx_node VX_API_CALL vxGaussian3x3Node(vx_graph graph, vx_image input, vx_image output);
256 
266 VX_API_ENTRY vx_node VX_API_CALL vxConvolveNode(vx_graph graph, vx_image input, vx_convolution conv, vx_image output);
267 
277 VX_API_ENTRY vx_node VX_API_CALL vxGaussianPyramidNode(vx_graph graph, vx_image input, vx_pyramid gaussian);
278 
287 VX_API_ENTRY vx_node VX_API_CALL vxAccumulateImageNode(vx_graph graph, vx_image input, vx_image accum);
288 
298 VX_API_ENTRY vx_node VX_API_CALL vxAccumulateWeightedImageNode(vx_graph graph, vx_image input, vx_scalar alpha, vx_image accum);
299 
309 VX_API_ENTRY vx_node VX_API_CALL vxAccumulateSquareImageNode(vx_graph graph, vx_image input, vx_scalar shift, vx_image accum);
310 
324 VX_API_ENTRY vx_node VX_API_CALL vxMinMaxLocNode(vx_graph graph,
325  vx_image input,
326  vx_scalar minVal, vx_scalar maxVal,
327  vx_array minLoc, vx_array maxLoc,
328  vx_scalar minCount, vx_scalar maxCount);
329 
339 VX_API_ENTRY vx_node VX_API_CALL vxAndNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out);
340 
350 VX_API_ENTRY vx_node VX_API_CALL vxOrNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out);
351 
361 VX_API_ENTRY vx_node VX_API_CALL vxXorNode(vx_graph graph, vx_image in1, vx_image in2, vx_image out);
362 
371 VX_API_ENTRY vx_node VX_API_CALL vxNotNode(vx_graph graph, vx_image input, vx_image output);
372 
385 VX_API_ENTRY vx_node VX_API_CALL vxMultiplyNode(vx_graph graph,
386  vx_image in1, vx_image in2,
387  vx_scalar scale,
388  vx_enum overflow_policy,
389  vx_enum rounding_policy,
390  vx_image out);
391 
402 VX_API_ENTRY vx_node VX_API_CALL vxAddNode(vx_graph graph,
403  vx_image in1, vx_image in2,
404  vx_enum policy,
405  vx_image out);
406 
417 VX_API_ENTRY vx_node VX_API_CALL vxSubtractNode(vx_graph graph,
418  vx_image in1, vx_image in2,
419  vx_enum policy,
420  vx_image out);
421 
432 VX_API_ENTRY vx_node VX_API_CALL vxConvertDepthNode(vx_graph graph, vx_image input, vx_image output, vx_enum policy, vx_scalar shift);
433 
445 VX_API_ENTRY vx_node VX_API_CALL vxCannyEdgeDetectorNode(vx_graph graph, vx_image input, vx_threshold hyst,
446  vx_int32 gradient_size, vx_enum norm_type,
447  vx_image output);
448 
462 VX_API_ENTRY vx_node VX_API_CALL vxWarpAffineNode(vx_graph graph, vx_image input, vx_matrix matrix, vx_enum type, vx_image output);
463 
477 VX_API_ENTRY vx_node VX_API_CALL vxWarpPerspectiveNode(vx_graph graph, vx_image input, vx_matrix matrix, vx_enum type, vx_image output);
478 
495 VX_API_ENTRY vx_node VX_API_CALL vxHarrisCornersNode(vx_graph graph,
496  vx_image input,
497  vx_scalar strength_thresh,
498  vx_scalar min_distance,
499  vx_scalar sensitivity,
500  vx_int32 gradient_size,
501  vx_int32 block_size,
502  vx_array corners,
503  vx_scalar num_corners);
504 
517 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);
518 
540 VX_API_ENTRY vx_node VX_API_CALL vxOpticalFlowPyrLKNode(vx_graph graph,
541  vx_pyramid old_images,
542  vx_pyramid new_images,
543  vx_array old_points,
544  vx_array new_points_estimates,
545  vx_array new_points,
546  vx_enum termination,
547  vx_scalar epsilon,
548  vx_scalar num_iterations,
549  vx_scalar use_initial_estimate,
550  vx_size window_dimension);
551 
565 VX_API_ENTRY vx_node VX_API_CALL vxRemapNode(vx_graph graph,
566  vx_image input,
567  vx_remap table,
568  vx_enum policy,
569  vx_image output);
570 
586 VX_API_ENTRY vx_node VX_API_CALL vxHalfScaleGaussianNode(vx_graph graph, vx_image input, vx_image output, vx_int32 kernel_size);
587 
588 #ifdef __cplusplus
589 }
590 #endif
591 
592 #endif
struct _vx_image * vx_image
An opaque reference to an image.
Definition: vx_types.h:166
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:272
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:259
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:146
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:141
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:242
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:223
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.
int32_t vx_int32
A 32-bit signed value.
Definition: vx_types.h:100
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.
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:235
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.
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:248
vx_node VX_API_CALL vxColorConvertNode(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates a color conversion node.
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:254
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:195
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:188
vx_node VX_API_CALL vxTableLookupNode(vx_graph graph, vx_image input, vx_lut lut, vx_image output)
[Graph] Creates a Table Lookup node.
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:229
struct _vx_scalar * vx_scalar
An opaque reference to a scalar.
Definition: vx_types.h:159
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:216
vx_node VX_API_CALL vxMedian3x3Node(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates a Median Image Node.