| .TH IM_RANK 3 "19 Aug 1996" |
| .SH NAME |
| im_rank, im_rank_raw \- rank filter |
| .SH SYNOPSIS |
| #include <vips/vips.h> |
| |
| int im_rank(in, out, xsize, ysize, n) |
| .br |
| IMAGE *in, *out; |
| .br |
| int xsize, ysize, n; |
| |
| int im_rank_raw(in, out, xsize, ysize, n) |
| .br |
| IMAGE *in, *out; |
| .br |
| int xsize, ysize, n; |
| |
| .SH DESCRIPTION |
| .B im_rank() |
| does rank filtering on an image. A window of size xsize by ysize |
| is passed over the image. At each position, the pixels inside the window are |
| sorted into ascending order and the pixel at the nth position is output. n |
| numbers from 0. |
| |
| It works for any non-complex image type, with any number of bands. |
| The input |
| is expanded by copying edge pixels before performing the operation so that the |
| output image has the same size as the input. Edge pixels in the output image |
| are therefore only approximate. |
| |
| .B im_rank_raw() |
| works just as im_rank(), but does not expand the input. |
| .SH EXAMPLES |
| For a median filter with mask size m (3 for 3x3, 5 for 5x5, etc.) use |
| |
| im_rank( in, out, m, m, m * m / 2 ); |
| |
| The special cases n == 0 and n == m * m - 1 are useful dilate and expand |
| operators. |
| |
| .SH RETURN VALUE |
| The function returns 0 on success and -1 on error. |
| .SH SEE ALSO |
| im_conv(3), im_fastcor(3). |
| .SH COPYRIGHT |
| 1989-1996 The National Gallery and Birkbeck College |