24 #ifndef __ARM_COMPUTE_NEHARRISCORNERSKERNEL_H__ 25 #define __ARM_COMPUTE_NEHARRISCORNERSKERNEL_H__ 68 virtual void configure(
const IImage *input1,
const IImage *input2,
IImage *output,
float norm_factor,
float strength_thresh,
float sensitivity,
bool border_undefined) = 0;
75 float _strength_thresh;
83 template <
int32_t block_size>
87 const char *
name()
const override 89 return "NEHarrisScoreKernel";
94 void configure(
const IImage *input1,
const IImage *input2,
IImage *output,
float norm_factor,
float strength_thresh,
float sensitivity,
bool border_undefined)
override;
100 using HarrisScoreFunction = void(
const void *__restrict input1_ptr,
const void *__restrict input2_ptr,
void *__restrict output_ptr, int32_t input_stride,
101 float norm_factor,
float sensitivity,
float strength_thresh);
103 HarrisScoreFunction *_func;
106 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 108 template <
int32_t block_size>
112 const char *
name()
const override 114 return "NEHarrisScoreFP16Kernel";
119 void configure(
const IImage *input1,
const IImage *input2,
IImage *output,
float norm_factor,
float strength_thresh,
float sensitivity,
bool border_undefined)
override;
124 using HarrisScoreFunction = void(
const void *__restrict input1_ptr,
const void *__restrict input2_ptr,
void *__restrict output_ptr, int32_t input_stride,
125 float norm_factor,
float sensitivity,
float strength_thresh);
127 HarrisScoreFunction *_func;
131 template <
int32_t block_size>
virtual void run(const Window &window, const ThreadInfo &info)=0
Execute the kernel on the passed window.
Container for 2D border size.
INEHarrisScoreKernel & operator=(const INEHarrisScoreKernel &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
Common interface for all kernels implemented in C++.
Template NEON kernel to perform Harris Score.
Interface for NEON tensor.
src info() -> set_format(Format::S16)
This file contains all available output stages for GEMMLowp on OpenCL.
virtual void configure(const IImage *input1, const IImage *input2, IImage *output, float norm_factor, float strength_thresh, float sensitivity, bool border_undefined)=0
Setup the kernel parameters.
NEHarrisScoreKernel< block_size > NEHarrisScoreFP16Kernel
Interface for the accumulate Weighted kernel using FP16.
INEHarrisScoreKernel()
Default constructor.
virtual BorderSize border_size() const
The size of the border for that kernel.
ITensor IImage
Interface for CPP Images.
Information about executing thread and CPU.
Common interface for all Harris Score kernels.
const char * name() const override
Name of the kernel.
~INEHarrisScoreKernel()=default
Default destructor.
const Window & window() const
The maximum window the kernel can be executed on.
Describe a multidimensional execution window.
virtual const char * name() const =0
Name of the kernel.