24 #ifndef __ARM_COMPUTE_NECANNYEDGEKERNEL_H__ 25 #define __ARM_COMPUTE_NECANNYEDGEKERNEL_H__ 75 using GradientFunction = void(
const void *__restrict gx_ptr,
const void *__restrict gy_ptr,
void *__restrict magnitude_ptr,
void *__restrict phase_ptr);
77 GradientFunction *_func;
84 #ifdef ARM_COMPUTE_ENABLE_FP16 145 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,
146 const int32_t lower_thr);
148 EdgeNonMaxSupprFunction *_func;
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++.
Interface for NEON tensor.
NEON kernel to perform Edge tracing.
NEON kernel to perform Non-Maxima suppression for Canny Edge.
virtual bool is_parallelisable() const
Indicates whether or not the kernel is parallelisable.
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) override
Execute the kernel on the passed window.
NEON kernel to perform Gradient computation.
const Window & window() const
The maximum window the kernel can be executed on.
Describe a multidimensional execution window.