#include "BIFILTER.H"

HANDLE CALLBACK FilterYpMean( HDIB hDIB,

int N,

int P,

int iShowProgress,

HWND hParent)

**Description**

This function will filter the image by the nonlinear Yp mean method. This function works for only monochrome, 8 bit per bixel and 24 bit per pixel images. The Yp mean filter is member of a set of nonlinear mean filters which are better removing Gaussian type noise and preserving edge features than the arithmetic mean filter. Yp mean filter is very good at removing positive outliers for negative values of P and negative outliers for positive values of P. Yp mean filter is defined as :

_{}

where the coordinate (x+i, y+j ) is defined over the image A and the coordinate (i j) is defined over the N x N size square mask.

**Examples**

The original 256 x 256 pixel image corrupted by additive Gauss noise and the Yp mean filtered image using a 5 x 5 pixel square mask and P = -2.

**Parameters**

HDIB |
hDIB |
Handle of the DIB to filter. |

int |
N |
This parameter specifies the size of the square mask. N cannot be less than 1. See the description and examples above for further information and a possible value. |

int |
P |
This parameter specifies the value P in the equation above. See the description and examples above for further information and a possible value. |

int |
iShowProgress |
This parameter specifies the displaying of the progressbar and the preview dialog. Available values:
IMPORTANT: The preview dialog will only display, if there is BiDlgs.dll installed. |

HWND |
hParent |
Handler of the parent window. |

**Return values**

The handle of the new filtered DIB or NULL if an error occurred.

**Programming notes**

The function will not free the input DIB.

**Requirements**

Header : Declared in BIFilter.h; include BIFilter.h.

Library : Use BIFilter.lib.

DLLs : BIFilter.dll , BIDlgs32.dl.