Compute Library
NENonLinearFilter Class Reference

Basic function to execute non linear filter. More...

#include <NENonLinearFilter.h>

Collaboration diagram for NENonLinearFilter:

Public Member Functions

void configure (ITensor *input, ITensor *output, NonLinearFilterFunction function, unsigned int mask_size, MatrixPattern pattern, const uint8_t *mask, BorderMode border_mode, uint8_t constant_border_value=0)
 Initialize the function's source, destination, conv and border_mode. More...
- Public Member Functions inherited from INESimpleFunction
 INESimpleFunction ()
 Constructor. More...
void run () override final
 Run the kernels contained in the function. More...
- Public Member Functions inherited from IFunction
virtual ~IFunction ()=default
 Destructor. More...
virtual void prepare ()
 Prepare the function for executing. More...

Detailed Description

Basic function to execute non linear filter.

This function calls the following NEON kernels:

  1. NEFillBorderKernel (executed if border_mode == CONSTANT or border_mode == REPLICATE)
  2. NENonLinearFilterKernel
Supported mask dimensions squares of sizes 3, 5

Definition at line 43 of file NENonLinearFilter.h.

Member Function Documentation

◆ configure()

void configure ( ITensor input,
ITensor output,
NonLinearFilterFunction  function,
unsigned int  mask_size,
MatrixPattern  pattern,
const uint8_t *  mask,
BorderMode  border_mode,
uint8_t  constant_border_value = 0 

Initialize the function's source, destination, conv and border_mode.

[in,out]inputSource tensor. Data type supported: U8. (Written to only for border_mode != UNDEFINED)
[out]outputDestination tensor. Data type supported: U8
[in]functionNon linear function to perform
[in]mask_sizeMask size. Supported sizes: 3, 5
[in]patternMask pattern
[in]maskThe given mask. Will be used only if pattern is specified to PATTERN_OTHER
[in]border_modeStrategy to use for borders.
[in]constant_border_value(Optional) Constant value to use for borders if border_mode is set to CONSTANT.

Definition at line 34 of file NENonLinearFilter.cpp.

37 {
38  auto k = arm_compute::support::cpp14::make_unique<NENonLinearFilterKernel>();
39  k->configure(input, output, function, mask_size, pattern, mask, border_mode == BorderMode::UNDEFINED);
40  _kernel = std::move(k);
41  _border_handler.configure(input, _kernel->border_size(), border_mode, PixelValue(constant_border_value));
42 }
Class describing the value of a pixel for any image format.
Definition: PixelValue.h:34
Borders are left undefined.

References arm_compute::test::validation::border_mode, arm_compute::test::validation::input, and arm_compute::UNDEFINED.

The documentation for this class was generated from the following files: