The vil bicub source files were derived from the corresponding vil bilin files, thus the vil bilin/bicub source files are very similar. If you modify something in this file, there is a corresponding bicub file that would likely also benefit from the same change.
Definition in file vil_bilin_interp.h.
#include <vcl_cassert.h>
#include <vcl_cstddef.h>
#include <vil/vil_image_view.h>
Go to the source code of this file.
Functions | |
| template<class T> | |
| double | vil_bilin_interp_unsafe (double x, double y, const T *data, vcl_ptrdiff_t xstep, vcl_ptrdiff_t ystep) |
| Compute bilinear interpolation at (x,y), no bound checks. Requires 0<x<ni-2, 0<y<nj-2. | |
| template<class T> | |
| double | vil_bilin_interp_unsafe (double x, double y, const T *data, int, int, vcl_ptrdiff_t xstep, vcl_ptrdiff_t ystep) |
| Compute bilinear interpolation at (x,y), no bound checks. Requires 0<x<ni-2, 0<y<nj-2. | |
| template<class T> | |
| double | vil_bilin_interp_raw (double x, double y, const T *data, vcl_ptrdiff_t xstep, vcl_ptrdiff_t ystep) |
| Compute bilinear interpolation at (x,y), no bound checks. | |
| template<class T> | |
| double | vil_bilin_interp_raw (double x, double y, const T *data, int, int, vcl_ptrdiff_t xstep, vcl_ptrdiff_t ystep) |
| Compute bilinear interpolation at (x,y), no bound checks. | |
| template<class T> | |
| double | vil_bilin_interp_safe (double x, double y, const T *data, int nx, int ny, vcl_ptrdiff_t xstep, vcl_ptrdiff_t ystep) |
| Compute bilinear interpolation at (x,y), with bound checks. | |
| template<class T> | |
| double | vil_bilin_interp (double x, double y, const T *data, int nx, int ny, vcl_ptrdiff_t xstep, vcl_ptrdiff_t ystep) |
| Compute bilinear interpolation at (x,y), with minimal bound checks. | |
| template<class T> | |
| double | vil_bilin_interp_safe_extend (double x, double y, const T *data, int nx, int ny, vcl_ptrdiff_t xstep, vcl_ptrdiff_t ystep) |
| Compute bilinear interpolation at (x,y), with bound checks. | |
| double vil_bilin_interp | ( | double | x, | |
| double | y, | |||
| const T * | data, | |||
| int | nx, | |||
| int | ny, | |||
| vcl_ptrdiff_t | xstep, | |||
| vcl_ptrdiff_t | ystep | |||
| ) | [inline] |
Compute bilinear interpolation at (x,y), with minimal bound checks.
Image is nx * ny array of Ts. x,y element is data[ystep*y+xstep*x] If (x,y) is outside interpolatable image region and NDEBUG is not defined the code will fail an ASSERT. The safe interpolatable region is [0,nx-1]*[0,ny-1].
Definition at line 128 of file vil_bilin_interp.h.
| double vil_bilin_interp_raw | ( | double | x, | |
| double | y, | |||
| const T * | data, | |||
| int | , | |||
| int | , | |||
| vcl_ptrdiff_t | xstep, | |||
| vcl_ptrdiff_t | ystep | |||
| ) | [inline] |
Compute bilinear interpolation at (x,y), no bound checks.
Image is nx * ny array of Ts. x,y element is data[xstep*x+ystep*y] No bound checks are done. This is a version of vil_bilin_interp_raw with the same function signature as vil_bilin_interp_safe.
Definition at line 85 of file vil_bilin_interp.h.
| double vil_bilin_interp_raw | ( | double | x, | |
| double | y, | |||
| const T * | data, | |||
| vcl_ptrdiff_t | xstep, | |||
| vcl_ptrdiff_t | ystep | |||
| ) | [inline] |
Compute bilinear interpolation at (x,y), no bound checks.
Image is nx * ny array of Ts. x,y element is data[xstep*x+ystep*y] No bound checks are done.
Definition at line 57 of file vil_bilin_interp.h.
| double vil_bilin_interp_safe | ( | double | x, | |
| double | y, | |||
| const T * | data, | |||
| int | nx, | |||
| int | ny, | |||
| vcl_ptrdiff_t | xstep, | |||
| vcl_ptrdiff_t | ystep | |||
| ) | [inline] |
Compute bilinear interpolation at (x,y), with bound checks.
Image is nx * ny array of Ts. x,y element is data[xstep*x+ystep*y] If (x,y) is outside interpolatable image region, zero is returned. The safe interpolatable region is [0,nx-1]*[0,ny-1].
Definition at line 97 of file vil_bilin_interp.h.
| double vil_bilin_interp_safe_extend | ( | double | x, | |
| double | y, | |||
| const T * | data, | |||
| int | nx, | |||
| int | ny, | |||
| vcl_ptrdiff_t | xstep, | |||
| vcl_ptrdiff_t | ystep | |||
| ) | [inline] |
Compute bilinear interpolation at (x,y), with bound checks.
Image is nx * ny array of Ts. x,y element is data[nx*y+x] If (x,y) is outside safe interpolatable image region, nearest pixel value is returned. The safe interpolatable region is [0,nx-1]*[0,ny-1].
Definition at line 159 of file vil_bilin_interp.h.
| double vil_bilin_interp_unsafe | ( | double | x, | |
| double | y, | |||
| const T * | data, | |||
| int | , | |||
| int | , | |||
| vcl_ptrdiff_t | xstep, | |||
| vcl_ptrdiff_t | ystep | |||
| ) | [inline] |
Compute bilinear interpolation at (x,y), no bound checks. Requires 0<x<ni-2, 0<y<nj-2.
Image is nx * ny array of Ts. x,y element is data[xstep*x+ystep*y] No bound checks are done. This is a version of vil_bilin_interp_unsafe with the same function signature as vil_bilin_interp_safe.
Definition at line 46 of file vil_bilin_interp.h.
| double vil_bilin_interp_unsafe | ( | double | x, | |
| double | y, | |||
| const T * | data, | |||
| vcl_ptrdiff_t | xstep, | |||
| vcl_ptrdiff_t | ystep | |||
| ) | [inline] |
Compute bilinear interpolation at (x,y), no bound checks. Requires 0<x<ni-2, 0<y<nj-2.
Image is nx * ny array of Ts. x,y element is data[xstep*x+ystep*y] No bound checks are done.
Definition at line 23 of file vil_bilin_interp.h.
1.5.1