21.02
|
CPP kernel to perform sorting and euclidean distance. More...
#include <CPPSortEuclideanDistanceKernel.h>
Public Member Functions | |
const char * | name () const override |
Name of the kernel. More... | |
CPPSortEuclideanDistanceKernel () | |
Default constructor. More... | |
CPPSortEuclideanDistanceKernel (const CPPSortEuclideanDistanceKernel &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
CPPSortEuclideanDistanceKernel & | operator= (const CPPSortEuclideanDistanceKernel &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
CPPSortEuclideanDistanceKernel (CPPSortEuclideanDistanceKernel &&)=default | |
Allow instances of this class to be moved. More... | |
CPPSortEuclideanDistanceKernel & | operator= (CPPSortEuclideanDistanceKernel &&)=default |
Allow instances of this class to be moved. More... | |
void | configure (InternalKeypoint *in_out, IKeyPointArray *output, const int32_t *num_corner_candidates, float min_distance) |
Initialise the kernel's source, destination and border mode. More... | |
void | run (const Window &window, const ThreadInfo &info) override |
Execute the kernel on the passed window. More... | |
bool | is_parallelisable () const override |
Indicates whether or not the kernel is parallelisable. More... | |
Public Member Functions inherited from ICPPKernel | |
virtual | ~ICPPKernel ()=default |
Default destructor. More... | |
virtual void | run_nd (const Window &window, const ThreadInfo &info, const Window &thread_locator) |
legacy compatibility layer for implemantions which do not support thread_locator In these cases we simply narrow the interface down the legacy version More... | |
virtual void | run_op (ITensorPack &tensors, const Window &window, const ThreadInfo &info) |
Execute the kernel on the passed window. More... | |
Public Member Functions inherited from IKernel | |
IKernel () | |
Constructor. More... | |
virtual | ~IKernel ()=default |
Destructor. More... | |
virtual BorderSize | border_size () const |
The size of the border for that kernel. More... | |
const Window & | window () const |
The maximum window the kernel can be executed on. More... | |
CPP kernel to perform sorting and euclidean distance.
Definition at line 36 of file CPPSortEuclideanDistanceKernel.h.
Default constructor.
Definition at line 47 of file CPPSortEuclideanDistanceKernel.cpp.
Referenced by CPPSortEuclideanDistanceKernel::name().
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Allow instances of this class to be moved.
void configure | ( | InternalKeypoint * | in_out, |
IKeyPointArray * | output, | ||
const int32_t * | num_corner_candidates, | ||
float | min_distance | ||
) |
Initialise the kernel's source, destination and border mode.
[in,out] | in_out | Input internal keypoints. Marked as out as the kernel writes 0 in the strength member. |
[out] | output | Output keypoints. |
[in] | num_corner_candidates | Pointer to the number of corner candidates in the input array |
[in] | min_distance | Radial Euclidean distance to use |
Definition at line 52 of file CPPSortEuclideanDistanceKernel.cpp.
References ARM_COMPUTE_ERROR_ON.
Referenced by NEHarrisCorners::configure(), CLHarrisCorners::configure(), and CPPSortEuclideanDistanceKernel::name().
|
overridevirtual |
Indicates whether or not the kernel is parallelisable.
If the kernel is parallelisable then the window returned by window() can be split into sub-windows which can then be run in parallel.
If the kernel is not parallelisable then only the window returned by window() can be passed to run()
Reimplemented from IKernel.
Definition at line 66 of file CPPSortEuclideanDistanceKernel.cpp.
Referenced by CPPSortEuclideanDistanceKernel::name().
|
inlineoverridevirtual |
Name of the kernel.
Implements ICPPKernel.
Definition at line 39 of file CPPSortEuclideanDistanceKernel.h.
References CPPSortEuclideanDistanceKernel::configure(), CPPSortEuclideanDistanceKernel::CPPSortEuclideanDistanceKernel(), arm_compute::test::validation::info, CPPSortEuclideanDistanceKernel::is_parallelisable(), CPPSortEuclideanDistanceKernel::operator=(), CPPSortEuclideanDistanceKernel::run(), and IKernel::window().
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
Referenced by CPPSortEuclideanDistanceKernel::name().
|
default |
Allow instances of this class to be moved.
|
overridevirtual |
Execute the kernel on the passed window.
[in] | window | Region on which to execute the kernel. (Must be a region of the window returned by window()) |
[in] | info | Info about executing thread and CPU. |
Reimplemented from ICPPKernel.
Definition at line 71 of file CPPSortEuclideanDistanceKernel.cpp.
References ARM_COMPUTE_ERROR_ON_MISMATCHING_WINDOWS, ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL, ARM_COMPUTE_UNUSED, keypoint_compare(), IArray< T >::push_back(), KeyPoint::strength, KeyPoint::tracking_status, IKernel::window(), KeyPoint::x, and KeyPoint::y.
Referenced by CPPSortEuclideanDistanceKernel::name().