TIOVX User Guide
|
Node object (OpenVX equivalent = vx_node) More...
Inherits tiovx.reference.Reference.
Inherited by tiovx.node.NodeAbsDiff, tiovx.node.NodeAccumulateImage, tiovx.node.NodeAccumulateSquareImage, tiovx.node.NodeAccumulateWeightedImage, tiovx.node.NodeAdd, tiovx.node.NodeAnd, tiovx.node.NodeBox3x3, tiovx.node.NodeCannyEdgeDetector, tiovx.node.NodeChannelCombine, tiovx.node.NodeChannelExtract, tiovx.node.NodeColorConvert, tiovx.node.NodeConvertDepth, tiovx.node.NodeConvolve, tiovx.node.NodeDilate3x3, tiovx.node.NodeEqualizeHist, tiovx.node.NodeErode3x3, tiovx.node.NodeFastCorners, tiovx.node.NodeGaussian3x3, tiovx.node.NodeGaussianPyramid, tiovx.node.NodeHalfScaleGaussian, tiovx.node.NodeHarrisCorners, tiovx.node.NodeHistogram, tiovx.node.NodeIntegralImage, tiovx.node.NodeLaplacianPyramid, tiovx.node.NodeLaplacianReconstruct, tiovx.node.NodeMagnitude, tiovx.node.NodeMeanStdDev, tiovx.node.NodeMedian3x3, tiovx.node.NodeMinMaxLoc, tiovx.node.NodeMultiply, tiovx.node.NodeNonLinearFilter, tiovx.node.NodeNot, tiovx.node.NodeOpticalFlowPyrLK, tiovx.node.NodeOr, tiovx.node.NodePhase, tiovx.node.NodeRemap, tiovx.node.NodeScaleImage, tiovx.node.NodeSobel3x3, tiovx.node.NodeSubtract, tiovx.node.NodeTableLookup, tiovx.node.NodeThreshold, tiovx.node.NodeWarpAffine, tiovx.node.NodeWarpPerspective, tiovx.node.NodeXor, and vx_tutorial_graph_user_kernel_pytiovx_uc.NodePhaseRgb.
Public Member Functions | |
def | __init__ (self, kernel, args) |
Constructor for base class. More... | |
def | checkParams (self, param_type_args) |
Parameter checking function. More... | |
def | setParams (self, num_in, num_out, param_type_args) |
Specify number of input/output parameters and data object type for each. More... | |
def | setTarget (self, target) |
Specify target on which to run this node. More... | |
def | setKernelEnumName (self, kernel_enum_name) |
Specify kernel enum name to use. More... | |
Node object (OpenVX equivalent = vx_node)
This object is base class for specific nodes which inherit from this class. Some basic checks like parameter matching is done by this class. Inherited node classes can do additional parameter checking.
Node is created by using below syntax.
Each node can take optional parameter of 'name' and 'target' as input.
'name' is used to given a user readable name to the node which can be seen later in the generated code, image
'target' is used to specify the target on which the node will run when executed. See tiovx.enums.Target for list of supported targets.
Users can inherit from Node class to define their own custom nodes.
NOTE: Users need not modify this file to inherit from Node class.
Below code snippet shows one such example
Given below is the table of built-in kernels within PyTIOVX.
Node class name | Parameter data object types (listed in order in which they need to be passed to the Node class constructor) |
NodeAbsDiff | [in] IMAGE [in] IMAGE [out] IMAGE |
NodeAccumulateImage | [in] IMAGE [in] IMAGE [out] IMAGE |
NodeAccumulateSquareImage NodeAccumulateWeightedImage | [in] IMAGE [in] SCALAR [in] IMAGE [out] IMAGE |
NodeAdd NodeSubtract | [in] IMAGE [in] IMAGE [in] SCALAR [out] IMAGE |
NodeAnd NodeXor NodeOr | [in] IMAGE [in] IMAGE [out] IMAGE |
NodeNot | [in] IMAGE [out] IMAGE |
NodeBox3x3 NodeDilate3x3 NodeErode3x3 NodeGaussian3x3 NodeMedian3x3 | [in] IMAGE [out] IMAGE |
NodeCannyEdgeDetector | [in] IMAGE [in] THRESHOLD [in] SCALAR [in] SCALAR [in] IMAGE |
NodeChannelCombine | [in] IMAGE [in] IMAGE [in] IMAGE [in] IMAGE [out] IMAGE |
NodeChannelExtract | [in] IMAGE [in] SCALAR [out] IMAGE |
NodeColorConvert | [in] IMAGE [out] IMAGE |
NodeConvertDepth | [in] IMAGE [out] IMAGE [in] ENUM [in] SCALAR |
NodeConvolve | [in] IMAGE [in] CONVOLUTION [out] IMAGE |
NodeEqualizeHist | [in] IMAGE [in] IMAGE |
NodeFastCorners | [in] IMAGE [in] SCALAR [in] SCALAR [out] ARRAY [out] SCALAR |
NodeNonLinearFilter | [in] SCALAR [in] IMAGE [in] MATRIX [out] IMAGE |
NodeHarrisCorners | [in] IMAGE [in] SCALAR [in] SCALAR [in] SCALAR [in] SCALAR [in] SCALAR [out] ARRAY [out] SCALAR |
NodeHistogram | [in] IMAGE [out] DISTRIBUTION |
NodeGaussianPyramid | [in] IMAGE [out] PYRAMID |
NodeLaplacianPyramid | [in] IMAGE [out] PYRAMID [out] IMAGE |
NodeLaplacianReconstruct | [in] PYRAMID [in] IMAGE [out] IMAGE |
NodeIntegralImage | [in] IMAGE [out] IMAGE |
NodeMagnitude NodePhase | [in] IMAGE [in] IMAGE [out] IMAGE |
NodeMeanStdDev | [in] IMAGE [out] SCALAR [out] SCALAR |
NodeMinMaxLoc | [in] IMAGE [out] SCALAR [out] SCALAR [out] ARRAY [out] ARRAY [out] SCALAR [out] SCALAR |
NodeOpticalFlowPyrLK | [in] PYRAMID [in] PYRAMID [in] ARRAY [in] ARRAY [in] SCALAR [in] SCALAR [in] SCALAR [in] SCALAR [in] SCALAR [out] ARRAY |
NodeMultiply | [in] IMAGE [in] IMAGE [in] SCALAR [in] SCALAR [in] SCALAR [out] IMAGE |
NodeRemap | [in] IMAGE [in] REMAP [in] SCALAR [out] IMAGE |
NodeScaleImage NodeHalfScaleGaussian | [in] IMAGE [out] IMAGE [in] SCALAR |
NodeSobel3x3 | [in] IMAGE [out] IMAGE [out] IMAGE |
NodeTableLookup | [in] IMAGE [in] LUT [out] IMAGE |
NodeThreshold | [in] IMAGE [in] THRESHOLD [out] IMAGE |
NodeWarpAffine NodeWarpPerspective | [in] IMAGE [in] MATRIX [in] SCALAR [out] IMAGE |
def tiovx.node.Node.__init__ | ( | self, | |
kernel, | |||
args | |||
) |
def tiovx.node.Node.checkParams | ( | self, | |
param_type_args | |||
) |
Parameter checking function.
Checks if number of parameters passed is correct Checks if data type of parameters passed is correct
param_type_args | [in] Variable number of args list of type tiovx.enums.Type to specify data object types |
def tiovx.node.Node.setParams | ( | self, | |
num_in, | |||
num_out, | |||
param_type_args | |||
) |
Specify number of input/output parameters and data object type for each.
Assumes input parameters are followed by output parameters. It is recommended user kernels follow this convention.
num_in | [in] Number of inputs |
num_out | [in] Number of outputs |
param_type_args | [in] Variable number of args list of type tiovx.enums.Type to specify data object types. Number of arguments MUST match num_in+num_out |
def tiovx.node.Node.setTarget | ( | self, | |
target | |||
) |
Specify target on which to run this node.
target | [in] Object of type tiovx.enums.Target |
def tiovx.node.Node.setKernelEnumName | ( | self, | |
kernel_enum_name | |||
) |