21.02
|
Neon kernel to perform Edge tracing. More...
#include <NECannyEdgeKernel.h>
Public Member Functions | |
const char * | name () const override |
Name of the kernel. More... | |
NEEdgeTraceKernel () | |
Default constructor. More... | |
NEEdgeTraceKernel (const NEEdgeTraceKernel &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
NEEdgeTraceKernel & | operator= (const NEEdgeTraceKernel &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
NEEdgeTraceKernel (NEEdgeTraceKernel &&)=default | |
Allow instances of this class to be moved. More... | |
NEEdgeTraceKernel & | operator= (NEEdgeTraceKernel &&)=default |
Allow instances of this class to be moved. More... | |
~NEEdgeTraceKernel () | |
Default destructor. More... | |
void | configure (ITensor *input, ITensor *output) |
Initialise the kernel's source, destination and border mode. More... | |
void | run (const Window &window, const ThreadInfo &info) override |
Execute the kernel on the passed window. More... | |
BorderSize | border_size () const override |
The size of the border for that kernel. More... | |
bool | is_parallelisable () const override |
Indicates whether or not the kernel is parallelisable. More... | |
Public Member Functions inherited from ICPPKernel | |
virtual | ~ICPPKernel ()=default |
Default destructor. More... | |
virtual void | run_nd (const Window &window, const ThreadInfo &info, const Window &thread_locator) |
legacy compatibility layer for implemantions which do not support thread_locator In these cases we simply narrow the interface down the legacy version More... | |
virtual void | run_op (ITensorPack &tensors, const Window &window, const ThreadInfo &info) |
Execute the kernel on the passed window. More... | |
Public Member Functions inherited from IKernel | |
IKernel () | |
Constructor. More... | |
virtual | ~IKernel ()=default |
Destructor. More... | |
const Window & | window () const |
The maximum window the kernel can be executed on. More... | |
Neon kernel to perform Edge tracing.
Definition at line 152 of file NECannyEdgeKernel.h.
Default constructor.
Definition at line 1044 of file NECannyEdgeKernel.cpp.
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Allow instances of this class to be moved.
|
default |
Default destructor.
Referenced by NEEdgeNonMaxSuppressionKernel::run().
|
overridevirtual |
The size of the border for that kernel.
Reimplemented from IKernel.
Definition at line 1049 of file NECannyEdgeKernel.cpp.
Referenced by NEEdgeTraceKernel::configure().
Initialise the kernel's source, destination and border mode.
[in,out] | input | Source tensor. Data type supported: U8. Must contain 0 for "no edge", 127 for "maybe", 255 for "edge" |
[in,out] | output | Destination tensor. Data type supported: U8. Must be initialized to 0 (No edge). |
Definition at line 1059 of file NECannyEdgeKernel.cpp.
References ValidRegion::anchor, ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN, ARM_COMPUTE_ERROR_ON_MISMATCHING_DATA_TYPES, ARM_COMPUTE_ERROR_ON_MISMATCHING_SHAPES, ARM_COMPUTE_ERROR_ON_NULLPTR, NEEdgeTraceKernel::border_size(), BorderSize::bottom, arm_compute::calculate_max_window(), ITensor::info(), arm_compute::test::validation::input, BorderSize::left, num_elems_processed_per_iteration, BorderSize::right, arm_compute::set_format_if_unknown(), arm_compute::set_shape_if_empty(), ValidRegion::shape, ITensorInfo::tensor_shape(), BorderSize::top, arm_compute::U8, arm_compute::update_window_and_padding(), and ITensorInfo::valid_region().
|
overridevirtual |
Indicates whether or not the kernel is parallelisable.
If the kernel is parallelisable then the window returned by window() can be split into sub-windows which can then be run in parallel.
If the kernel is not parallelisable then only the window returned by window() can be passed to run()
Reimplemented from IKernel.
Definition at line 1054 of file NECannyEdgeKernel.cpp.
|
inlineoverridevirtual |
Name of the kernel.
Implements ICPPKernel.
Definition at line 155 of file NECannyEdgeKernel.h.
References IKernel::border_size(), NEGradientKernel::configure(), arm_compute::test::validation::info, arm_compute::test::validation::input, IKernel::is_parallelisable(), NEGradientKernel::operator=(), NEGradientKernel::run(), and IKernel::window().
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Allow instances of this class to be moved.
|
overridevirtual |
Execute the kernel on the passed window.
[in] | window | Region on which to execute the kernel. (Must be a region of the window returned by window()) |
[in] | info | Info about executing thread and CPU. |
Reimplemented from ICPPKernel.
Definition at line 1105 of file NECannyEdgeKernel.cpp.
References ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW, ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL, ARM_COMPUTE_UNUSED, arm_compute::execute_window_loop(), ITensor::info(), arm_compute::test::validation::input, Iterator::ptr(), ITensorInfo::strides_in_bytes(), and IKernel::window().