10 #include <isce3/core/forward.h>
11 #include <isce3/core/Common.h>
16 namespace isce3{
namespace cuda{
namespace core{
18 class gpuInterpolator {
20 CUDA_HOSTDEV gpuInterpolator() {}
21 CUDA_HOSTDEV
virtual ~gpuInterpolator() {}
22 CUDA_DEV
virtual U interpolate(
double,
double,
const U*,
size_t,
size_t) = 0;
31 CUDA_DEV U interpolate(
double,
double,
const U*,
size_t,
size_t);
41 CUDA_DEV U interpolate(
double,
double,
const U*,
size_t,
size_t);
53 CUDA_DEV U interpolate(
double,
double,
const U*,
size_t,
size_t);
63 int kernel_length, kernel_width, sinc_half;
69 CUDA_HOST gpuSinc2dInterpolator(
int sincLen,
int sincSub);
70 CUDA_HOSTDEV gpuSinc2dInterpolator(
const gpuSinc2dInterpolator &i):
71 kernel(i.kernel), kernel_length(i.kernel_length), kernel_width(i.kernel_width), sinc_half(i.sinc_half),
72 intpx(i.intpx), intpy(i.intpy), owner(false) {};
73 CUDA_HOSTDEV ~gpuSinc2dInterpolator();
74 CUDA_HOST
void sinc_coef(
double,
double,
int,
double,
int, std::valarray<double>&);
75 CUDA_DEV U interpolate(
double,
double,
const U*,
size_t,
size_t);
gpuSpline2dInterpolator class derived from abstract gpuInterpolator class
Definition: gpuInterpolator.h:48
gpuBicubicInterpolator class derived from abstract gpuInterpolator class
Definition: gpuInterpolator.h:38
gpuBilinearInterpolator class derived from abstract gpuInterpolator class
Definition: gpuInterpolator.h:28
Data structure for a 2D row-major matrix.
Definition: forward.h:31
gpuSinc2dInterpolator class derived from abstract gpuInterpolator class
Definition: forward.h:14