37 : _memory_group(
std::move(memory_manager)),
59 _memory_group.
manage(&_gx);
60 _memory_group.
manage(&_gy);
63 _derivative.
configure(input, &_gx, &_gy, border_mode, constant_border_value);
68 auto k = std::make_unique<NEMagnitudePhaseKernel<MagnitudeType::L2NORM, PhaseType::UNSIGNED>>();
69 k->configure(&_gx, &_gy, output_magnitude, output_phase);
70 _mag_phase = std::move(k);
74 auto k = std::make_unique<NEMagnitudePhaseKernel<MagnitudeType::L2NORM, PhaseType::SIGNED>>();
75 k->configure(&_gx, &_gy, output_magnitude, output_phase);
76 _mag_phase = std::move(k);
BorderMode
Methods available to handle borders.
void init(const TensorAllocator &allocator, const Coordinates &coords, TensorInfo &sub_info)
Shares the same backing memory with another tensor allocator, while the tensor info might be differen...
PhaseType
Phase calculation type.
void configure(ITensor *input, ITensor *output_x, ITensor *output_y, BorderMode border_mode, uint8_t constant_border_value=0)
Initialise the function's source, destinations and border mode.
1 channel, 1 U8 per channel
NEHOGGradient(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Default constructor.
Interface for Neon tensor.
Copyright (c) 2017-2021 Arm Limited.
void run() override
Run the kernels contained in the function.
TensorAllocator * allocator()
Return a pointer to the tensor's allocator.
void configure(ITensor *input, ITensor *output_magnitude, ITensor *output_phase, PhaseType phase_type, BorderMode border_mode, uint8_t constant_border_value=0)
Initialise the function's source, destinations, phase type and border mode.
void manage(IMemoryManageable *obj) override
Sets a object to be managed by the given memory group.
~NEHOGGradient()
Default destructor.
virtual const TensorShape & tensor_shape() const =0
Size for each dimension of the tensor.
void allocate() override
Allocate size specified by TensorInfo of CPU memory.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
1 channel, 1 S16 per channel
#define ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(t, c,...)
static constexpr size_t DimY
Alias for dimension 1 also known as Y dimension.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
Memory group resources scope handling class.
virtual void schedule(ICPPKernel *kernel, const Hints &hints)=0
Runs the kernel in the same thread as the caller synchronously.
void run() override
Run the kernels contained in the function.
Store the tensor's metadata.
static IScheduler & get()
Access the scheduler singleton.