2 #ifndef vil_gauss_reduce_h_ 3 #define vil_gauss_reduce_h_ 17 #include <vxl_config.h> 129 unsigned src_nx,
unsigned src_ny,
130 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
132 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
145 unsigned src_nx,
unsigned src_ny,
146 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
148 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
161 unsigned src_nx,
unsigned src_ny,
162 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
164 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
177 unsigned src_nx,
unsigned src_ny,
178 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
180 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
184 unsigned src_nx,
unsigned src_ny,
185 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
187 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
200 unsigned src_nx,
unsigned src_ny,
201 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
203 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
209 unsigned src_nx,
unsigned src_ny,
210 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
212 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
218 unsigned src_nx,
unsigned src_ny,
219 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
221 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
227 unsigned src_nx,
unsigned src_ny,
228 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
230 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
236 unsigned src_nx,
unsigned src_ny,
237 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
239 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
242 unsigned src_nx,
unsigned src_ny,
243 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
245 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
251 unsigned src_nx,
unsigned src_ny,
252 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
254 std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
262 unsigned src_ni,
unsigned src_nj,
263 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
264 T* dest_im, std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
273 unsigned src_ni,
unsigned src_nj,
274 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
275 vxl_byte* dest_im, std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
284 unsigned src_ni,
unsigned src_nj,
285 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
286 int* dest_im, std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
295 unsigned src_ni,
unsigned src_nj,
296 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
297 vxl_int_16* dest_im, std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
306 unsigned src_ni,
unsigned src_nj,
307 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
308 float* dest_im, std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
317 unsigned src_ni,
unsigned src_nj,
318 std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step,
319 double* dest_im, std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step);
321 #endif // vil_gauss_reduce_h_ double filt0() const
Filter tap value.
void vil_gauss_reduce_general(const vil_image_view< T > &src_im, vil_image_view< T > &dest_im, const vil_gauss_reduce_params ¶ms)
Smooth and subsample src_im by an arbitrary factor to produce dest_im.
Concrete view of image data of type T held in memory.
double scale_step() const
the scale step between pyramid levels.
void vil_gauss_reduce_1plane(const T *src_im, unsigned src_nx, unsigned src_ny, std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step, T *dest_im, std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step)
Smooth and subsample single plane src_im in x to produce dest_im.
void vil_gauss_reduce_121(const vil_image_view< T > &src, vil_image_view< T > &dest)
Smooth and subsample src_im to produce dest_im.
double filt_pen_edge1() const
Filter tap value.
void vil_gauss_reduce_121_1plane(const T *src_im, unsigned src_nx, unsigned src_ny, std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step, T *dest_im, std::ptrdiff_t d_x_step, std::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.
double filt_pen_edge0() const
Filter tap value.
void vil_gauss_reduce_2_3(const vil_image_view< T > &src_im, vil_image_view< T > &dest_im, vil_image_view< T > &work_im)
Smooth and subsample src_im to produce dest_im (2/3 size).
double filt_pen_edge_n1() const
Filter tap value.
void vil_gauss_reduce_2_3_1plane(const T *src_im, unsigned src_ni, unsigned src_nj, std::ptrdiff_t s_x_step, std::ptrdiff_t s_y_step, T *dest_im, std::ptrdiff_t d_x_step, std::ptrdiff_t d_y_step)
Smooth and subsample single plane src_im in x, result is 2/3rd size.
double filt1() const
Filter tap value.
A base class reference-counting view of some image data.
void vil_gauss_reduce(const vil_image_view< T > &src, vil_image_view< T > &dest, vil_image_view< T > &work_im)
Smooth and subsample src_im to produce dest_im.
double filt_edge2() const
Filter tap value.
double filt2() const
Filter tap value.
vil_gauss_reduce_params(double scale_step)
double filt_pen_edge2() const
Filter tap value.
double filt_edge1() const
Filter tap value.
double filt_edge0() const
Filter tap value.