87 "Maximum number of dimensions expected %u but dimension %u is not empty", max_dim, i);
99 "Only 2D Tensors are supported by this kernel (%zu passed)", tensor->
info()->
num_dimensions());
108 function, file, line,
109 "Only 2D Tensors are supported by this kernel (%zu passed)", tensor->
num_dimensions());
150 for(
size_t i = 1; i < multi_hog->
num_models(); ++i)
153 function, file, line,
154 "All HOG parameters must have the same phase type");
156 function, file, line,
157 "All HOG parameters must have the same normalization type");
160 function, file, line,
161 "All HOG parameters must have the same l2 hysteresis threshold if you use L2 hysteresis normalization type");
171 function, file, line,
172 "This kernel hasn't been configured.");
180 for(
unsigned int i = 0; i < TensorShape::num_max_dimensions; ++i)
182 const bool invalid_idx = coords[i] >=
static_cast<int>(parent_shape[i]);
183 const bool out_of_bounds_size = coords[i] +
static_cast<int>(shape[i]) > static_cast<int>(parent_shape[i]);
193 for(
unsigned int d = 0; d < TensorShape::num_max_dimensions; ++d)
197 function, file, line);
Common information for all the kernels.
L2-norm followed by clipping.
virtual size_t num_dimensions() const =0
The number of dimensions of the tensor (rank)
A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte.
const Window & window() const
The maximum window the kernel can be executed on.
arm_compute::Status error_on_channel_not_in_known_format(const char *function, const char *file, const int line, Format fmt, Channel cn)
Return an error if the channel is not in format.
#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line, msg)
If the condition is true, an error is thrown.
TensorShape shape
Shape of the valid region.
arm_compute::Status error_on_unconfigured_kernel(const char *function, const char *file, const int line, const IKernel *kernel)
Return an error if the kernel is not configured.
arm_compute::Status error_on_window_dimensions_gte(const char *function, const char *file, const int line, const Window &win, unsigned int max_dim)
Return an error if the passed window has too many dimensions.
#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)
If the condition is true, an error is returned.
constexpr int step() const
Return the step of the dimension.
Store the tensor's metadata.
A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling.
arm_compute::Status error_on_tensor_not_2d(const char *function, const char *file, const int line, const ITensor *tensor)
Return an error if the tensor is not 2D.
void validate() const
Will validate all the window's dimensions' values when asserts are enabled.
const ValidRegion valid_region
PhaseType phase_type() const
The type of PhaseType.
Interface for Neon tensor.
A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling.
HOGNormType normalization_type() const
The normalization type.
virtual size_t num_models() const =0
The number of HOG models stored.
3 channels, 1 U8 per channel
arm_compute::Status error_on_mismatching_windows(const char *function, const char *file, const int line, const Window &full, const Window &win)
Return an error if the passed window is invalid.
Channel
Available channels.
Format
Image colour formats.
arm_compute::Status error_on_channel_not_in(const char *function, const char *file, const int line, T cn, T &&channel, Ts &&... channels)
Return an error if the channel is not in channels.
#define ARM_COMPUTE_ERROR_LOC(func, file, line, msg)
Print the given message then throw an std::runtime_error.
A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
float l2_hyst_threshold() const
Threshold used for L2HYS_NORM normalization type.
void end(TokenStream &in, bool &valid)
#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG_VAR(cond, func, file, line, msg,...)
If the condition is true, an error is thrown.
arm_compute::Status error_on_invalid_subtensor(const char *function, const char *file, const int line, const TensorShape &parent_shape, const Coordinates &coords, const TensorShape &shape)
Return an error if if the coordinates and shape of the subtensor are within the parent tensor...
A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes.
4 channels, 1 U8 per channel
virtual IHOG * model(size_t index)=0
Return a pointer to the requested HOG model.
Interface for storing multiple HOG data-objects.
2 channel, 1 U8 per channel
arm_compute::Status error_on_invalid_multi_hog(const char *function, const char *file, const int line, const IMultiHOG *multi_hog)
Return an error if the IMultiHOG container is invalid.
virtual const HOGInfo * info() const =0
Interface to be implemented by the child class to return the HOG's metadata.
Container for valid region of a window.
constexpr int end() const
Return the end of the dimension.
A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes.
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
constexpr int start() const
Return the start of the dimension.
arm_compute::Status error_on_coordinates_dimensions_gte(const char *function, const char *file, const int line, const Coordinates &pos, unsigned int max_dim)
Return an error if the passed coordinates have too many dimensions.
Describe a multidimensional execution window.
arm_compute::Status error_on_invalid_subwindow(const char *function, const char *file, const int line, const Window &full, const Window &sub)
Return an error if the passed subwindow is invalid.
arm_compute::Status error_on_invalid_subtensor_valid_region(const char *function, const char *file, const int line, const ValidRegion &parent_valid_region, const ValidRegion &valid_region)
Return an error if the valid region of a subtensor is not inside the valid region of the parent tenso...
Coordinates anchor
Anchor for the start of the valid region.
constexpr const Dimension & x() const
Alias to access the first dimension of the window.
arm_compute::Status error_on_window_not_collapsable_at_dimension(const char *function, const char *file, const int line, const Window &full, const Window &window, const int dim)
Return an error if the window can't be collapsed at the given dimension.