24 #ifndef __ARM_COMPUTE_NECANNYEDGEKERNEL_H__ 25 #define __ARM_COMPUTE_NECANNYEDGEKERNEL_H__ 39 const char *
name()
const override 41 return "NEGradientKernel";
79 using GradientFunction = void(
const void *__restrict gx_ptr,
const void *__restrict gy_ptr,
void *__restrict magnitude_ptr,
void *__restrict phase_ptr);
81 GradientFunction *_func;
88 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 94 const char *
name()
const override 96 return "NEGradientFP16Kernel";
116 const char *
name()
const override 118 return "NEEdgeNonMaxSuppressionKernel";
158 using EdgeNonMaxSupprFunction = void(
const void *__restrict magnitude_ptr,
const void *__restrict phase_ptr,
void *__restrict output_ptr,
const uint32_t stride_mag,
const int32_t upper_thr,
159 const int32_t lower_thr);
161 EdgeNonMaxSupprFunction *_func;
173 const char *
name()
const override 175 return "NEEdgeTraceKernel";
NEGradientKernel & operator=(const NEGradientKernel &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
virtual ~NEGradientKernel()=default
Default destructor.
Computes magnitude and quantised phase from inputs gradients.
Container for 2D border size.
Common interface for all kernels implemented in C++.
const char * name() const override
Name of the kernel.
SimpleTensor< uint8_t > phase(const SimpleTensor< T > &gx, const SimpleTensor< T > &gy, PhaseType phase_type)
Interface for NEON tensor.
NEON kernel to perform Edge tracing.
src info() -> set_format(Format::S16)
This file contains all available output stages for GEMMLowp on OpenCL.
NEON kernel to perform Non-Maxima suppression for Canny Edge.
virtual bool is_parallelisable() const
Indicates whether or not the kernel is parallelisable.
const char * name() const override
Name of the kernel.
const char * name() const override
Name of the kernel.
virtual BorderSize border_size() const
The size of the border for that kernel.
virtual void configure(const ITensor *gx, const ITensor *gy, ITensor *magnitude, ITensor *phase, int32_t norm_type)
Initialise the kernel's sources, destinations and border mode.
NEGradientKernel()
Default constructor.
void run(const Window &window, const ThreadInfo &info) override
Execute the kernel on the passed window.
Information about executing thread and CPU.
const Window & window() const
The maximum window the kernel can be executed on.
Describe a multidimensional execution window.
SimpleTensor< T > magnitude(const SimpleTensor< T > &gx, const SimpleTensor< T > &gy, MagnitudeType magnitude_type)