This is a typical natural image of some grapes, with a fairly high level of additional noise. Removing such noise is a very common image processing operation.

A typical Gaussian filter removes noise well but also blurs the edges a lot in the process

There are countless more complex linear filters that improve on this result. Morphological operators (non-linear and involving sorting the data) are much less common, but they naturally preserve edges and are insensitive to threshold levels.

Morphological operators rely on a local structuring element. In contrast to linear filters, there has been very little work on trying to locally vary this structuring element - but as can be seen from the image above, such local variation has much potential.

Digital image filters, which replace each pixel in an image with some combination of pixels from a local neighbourhood, are extremely useful in image processing. Of particular note are those which attempt to reduce noise levels in an image whilst preserving the location and extent of any feature gradients, or 'edges'. Multiple linear filters have been developed for this purpose, for instance anisotropic diffusion, non-local means and image-guided filtering. These are all able to automatically adjust which pixels are used in the local neighbourhood around each pixel to give the best reduced-noise new estimate.

Morphological filters, which rely on data ranking rather than level, have received much less attention. This is despite their inherent insensitivity to the extent of an edge which should make them good candidates for edge-preserving filtering. It has recently been demonstrated that the bitonic filter, a morphological filter based on 'opening' and 'closing' operations, can perform nearly as well as anisotropic diffusion and non-local means for noisy natural images. This is despite the use of a local 'structuring element' which does not automatically adjust to the data around each pixel. Hence there is good reason to expect that local variation of the shape of this structuring element will significantly improve performance. However, there has been very little work on locally-varying morphological filters, partly perhaps due to difficulties in both implementation and analysis. The aim of this project is to investigate such filters, which could encompass implementation efficiency, what is the best shape of the structuring elements, or what determines the local orientation of the structuring elements.

This is an algorithmic development / software project, so experience of writing software is essential, though the development could also be done using Matlab.