**Name**

**ll_boundaries2** Extract (local or not) meaningful boundaries from a Fimage

**Command Synopsis**

**ll_boundaries2** [-e *eps*] [-s *step*] [-p *prec*] [-G *G*] [-a] [-H *hstep*] [-t *tree*] [-v *visit*] [-L] [-k *keep_tree*] [-o *image_out*] *in* *out*

-eeps: -log10(max number of false alarms), default 0.

-sstep: quantization step, default 1.

-pprec: sampling precision for flst_bilinear, default 2

-GG: standard dev. for preliminary convolution, default 0.5

-a : keep all meaningful level lines (not only maximal ones)

-Hhstep: step for contrast histogram, default 0.01

-ttree: use a precomputed bilinear tree, default NULL

-vvisit: maximal number of visits for a boundary, default 100

-L : force local research

-kkeep_tree: keep meaningful tree

-oimage_out: image reconstructed by meaningful tree

in: input (Fimage)

out: output boundaries (Flists)

**Function Summary**

Flists ll_boundaries2 (in , eps , tree , step , prec , std , hstep , all , visit , loc , image_out , keep_tree )

Fimage in , image_out ;

Shapes tree , keep_tree ;

float *eps , *step , *hstep , *std ;

int *prec , *visit ;

char *all , *loc ;

**Description**

This modules selects contrasted level lines from a Fimage.
It brings new features to the former `ll_boundaries`

module.
(these two modules will probably be merged in the next release).

Because of gradient quantization effect, it may be very useful to slightly smooth the image before applying the method. A gaussian with standard deviation 0.5 is the default kernel.

In the original algorithm, the gradient distribution is computed on the whole
image (see [DMM01]), sometimes yielding what is called the ``blue sky effect'':
there are too many detections in some regions because the image contains a very
flat part. This can be counter-balanced by using the following method (detailed
in [CMS03]): since meaningful boundaries are closed curves, they sever the plan
into two connected components. It is then possible to re-estimate the gradient
distribution in each connected component and apply the same method as
above. Use the `-L`

flag for this local research.

Notice that contrary to the `ll_edges`

detection, this
module is constrained to keep full (ie closed) level lines and
cannot break them into parts. As a consequence, the detected boundaries still
enjoy the original tree structure and are the level lines of a function.
Meaningful boundaries thus allow to define a ``connected operator'' (following
the mathematical morphologists terminology). The reconstructed image can be
obtained with the `-o`

option, while the corresponding tree can be
saved with the `-k`

option.

The result is a collection of curves stored in a Flists structure.

**See Also**

`fderiv`, `flstb_boundary`, `flst_bilinear`, `flstb_quantize`, `flst_pixels`, `flst_reconstruct`, `fsaddles`, `fsepconvol`.

**Version 1.0**

Last Modification date : Thu Apr 15 07:44:10 2004

**Author**

Lionel Moisan, Frederic Cao