24 #ifndef ARM_COMPUTE_NEHISTOGRAMKERNEL_H 25 #define ARM_COMPUTE_NEHISTOGRAMKERNEL_H 35 class IDistribution1D;
43 const char *
name()
const override 45 return "NEHistogramKernel";
93 void merge_histogram(uint32_t *global_hist,
const uint32_t *local_hist,
size_t bins);
99 void merge_min(uint8_t *global_min,
const uint8_t &local_min);
119 void calculate_window_lut()
const;
126 HistogramFunctionPtr _func;
129 uint32_t *_local_hist;
130 uint32_t *_window_lut;
132 static constexpr
unsigned int _max_range_size{ 256 };
const Window & window() const
The maximum window the kernel can be executed on.
NEHistogramKernel()
Default constructor.
Common interface for all kernels implemented in C++.
std::mutex Mutex
Wrapper of Mutex data-object.
Interface for Neon tensor.
Copyright (c) 2017-2021 Arm Limited.
Interface for the histogram kernel.
const char * name() const override
Name of the kernel.
~NEHistogramKernel()=default
Default destructor.
1D Distribution interface
void run(const Window &window, const ThreadInfo &info) override
Execute the kernel on the passed window.
ITensor IImage
Interface for CPP Images.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
Information about executing thread and CPU.
void configure(const IImage *input, IDistribution1D *output, uint32_t *local_hist, uint32_t *window_lut)
Set the input image and the distribution output.
Describe a multidimensional execution window.
NEHistogramKernel & operator=(const NEHistogramKernel &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...