21.02
|
Basic function to execute laplacian reconstruction. More...
#include <NELaplacianReconstruct.h>
Public Member Functions | |
NELaplacianReconstruct () | |
Constructor. More... | |
NELaplacianReconstruct (const NELaplacianReconstruct &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
NELaplacianReconstruct & | operator= (const NELaplacianReconstruct &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
NELaplacianReconstruct (NELaplacianReconstruct &&)=delete | |
Prevent instances of this class from being moved (As this class contains non movable objects) More... | |
NELaplacianReconstruct & | operator= (NELaplacianReconstruct &&)=delete |
Prevent instances of this class from being moved (As this class contains non movable objects) More... | |
~NELaplacianReconstruct () | |
Default destructor. More... | |
void | configure (const IPyramid *pyramid, ITensor *input, ITensor *output, BorderMode border_mode, uint8_t constant_border_value) |
Initialise the function's source, destinations and border mode. More... | |
void | run () override |
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... | |
Basic function to execute laplacian reconstruction.
This function calls the following Neon kernels and functions:
This function reconstructs the original image from a Laplacian Image Pyramid.
The input image is added to the last level of the Laplacian pyramid L(n-2), the resulting image is upsampled to the resolution of the next pyramid level.
I(n-2) = upsample( input + L(n-1)
For each pyramid level i, except i=0 and i=n-1: I(i-1) = upsample(I(i) + L(i))
output = I(0) + L(0)
Definition at line 63 of file NELaplacianReconstruct.h.
Constructor.
Definition at line 39 of file NELaplacianReconstruct.cpp.
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
delete |
Prevent instances of this class from being moved (As this class contains non movable objects)
|
default |
Default destructor.
void configure | ( | const IPyramid * | pyramid, |
ITensor * | input, | ||
ITensor * | output, | ||
BorderMode | border_mode, | ||
uint8_t | constant_border_value | ||
) |
Initialise the function's source, destinations and border mode.
The Output image must have the same size as the first level of the pyramid. The Input image must have the same size as the last level of the pyramid.
The idea is to reconstuct the original hi-res image from a low-res representation of it and the laplacian pyramid.
[in] | pyramid | Laplacian pyramid tensors, Data type supported at each level: S16. |
[in] | input | Source tensor. Data type supported: S16. |
[out] | output | Output tensor. Data type supported: U8. |
[in] | border_mode | Border mode to use for the convolution. |
[in] | constant_border_value | (Optional) Constant value to use for borders if border_mode is set to CONSTANT. |
Definition at line 47 of file NELaplacianReconstruct.cpp.
References Pyramid::allocate(), ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN, arm_compute::CENTER, NEDepthConvertLayer::configure(), ITensorInfo::dimension(), IPyramid::get_pyramid_level(), Pyramid::get_pyramid_level(), ITensor::info(), IPyramid::info(), arm_compute::test::validation::info, Pyramid::init(), PyramidInfo::init(), arm_compute::NEAREST_NEIGHBOR, ITensorInfo::num_dimensions(), PyramidInfo::num_levels(), arm_compute::S16, arm_compute::SATURATE, ITensorInfo::tensor_shape(), and arm_compute::U8.
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
delete |
Prevent instances of this class from being moved (As this class contains non movable objects)
|
overridevirtual |
Run the kernels contained in the function.
For Neon kernels:
For OpenCL kernels:
Implements IFunction.
Definition at line 89 of file NELaplacianReconstruct.cpp.
References ARM_COMPUTE_ERROR_ON_MSG, Pyramid::info(), PyramidInfo::num_levels(), and INESimpleFunctionNoBorder::run().