24 #ifndef __ARM_COMPUTE_NEHISTOGRAMKERNEL_H__ 25 #define __ARM_COMPUTE_NEHISTOGRAMKERNEL_H__ 35 class IDistribution1D;
89 void merge_histogram(uint32_t *global_hist,
const uint32_t *local_hist,
size_t bins);
95 void merge_min(uint8_t *global_min,
const uint8_t &local_min);
100 void histogram_U8(
const Window &win);
106 void histogram_fixed_U8(
const Window &win);
113 void calculate_window_lut()
const;
120 HistogramFunction _func;
125 uint32_t *_local_hist;
126 uint32_t *_window_lut;
127 std::mutex _hist_mtx;
128 static constexpr
unsigned int _max_range_size{ 256 };
179 void histogram_U8(
const Window &win);
185 void histogram_fixed_U8(
const Window &win);
192 HistogramBorderFunction _func;
197 uint32_t *_window_lut;
198 static constexpr
unsigned int _max_range_size{ 256 };
NEHistogramKernel()
Default constructor.
Common interface for all kernels implemented in C++.
void run(const Window &window) override
Execute the kernel on the passed window.
Interface for NEON tensor.
Interface for the histogram kernel.
~NEHistogramKernel()=default
Default destructor.
1D Distribution interface
virtual bool is_parallelisable() const
Indicates whether or not the kernel is parallelisable.
Interface for the histogram border handling kernel.
void configure(const IImage *input, IDistribution1D *output, uint32_t *local_hist, uint32_t *window_lut)
Set the input image and the distribution output.
const Window & window() const
The maximum window the kernel can be executed on.
Describe a multidimensional execution window.
NEHistogramKernel & operator=(const NEHistogramKernel &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...