Definition in file vil_gauss_reduce.h.
#include <vil/vil_image_view.h>
#include <vxl_config.h>
Go to the source code of this file.
Classes | |
| class | vil_gauss_reduce_params |
Functions | |
| template<class T> | |
| void | vil_gauss_reduce_general (const vil_image_view< T > &src_im, vil_image_view< T > &dest_im, vil_image_view< T > &worka, vil_image_view< T > &workb, const vil_gauss_reduce_params ¶ms) |
| Smooth and subsample src_im by an arbitrary factor to produce dest_im. | |
| template<class T> | |
| void | vil_gauss_reduce_1plane (const T *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, T *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_1plane (const vxl_byte *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, vxl_byte *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_1plane (const float *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, float *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_1plane (const int *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, int *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_1plane (const double *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, double *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_1plane (const vxl_int_16 *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, vxl_int_16 *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im. | |
| template<class T> | |
| void | vil_gauss_reduce_121_1plane (const T *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, T *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_121_1plane (const vxl_byte *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, vxl_byte *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_121_1plane (const float *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, float *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_121_1plane (const int *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, int *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_121_1plane (const double *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, double *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_121_1plane (const vxl_int_16 *src_im, unsigned src_nx, unsigned src_ny, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, vxl_int_16 *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y. | |
| template<class T> | |
| void | vil_gauss_reduce_2_3_1plane (const T *src_im, unsigned src_ni, unsigned src_nj, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, T *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x, result is 2/3rd size. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_2_3_1plane (const vxl_byte *src_im, unsigned src_ni, unsigned src_nj, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, vxl_byte *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x, result is 2/3rd size. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_2_3_1plane (const int *src_im, unsigned src_ni, unsigned src_nj, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, int *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x, result is 2/3rd size. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_2_3_1plane (const vxl_int_16 *src_im, unsigned src_ni, unsigned src_nj, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, vxl_int_16 *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x, result is 2/3rd size. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_2_3_1plane (const float *src_im, unsigned src_ni, unsigned src_nj, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, float *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x, result is 2/3rd size. | |
| VCL_DEFINE_SPECIALIZATION void | vil_gauss_reduce_2_3_1plane (const double *src_im, unsigned src_ni, unsigned src_nj, vcl_ptrdiff_t s_x_step, vcl_ptrdiff_t s_y_step, double *dest_im, vcl_ptrdiff_t d_x_step, vcl_ptrdiff_t d_y_step) |
| Smooth and subsample single plane src_im in x, result is 2/3rd size. | |
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_121_1plane | ( | const vxl_int_16 * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| vxl_int_16 * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y.
Smoothes with a 3x3 filter and subsamples
Definition at line 726 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_121_1plane | ( | const double * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| double * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y.
Smoothes with a 3x3 filter and subsamples
Definition at line 582 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_121_1plane | ( | const int * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| int * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y.
Smoothes with a 3x3 filter and subsamples
Definition at line 654 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_121_1plane | ( | const float * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| float * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y.
Smoothes with a 3x3 filter and subsamples
Definition at line 510 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_121_1plane | ( | const vxl_byte * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| vxl_byte * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y.
Smoothes with a 3x3 filter and subsamples
Definition at line 438 of file vil_gauss_reduce.cxx.
| void vil_gauss_reduce_121_1plane | ( | const T * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| T * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im using 121 filter in x and y.
Smoothes with a 3x3 filter and subsamples
Definition at line 328 of file vil_gauss_reduce.txx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_1plane | ( | const vxl_int_16 * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| vxl_int_16 * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im.
Applies 1-5-8-5-1 filter in x, then samples every other pixel. Fills [0,(ni+1)/2-1][0,nj-1] elements of dest
Definition at line 184 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_1plane | ( | const double * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| double * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im.
Applies 1-5-8-5-1 filter in x, then samples every other pixel. Fills [0,(ni+1)/2-1][0,nj-1] elements of dest
Definition at line 102 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_1plane | ( | const int * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| int * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im.
Applies 1-5-8-5-1 filter in x, then samples every other pixel. Fills [0,(ni+1)/2-1][0,nj-1] elements of dest
Definition at line 142 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_1plane | ( | const float * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| float * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im.
Applies 1-5-8-5-1 filter in x, then samples every other pixel. Fills [0,(ni+1)/2-1][0,nj-1] elements of dest
Definition at line 61 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_1plane | ( | const vxl_byte * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| vxl_byte * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im.
Applies 1-5-8-5-1 filter in x, then samples every other pixel. Fills [0,(ni+1)/2-1][0,nj-1] elements of dest
Definition at line 19 of file vil_gauss_reduce.cxx.
| void vil_gauss_reduce_1plane | ( | const T * | src_im, | |
| unsigned | src_nx, | |||
| unsigned | src_ny, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| T * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x to produce dest_im.
Applies 1-5-8-5-1 filter in x, then samples every other pixel. Fills [0,(nx+1)/2-1][0,ny-1] elements of dest Assumes dest_im has sufficient data allocated.
This is essentially a utility function, used by mil_gauss_pyramid_builder
By applying twice we can obtain a full gaussian smoothed and sub-sampled 2D image.
Definition at line 281 of file vil_gauss_reduce.txx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_2_3_1plane | ( | const double * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| double * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x, result is 2/3rd size.
Applies alternate 1-3-1, 1-1 filter in x, then samples every other pixel. Fills [0,(2*ni+1)/3-1][0,nj-1] elements of dest
Note, 131 filter only an approximation
Definition at line 270 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_2_3_1plane | ( | const float * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| float * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x, result is 2/3rd size.
Applies alternate 1-3-1, 1-1 filter in x, then samples every other pixel. Fills [0,(2*ni+1)/3-1][0,nj-1] elements of dest
Note, 131 filter only an approximation
Definition at line 229 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_2_3_1plane | ( | const vxl_int_16 * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| vxl_int_16 * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x, result is 2/3rd size.
Applies alternate 1-3-1, 1-1 filter in x, then samples every other pixel. Fills [0,(2*ni+1)/3-1][0,nj-1] elements of dest
Note, 131 filter only an approximation
Definition at line 398 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_2_3_1plane | ( | const int * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| int * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x, result is 2/3rd size.
Applies alternate 1-3-1, 1-1 filter in x, then samples every other pixel. Fills [0,(2*ni+1)/3-1][0,nj-1] elements of dest
Note, 131 filter only an approximation
Definition at line 355 of file vil_gauss_reduce.cxx.
| VCL_DEFINE_SPECIALIZATION void vil_gauss_reduce_2_3_1plane | ( | const vxl_byte * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| vxl_byte * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x, result is 2/3rd size.
Applies alternate 1-3-1, 1-1 filter in x, then samples every other pixel. Fills [0,(2*ni+1)/3-1][0,nj-1] elements of dest
Note, 131 filter only an approximation
Definition at line 311 of file vil_gauss_reduce.cxx.
| void vil_gauss_reduce_2_3_1plane | ( | const T * | src_im, | |
| unsigned | src_ni, | |||
| unsigned | src_nj, | |||
| vcl_ptrdiff_t | s_x_step, | |||
| vcl_ptrdiff_t | s_y_step, | |||
| T * | dest_im, | |||
| vcl_ptrdiff_t | d_x_step, | |||
| vcl_ptrdiff_t | d_y_step | |||
| ) |
Smooth and subsample single plane src_im in x, result is 2/3rd size.
Applies alternate 1-3-1, 1-1 filter in x, then samples every other pixel. Fills [0,(2*ni+1)/3-1][0,nj-1] elements of dest
Note, 131 filter only an approximation
Definition at line 407 of file vil_gauss_reduce.txx.
| void vil_gauss_reduce_general | ( | const vil_image_view< T > & | src_im, | |
| vil_image_view< T > & | dest_im, | |||
| vil_image_view< T > & | worka, | |||
| vil_image_view< T > & | workb, | |||
| const vil_gauss_reduce_params & | params | |||
| ) |
Smooth and subsample src_im by an arbitrary factor to produce dest_im.
| worka | provide workspace to avoid repetitive memory alloc and free | |
| workb | provide workspace to avoid repetitive memory alloc and free |
Definition at line 252 of file vil_gauss_reduce.txx.
1.5.1