next up previous contents index
Next: gcsf Up: Reference Previous: fksmooth   Contents   Index


$ \bigcirc$Name

gass Geometric Affine Scale Space of curves (Dlists)

$ \bigcirc$Command Synopsis

gass [-f first] [-l last] [-e eps] [-s step] [-n n] [-r r] [-v] in out

-f first : first scale (default 0.)

-l last : last scale (default 1.)

-e eps : relative sampling precision (-log10 scale), in [2,13] (default 3.)

-s step : maximal scale step

-n n : or minimal number of iterations (default 5)

-r r : bounding box radius (default: minimal)

-v : verbose mode

in : input curves (Dlists)

out : output curves (Dlists)

$ \bigcirc$Function Summary

Dlists gass (in , out , first , last , eps , step , n , r , v )

Dlists in , out ;

double *first , *last , *eps , *step , *r ;

char *v ;

int *n ;

$ \bigcirc$Description

This module implements numerically the Affine Scale Space of curves. An initial curve s $ \mapsto$ C(s, 0) evolves in function of time t according to the equation

$\displaystyle {\frac{{\partial {\mathbf C}}}{{\partial t}}}$(s, t) = $\displaystyle \kappa^{{1/3}}_{}$(s, t)  N(s, t),

where $ \kappa$ represents the local curvature of C and N the normal vector to C. This equation is the geometric equivalent of the scalar Affine Morphological Scale Space (see module amss). The Affine Scale Space is the only regular semigroup that preserves inclusion and that commutes with special affine transforms of the plane.

The numerical scheme used in this module is based on the iteration of a geometric semi-local operator called affine erosion. This operator, described in [Moi98], is ``fully consistent'' in the sense that it satisfies all the axioms that define the Affine Scale Space (except the semigroup property of course, otherwise it would be the Affine Scale Space itself). Indeed, it preserves inclusion and commutes with special affine transforms.

This module computes the evolution of each curve of the Dlists in and puts it in the Dlists out. The parameter last defines the final scale (time) of evolution. This scale is normalized in such a way that a circle with radius t should vanish exactly at scale t. Since this normalization is not linear on t, it imposes to specify a first scale when the evolution has to be iterated. The eps parameter tells the program how precise it should be in the representation of curves. Combined with the r parameter, it defines the spatial quantization step $ \delta$ = 10-eps . r. All the curves used in the algorithm will be sampled in such a way that the distance between 2 successive points lies in [$ \delta$, 2$ \sqrt{2}$$ \delta$]. If not automatically set, the r parameter is defined by the maximum distance to origin given by an input point.

The default values of eps is 3. For more accurate computations, you can use greater values (3.5, 4, 5, ...) but remember that the cost in memory and in computation time depends linearly on 10eps.

The scale quantization can be fixed in two ways: either by specifying a maximal scale step or by specifying a minimum number of iterations. These are only bounds since the algorithm may (and will) have to change this value for some iterations due to the fact that inflexion points vanish. Hence, the actual scale step will be smaller and the actual number of iterations will be grater. The default is a minimum of 5 iterations.

The -v option displays some information at each iteration : the number of convex components found at the begining of the iteration, the effective scale of erosion applied, and the total evolution scale achieved so far.

$ \bigcirc$See Also


$ \bigcirc$Version 1.0

Last Modification date : Thu Apr 15 08:29:13 2004

$ \bigcirc$Author

Lionel Moisan

next up previous contents index
Next: gcsf Up: Reference Previous: fksmooth   Contents   Index
mw 2004-05-05