This module applies a morphological thresholding of extrema gray levels values
in small regions.
The critical size of the region (level set) is given by the minimal length of 
the level lines to keep (in pixels).
\index{level set}
\index{level line}
\index{extrema killer}
This length threshold ($10$ by default) can be changed using the options
\verb+-l+ and \verb+-L+.
The option \verb+-l+ is related to the minima gray levels while the option
\verb+-L+ is for the maxima.

Contrary to the \verb+fgrain+ module, here 
you don't get the same result if you begin by removing the gray levels maxima
and then the gray levels minima (the default) or if you remove first the
gray levels minima, and after the the gray levels maxima (this can be done
with the \verb+-i+ option). In other words, this operator is not self-dual
(see the documentation of the \verb+fgrain+ module).
This order of thresholding is important since, by removing a level
line (and therefore a level set), close but non-connected level sets of same 
value can be made connected so that the length of the new level line is upper
the threshold, and the new level line will not be removed.
Therefore, the gray levels average of the output image obtained by this
module called without the option \verb+-i+ is always less than the 
one obtained with the option \verb+-i+.

You may get some applications of this filter in~\cite{froment:perceptible}
and \cite{froment:functional}\index{filter!grain}.
It is a good example of a very simple use of the modules \verb+ml_decompose+ and
\verb+ml_reconstruct+. However, since the Fast Level Sets 
Transform~\cite{monasse.guichard:fast} (\verb+flst+) has been implemented, 
you would get faster computation by using flst-based modules 
(such as the self-dual operator \verb+fgrain+, whose criterion is
based on the area instead of the length).

