37 #define CPU_GPU __device__ __host__
63 #ifndef NVCC_COMPILING
77 #ifndef NVCC_COMPILING
160 :
o(par_o),
d0X(par_d0X),
ddX(par_ddX),
deltaY(par_deltaY) {}
219 template<
typename DestPixelT,
typename SrcPixelT>
SVec2 d0X
defines the value at origin
boost::uint16_t MaskPixel
SPoint2 MovePoint(SPoint2 p, SVec2 v)
SPoint2(lsst::afw::geom::Point2D p)
SVec2(SPoint2 a, SPoint2 b)
lsst::afw::image::MaskPixel MskPixel
SVec2 deltaX
defines the value at the origin
SVec2 VecMul(SVec2 v, double m)
SVec2(lsst::afw::geom::Extent2D e)
defines memory region containing image data
void WarpImageGpuCallKernel(bool isMaskedImage, ImageDataPtr< DestPixelT > destImageGpu, ImageDataPtr< SrcPixelT > srcImageGpu, int mainKernelSize, KernelType maskKernelType, int maskKernelSize, SBox2I srcGoodBox, PixelIVM< DestPixelT > edgePixel, BilinearInterp *srcPosInterp, int interpLength)
Calls the GPU kernel for lanczos resampling.
int const SIZE_X_WARPING_BLOCK
defines a 2D range of integer values begX <= x < endX, begY <= y < endY
SPoint2(double par_x, double par_y)
int const SIZE_MAX_WARPING_KERNEL
bool isInsideBox(gpu::SPoint2 p)
LinearInterp GetLinearInterp(int subY)
intersects the interpolation surface with a const-y plane
Simple 2D point (suitable for use on a GPU)
SPoint2 Interpolate(int subX)
Calculates a value of the interpolation function at subX.
SVec2 VecAdd(SVec2 a, SVec2 b)
lsst::afw::image::VariancePixel VarPixel
ImageT::SinglePixel edgePixel(lsst::afw::image::detail::Image_tag)
Return an off-the-edge pixel appropriate for a given Image type.
defines a pixel having image, variance and mask planes
float VariancePixel
! default type for Masks and MaskedImage Masks
SPoint2 Interpolate(int subX, int subY)
Calculates a value of the interpolation surface at a point (subX,subY)
BilinearInterp()
difference of neighboring values in the first column (gradient of a line at x=0)
Simple 2D vector (suitable for use on a GPU)
SBox2I(int par_begX, int par_begY, int par_endX, int par_endY)
int const SIZE_Y_WARPING_BLOCK
afw::table::Key< double > b
SVec2 VecSub(SVec2 a, SVec2 b)
SVec2(double par_x, double par_y)
BilinearInterp(SPoint2 par_o, SVec2 par_d0X, SVec2 par_ddX, SVec2 par_deltaY)
LinearInterp(SPoint2 par_o, SVec2 par_deltaX)
difference of neighboring values of the function (the gradient)
SVec2 ddX
difference of difference of neighboring values in two neighbouring rows (diff. of gradients at x=0 an...