Topological operators for grayscale image processing
Michel Couprie, Francisco Nivando Bezerra and Gilles Bertrand
Laboratoire A2 SI, ESIEE Cité Descartes B.P. 99
93162 Noisy-Le-Grand Cedex France
Correspondence: E-mail: coupriem,bezerraf,bertrand@esiee.fr; Web: www.esiee.fr/∼coupriem/Sdi eng
ABSTRACT
In a recent work, we introduced some topological notions for grayscale images based on a cross-section topology.
In particular, the notion of destructible point, which corresponds to the classical notion of simple point, allows us
to build operators that simplify a grayscale image while preserving its topology. In this paper, we introduce new
notions and operators in the framework of the cross-section topology. In particular, the notion of λ-destructible
point allows us to selectively modify the topology, based on a local contrast parameter λ. By combining homotopic
and non-homotopic operators, we introduce new methods for filtering, thinning, segmenting and enhancing grayscale
images.
Keywords: digital topology, cross-section topology, segmentation, grayscale skeleton, thinning, filtering, crest
restoration.
1. INTRODUCTION
Topological properties of binary images have been extensively studied in the framework of digital topology,1 and
many algorithms based on these notions are now routinely used for 2D and 3D image processing.
For grayscale images, i.e. maps from Z 2 into Z, a fuzzy digital topology has been proposed.2 Another approach
is based on the decomposition of a map into its different sections3,4 : let F be a map from Z 2 into Z, the section
of F at level k is the set Fk of points x in Z 2 such that F (x) ≥ k. Following this approach, a transformation
is homotopic, i.e. preserves the topology of F , if it preserves the topology, in the binary sense, of every section
Fk . This requirement may seem a very strong one: in particular, it implies that every minimum and maximum of
F must remain at its original grayscale value. In fact, we show in this paper that this preservation of both the
topological and the grayscale information allows us to build transformations that selectively modify the topology
in a controlled manner. By combining homotopic and non-homotopic operators, we introduce methods for filtering,
thinning, segmenting and enhancing grayscale images.
Skeletonization and thinning are major applications of topology in image processing. A great number of thinning
algorithms for binary images have been developed.5
The use of this kind of image assumes a prior segmentation
which implies a loss of information. Some attention has been given to the development of thinning algorithms
acting directly over grayscale images. Dyer and Rosenfeld6 proposed an algorithm based on a notion of weighted
connectedness. The thinning is done directly over the graylevel values of the points but, as pointed out in the
same paper,6 the connectivity of objects is not always preserved. Thinning based on a fuzzy framework for image
processing has been proposed2,7 but also in this case object connectedness is not ensured in the final skeleton.
More recent work8,9 use an implicit image binarization into a background and a grayscale foreground. The graylevel
information guides the removal of points of the foreground that are simple, in the binary sense. This technique makes
it possible to obtain certain desired geometric properties. In this paper, we propose grayscale thinning methods that
guarantee the preservation of the cross-section topology, based on the definition of destructible points,4 i.e., points
whose grayscale value can be lowered without changing the topology. We also propose filtered thinning methods that
allow to selectively simplify the topology, based on a local contrast parameter λ. To achieve this simplification, we
introduce the notion of λ-destructible point which is more flexible than the notion of destructible point.
When dealing with thin and elongated objects in images, e.g. images obtained after using an edge detection
operator, we often have to reconnect some lines that have been broken by noise. If we consider a grayscale image as
a topographic relief, a thin object may be seen as a crest line, and solving this reconnection problem may be done
by detecting and eliminating narrow passes in the crest lines. In the framework of the cross-section topology, we
propose a crest restoration method which is both rigorously defined and efficient.
2. TOPOLOGY OF BINARY IMAGES
In this section, we recall the basic notions of digital topology for binary images.1 We denote by Z the set of relative
integers. A point x ∈ Z 2 is defined by (x1 , x2 ) with xi ∈ Z. We consider the two neighborhoods relations Γ4 and Γ8
defined by, for each point x ∈ Z 2 : Γ4 (x) = {y ∈ Z 2 ; |y1 − x1 | + |y2 − x2 | ≤ 1}, Γ8 (x) = {y ∈ Z 2 ; max(|y1 − x1 |, |y2 −
x2 |) ≤ 1}. In the following, we will denote by n a number such that n = 4 or n = 8. We define Γ∗n (x) = Γn (x) \ {x}.
The point y ∈ Z 2 is n-adjacent to x ∈ Z 2 if y ∈ Γ∗n (x). A n-path is a sequence of points x0 . . . xk with xi n-adjacent
to xi−1 for i = 1 . . . k.
Let X ⊂ Z 2 , we denote by X the complementary set of X. We say that two points x, y of Z 2 are n-connected
in X if there is an n-path in X between these two points. This defines an equivalence relation. The equivalence
classes for this relation are the n-connected components of X. An object X ⊂ Z 2 is said to be n-connected if it
consists of exactly one n-connected component. The set composed of all n-connected components of X n-adjacent
to a point x is denoted by Cn [x, X].
In order to have a correspondence between the topology of X and the topology of X, we have to consider two
different kinds of adjacency for X and X: if we use the n-adjacency for X, we must use the n-adjacency for X, with
(n, n) = (8, 4) or (4, 8).
For the sake of simplicity, we assume in the sequel that an adjacency pair has been chosen (eg. (n, n) = (8, 4))
and we do not write the subscript n unless necessary.
Let X ⊂ Z 2 and x ∈ Z 2 , the two connectivity numbers are defined as follows (#X stands for the cardinality of
X):
T (x, X) = #Cn [x, Γ∗8 (x) ∩ X]; T (x, X) = #Cn [x, Γ∗8 (x) ∩ X].
We say that x ∈ X is an isolated point if T (x, X) = 0, a border point if T (x, X) > 0, an interior point if T (x, X) = 0.
The point x ∈ X is simple (for X) if there is a bijection between the n-components of X and those of X \ {x} and
also between the n-components of X and those of X ∪ {x}. The following property allows us to locally characterize
simple points1,10 :
x ∈ Z 2 is simple for X ⊂ Z 2 ⇔ T (x, X) = 1 and T (x, X) = 1.
Let X, Y ⊂ Z 2 . The set Y is lower homotopic to X if Y = X or Y may be obtained from X by iterative deletion
of simple points. The set Y is upper homotopic to X if Y = X or Y may be obtained from X by iterative addition
of simple points. Two sets X and Y are homotopic if Y = X or Y may be obtained from X by iterative deletions
or additions of simple points.
3. CROSS-SECTION TOPOLOGY FOR GRAYSCALE IMAGES
In this section, we recall the basic definitions and properties of the cross-section topology.4
First, we recall some
basic notions for grayscale images. A 2D grayscale image may be seen as a map F from Z 2 to Z. For each point
x ∈ Z 2 , F (x) is the (graylevel) value of x. We denote by F the set composed of all maps from Z 2 to Z.
Let F ∈ F and k ∈ Z, the section of F at the level k is the set Fk composed of all points x ∈ Z 2 such that
F (x) ≥ k. Observe that a section is a set of points, i.e. a binary image. As for the binary case, if we use the nadjacency for the sections Fk of F , we must use the n-adjacency for the complementary sets Fk , with (n, n) = (8, 4) or
(4, 8). Let us consider the map −F , called the complementary map of F (for each point x in Z 2 , (−F )(x) = −F (x)).
We note that the complementary sets of the sections of F are sections of −F . In all the examples and figures of this
paper, we will choose n = 8 for the sections of F , thus we must use n = 4 for the sections of −F . A non-empty
connected component X of a section Fk of F is a (regional) maximum for F if X ∩ Fk+1 = ∅. A set X ⊂ Z 2 is a
(regional) minimum for F if it is a regional maximum for −F .
3.1. Homotopy
Intuitively, a transformation on F is said to be topology preserving if the topology of all the sections of F is preserved.
Thus, the cross-section topology of maps (i.e. of grayscale images) may be directly derived from the topology of
binary images. The following notions generalize the notion of simple point to grayscale images.
Let F ∈ F, the point x ∈ Z 2 is destructible (for F ) if x is simple for Fk , with k = F (x). The point x ∈ Z 2 is
constructible (for F ) if x is destructible for −F .
We see that the grayscale value of a destructible (resp. constructible) point can be lowered (resp. raised) by 1 while
preserving the topology of F . For example in Fig. 1 (a), the point at level 8 is both destructible and constructible;
the two points at level 2 are constructible, but only one of them may be raised because, afterwards, the other one
would become non-constructible.
Let F ∈ F and G ∈ F. The map G is lower homotopic to F if G = F or G may be obtained from F by iteratively
selecting a destructible point and lowering its value by 1. The map G is upper homotopic to F if G = F or G may
be obtained from F by iteratively selecting a constructible point and raising its value by 1. The maps G and F are
homotopic if G = F or G may be obtained from F by iteratively selecting a destructible point and lowering its value
by 1, or selecting a constructible point and raising its value by 1.
In Fig. 1, (b) is lower homotopic to (a) and (c) is upper homotopic to (a). Note that F and G are homotopic if
and only if every section Fk of F is homotopic, in the binary sense, to the corresponding section Gk of G.
3.2. Local characterizations
Let F ∈ F and x ∈ Z 2 . We define the four neighborhoods:
Γ++ (x, F ) = {y ∈ Γ∗8 (x); F (y) > F (x)}; Γ+ (x, F ) = {y ∈ Γ∗8 (x); F (y) ≥ F (x)};
Γ−− (x, F ) = {y ∈ Γ∗8 (x); F (y) < F (x)}; Γ− (x, F ) = {y ∈ Γ∗8 (x); F (y) ≤ F (x)}.
We define β − (x, F ) = min{F (y); y ∈ Γ(x)}; β + (x, F ) = max{F (y); y ∈ Γ(x)}, and
max{F (y); y ∈ Γ−− (x, F )}, if Γ−− (x, F ) 6= ∅,
−
α (x, F ) =
F (x)
otherwise;
α+ (x, F ) =
min{F (y); y ∈ Γ++ (x, F )},
F (x)
if Γ++ (x, F ) 6= ∅,
otherwise.
For a point x, we define the value δ − (x, F ) which is the minimal value down to which the point x may be lowered
without changing the topology of the sections. So, for a destructible point we have δ − (x, F ) < F (x), and for a
non-destructible point we have δ − (x, F ) = F (x). The value δ + (x, F ) is defined in a dual way.
It is easy to prove that lowering a destructible point x down to the value α− (x, F ) is an homotopic transformation,
i.e. that δ − (x, F ) ≤ α− (x, F ); and in a dual way, that δ + (x, F ) ≥ α+ (x, F ). For example in Fig. 1 (a), the point
at level 9 in the third row can be lowered down to 7, then down to 4, and finally down to 0 without changing
the cross-section topology. This property, in addition to the local characterization of destructible and constructible
points which will be presented in the next paragraphs, allows us to design efficient algorithms to compute topological
transforms. Also, Arcelli11 gives a local condition which allows the checking of whether a point x can be lowered
down to the value β − (x, F ) without changing the topology of F , i.e. to check whether δ − (x, F ) = β − (x, F ).
We define the four connectivity numbers:
T ++ (x, F ) = #Cn [x, Γ++ (x, F )]; T + (x, F ) = #Cn [x, Γ+ (x, F )];
T −− (x, F ) = #Cn [x, Γ−− (x, F )]; T − (x, F ) = #Cn [x, Γ− (x, F )].
When there is no confusion, we write: T ++ = T ++ (x, F ), T + = T + (x, F ), T −− = T −− (x, F ), T − = T − (x, F ).
The following property may be directly derived from the above definitions and from the characterization of
simple points in binary images. It shows that the connectivity numbers allow to locally characterize destructible and
constructible points.
Let F ∈ F and x ∈ Z 2 .
x is destructible for F ⇔ T + = 1 and T −− = 1; x is constructible for F ⇔ T − = 1 and T ++ = 1.
Furthermore, the connectivity numbers allow a classification of the topological characteristics of a point:
x is a peak if T + = 0; x is minimal if T −− = 0; x is k-divergent if T −− = k with k > 1;
x is a well if T − = 0; x is maximal if T ++ = 0; x is k-convergent if T ++ = k with k > 1;
x is a lower point if it is not maximal; x is an upper point if it is not minimal;
x is an interior point if it is both minimal and maximal;
x is an simple side if it is both destructible and constructible;
x is an saddle point if it is both convergent and divergent.
By considering all the possible values of the four connectivity numbers it may be seen4 that, for F ∈ F, a point
x ∈ Z 2 corresponds necessarily to one and only one of the following types: 1) a peak; 2) a well; 3) an interior point;
4) a minimal constructible point; 5) a maximal destructible point; 6) a minimal convergent point; 7) a maximal
divergent point; 8) a simple side; 9) a destructible convergent point; 10) a constructible divergent point; 11) a saddle
point. Figure 2 shows examples of seven of these types of points; the other four types can be obtained by duality
(for example a well is the dual of a peak, etc).
4. HOMOTOPIC AND LEVELING KERNELS
We are now able to define operators that transform an image while preserving some topological properties. The
homotopic kernel4 and homotopic reconstruction operators, presented in the next two sections, produce a result
that is homotopic to the original image; while the leveling kernel4 modifies the topology in a controlled manner. A
discussion about some properties of these operators follows, and an application to impulse noise filtering concludes
this section.
4.1. Homotopic kernel
Let F ∈ F, F ′ ∈ F. The image F ′ is a lower (resp. upper) homotopic kernel of F if F ′ is lower (resp. upper)
homotopic to F , and if there is no destructible (resp. constructible) point for F ′ .
In Fig. 1 for example, (b) shows a lower homotopic kernel of (a), (c) shows an upper homotopic kernel of (a). A
lower homotopic kernel of an image F may be seen as an “ultimate grayscale thinning” of the image: see Fig. 3 (a)
a grayscale image showing dark cells separated by lighter borders, and an homotopic kernel (b) of this image. Note
that (a) is a quite smooth image, in consequence its topology is simple: it contains only a few (regional) minima,
each of which corresponds to a dark cell (see (a’)). We will deal later with noisy images and with the problem of
simplifying the topology of such images. In (a’,b’), the spatial locations of the minima of (a,b) respectively appear
in white: we see that in the homotopic kernel, these minima have been spread as much as possible, while preserving
the topology. The minima of the homotopic kernel are separated only by thin “crest lines”.
In fact, due to the discrete nature of the image representation, a lower homotopic kernel of an image may contain
non-minimal regions that are not thin: this is the case, for example, if more than four line segments meet in one
point (see Fig. 1 (d)), we also retrieve this configuration in homotopic kernels of binary images. Other specific
configurations of thick non-minimal regions in grayscale homotopic kernels have been presented in a previous work.4
4.2. Homotopic reconstruction
We introduce the notion of homotopic reconstruction which will be used to recover the original values of certain
pixels, after a modification of the topology.
Let F ∈ F, G ∈ F with F ≤ G (i.e., ∀x ∈ Z 2 , F (x) ≤ G(x)), and let F ′ ∈ F. The image F ′ is homotopic to F
under G if F ′ = F or if F ′ may be obtained from F by iteratively selecting a constructible point x such that the
grayscale value of x is strictly lower than G(x), and raising its grayscale value by 1. The image F ′ is an (homotopic)
reconstruction of F under G if F ′ is homotopic to F under G and if there is no point x ∈ Z 2 such that the grayscale
value of x is strictly lower than G(x), and x is constructible for F ′ . The dual notion of reconstruction of F over G
is defined in an analogous way. In applications of reconstruction operators, the image F is often called a “marker”
image. In Fig. 4 we can see an example of reconstruction. We also show the corresponding result when using the well
known reconstruction operator in the field of mathematical morphology.12
Note that the only difference between
the homotopic and the morphologic reconstruction is due to the preservation of the topology of the marker (in the
first case).
4.3. Leveling kernel
For some applications, it is not desirable to preserve both the minima and the maxima of the original image. For
example, if we want to extract the borders between the cells appearing Fig. 3 (a), then we would like to eliminate
the peak located in the central cell of (b), which corresponds to a light area in (a).
Let F ∈ F, F ′ ∈ F. The map F ′ is a lower leveling of F if F ′ = F or F ′ may be obtained from F by iteratively
selecting a destructible or a peak point and lowering its value by 1. The map F ′ is a lower leveling kernel of F if F ′
is a lower leveling of F and if there is no destructible point and no peak for F ′ . The dual notions of upper leveling
and upper leveling kernel are defined in an analogous way.
Let us illustrate the lower leveling operator with some basic examples. We first introduce the notions of component
without holes and simply connected component, that will help us to understand the action of the leveling operator.
Let X be a finite subset of Z 2 , the set X is without holes if X is connected. The set X is simply connected if
both X and X are connected. Let F ∈ F, let k ∈ Z, a finite connected component X of Fk is without holes (resp.
simply connected) for F if ∀k ′ ∈ Z 2 , k ′ ≥ k, the set {x ∈ X, F (x) ≥ k ′ } is without holes (resp. simply connected).
In Fig 5, consider the image F shown in (a) and the image G shown in (b). We see that the unique connected
component of F5 is simply connected for F , and that the unique connected component of G5 is without holes for G.
To compute a lower leveling kernel of F , we may first iteratively lower the values of the eight destructible points
around the central point down to 0, and then lower the value of the central peak. Thus we obtain the null image
(c). To compute a lower leveling kernel of (b), we may first lower the values of the three peaks at levels 7, 8 and
9 down to 6, then iteratively lower the values of the eight points around the central 6 (which are now destructible)
down to 0, and finally lower the value of the central peak. We also obtain the null image (c). We see that the lower
leveling kernel operator “deletes” a component which is simply connected for an image by reducing it to a peak, then
by lowering this peak; it also deletes a component without holes for an image by first deleting the simply connected
components it may contain, then by proceeding recursively.
4.4. Links with the notion of dynamics
We will now discuss some properties of regional minima and maxima in homotopic and leveling kernels. Grimaud13
introduced the notion of dynamics in order to formalize the intuitive notion of depth of a minimum: intuitively,
the dynamics of a minimum m is the difference between the altitude of m and the altitude of the lowest pass that
separates m from another minimum m′ lower than m.
Let F ∈ F, x ∈ Z 2 , y ∈ Z 2 , and let π be a path between x and y. The dynamics of the path π is the
difference between the values of a highest point and a lowest point of the path: dyn(π, F ) = max{F (z); z in π} −
min{F (z); z in π}. We define the dynamics of an absolute minimum of the image F as infinity. For a non-absolute
minimum m, we consider a path πm which has a minimal dynamics among all the possible paths between m and
a point m′ strictly lower than m. We define the dynamics of m as the difference between the value of m and the
value of a highest point on πm . The dynamics of a minimum m for an image F will be denoted by dyn(m, F ). In a
similar way we can define the dynamics of the maxima. Of course, the dynamics of a maximum (resp. a minimum)
depends on the adjacency relation that has been chosen for F (resp. for −F ). For example, the dynamics of both
the minima at level 2 and 3 in Fig. 1 (a), (b) and (c) is 4, with the choice of the 4-adjacency for −F .
It may easily be seen that a lower homotopic transformation “preserves” the (regional) minima and maxima
of the original image, and it also preserves their dynamics. On the other hand, a lower leveling preserves the
minima of the original image and their dynamics. Dual statements holds for the upper homotopic and upper leveling
transformations, respectively. Let us state these properties more precisely:
Let F ∈ F, let F ′ be lower homotopic to F . For any minimum m of F , there is a unique minimum m′ of F ′ such
that m ⊂ m′ , furthermore dyn(m, F ) = dyn(m′ , F ′ ); and for any maximum M of F , there is a unique maximum M ′
of F ′ such that M ′ ⊂ M , furthermore dyn(M, F ) = dyn(M ′ , F ′ ).
Let F ∈ F, let F ′ be a lower leveling of F , for any minimum m of F , there is a unique minimum m′ of F ′ such
that m ⊂ m′ , furthermore dyn(m, F ) = dyn(m′ , F ′ ).
In Fig. 3 (c), a lower leveling kernel of the image in Fig. 3 (a) is shown. The minima and their dynamics have been
preserved, this means that the grayscale value on a crest line which separates two minima in the kernel corresponds
to the grayscale value of the lowest pass between the corresponding minima in the original image. This property has
been used in a previous work4,14 to simplify the topology of an image, leading to a segmentation method which does
not involve the need for defining and tuning parameters.
4.5. Application to impulse noise filtering
To conclude this section, we show an application of these topological transformations to impulse noise filtering. More
details about the implementation can be found in the appendix A.
A positive impulse may be seen as a narrow component which is without holes for the image F , and restricted to a
few pixels. We can detect an impulse restricted to only one pixel x by testing the topological type of x: it corresponds
to a peak. Deleting the peak x may be done by lowering its value down to the value α− (x, F ). For an impulse which
is made of several neighboring pixels, this procedure is not effective. Nevertheless, if we iteratively lower destructible
points, an impulse which is a simply connected component for F will eventually reduce to a peak. The peak can then
be detected and lowered. Repeating this procedure allows the deletion of impulses which correspond to components
without holes as well. On the other hand, we do not want to destroy components that correspond to large, significant
objects in the image. Thus, we need a parameter that controls the spatial expanse of the thinning process.
In Fig. 6, we show the result (c) of 3 lower leveling steps applied to the image (b)(see the appendix A for the
definition of this notion of step and a more complete description of the algorithm). The impulses, which correspond to
narrow components without holes, have been filtered out. The leveling process also lowers pixels that do not belong
to impulses. In order to recover the initial values of these pixels, we use the homotopic reconstruction operator.
Fig. 6 (d) shows an upper reconstruction of (c) under (b). Negative impulses could also be filtered out by a dual
procedure based on upper leveling and homotopic reconstruction. This filtering method gives good results for impulse
noise: compared to a median filter with a 3 × 3 window, the thin details are better preserved.
In the framework of mathematical morphology,15,16 a similar filtering method may be constructed, using an
erosion or an area opening operator in order to eliminate the noise under the control of a size parameter, and using
the geodesic reconstruction operator to recover the original values of the non-noisy pixels. It would give results
similar to ours, except for thin and elongated regions: the erosion should filter them out as well as the noise, and an
area opening could not make the difference between a disk-shaped region and an elongated region having the same
area.
5. FILTERED LEVELING AND GRAYSCALE SKELETON
In this section, we introduce another way of modifying the topology in order to filter out the non-significant information.
5.1. The notion of λ-destructible point
The Fig. 7 (a) shows an image where the human eye perceives dark cells separated by lighter borders. Due to the
noise, this image contains a lot of regional minima: they appear in white in (a’). Both the homotopic kernel (b) and
the leveling kernel (c) preserve all these minima and spread them as much as possible (b’, c’). Fig. 8 (a) shows a 1D
profile extracted from such a leveling kernel. In this profile, the points x, y and z correspond to passes (divergent
points) between neighboring minima in the two-dimensional kernel. Some of these divergent points (x, y) may be
considered as “irregular points”4 : we would like to lower them in order to eliminate some minima having a small
depth.
To perform this filtering, we introduce the notion of λ-destructible point, which allows us to selectively alter the
topology, based on a local contrast parameter λ.
Let F ∈ F, X ⊂ Z 2 , we define F − (X) = min{F (x); x ∈ X}.
The point x ∈ Z 2 is λ-destructible, λ being a positive integer, if it satisfies one of the two following conditions:
i) x is destructible; or
ii) x is k-divergent and at least k − 1 connected components ci , i = 1, . . . , k − 1 of Γ−− (x, F ) are
such that F (x) − F − (ci ) ≤ λ.
Intuitively, the condition ii) states that the point x lies on a crest which separates its neighborhood into k regions,
and at most one of these regions lies at a graylevel distance from x greater to λ.
For example, the points with values 20 and 100 in Fig. 8 (b) are both 10-destructible, but they are not destructible.
Let us consider the point x at level 20: it is 2-divergent, and the set Γ−− (x, F ) contains two connected components
c1 and c2 , such that F − (c1 ) = 0 and F − (c2 ) = 10.
The notion of λ-constructible point may be defined in a dual way.
5.2. Filtered leveling
The lower λ-leveling operator iteratively selects a λ-destructible or peak point x and lowers it down to the value
α− (x, F ) . To obtain a λ-leveling kernel, this procedure must be repeated until stability. More details on the
implementation of this operator are given in appendix B.
In Fig 7 (d), we show the result given by the algorithm λ-Leveling applied to the image of Fig 7 (a), with λ = 40.
A binary segmentation (d’) is obtained by extracting the regional minima of (d).
On this image, the same result should have been obtained by using a filtered topological grayscale watershed
transform,17 or a watershed algorithm18,19 with the minima of dynamics greater than 40 as markers. Nevertheless,
it is not true that lowering a λ-destructible point x down to the value α− (x, F ) always preserves the dynamics of
minima which have a dynamics greater than λ. A counter-example is given in Fig. 9 with λ=2. The 10 at the right
side of the 8 in the middle row is 2-destructible. After this point has been lowered down to 8 the dynamics of the
minima at level 3 is changed from 7 to 5. Furthermore, all the other 10s can be lowered down to 8 (b). Consequently,
the 8 (previously 10) at the left side of the 6 in the middle row becomes 2-destructible and thus some 8s can be
lowered down to 6 as the iterations continue (c). The dynamics of the minimum at level 3 is now equal to 3. We see
that we can construct more complex configurations in which the dynamics of a minimum can be lowered arbitrarily.
On the other hand, the notion of λ-destructible point is purely local: it can be characterized by checking only
the 8-neighborhood of a point.
5.3. Grayscale skeleton
The following notions are useful to introduce the notion of filtered grayscale skeleton.
Let X ⊂ Z 2 and x ∈ X, x is an end point (for X) if #(Γ∗n (x) ∩ X) = 1. Let F ∈ F and x ∈ Z 2 , x is an end
point (for F ) if it is an end point for the set Fk with k = F (x). A point x is said to be a λ-end point (for F ) if it
is an end point for F and if F (x) − α− (x, F ) > λ. A point x is said to be a λ-deletable point (for F ) if it is either
a λ-destructible point, or a peak point such that F (x) − α− (x, F ) ≤ λ. Figure 10 shows examples of λ-end and
λ-deletable points.
If X ⊂ Z 2 represents a binary image, we can say that S ⊂ Z 2 is a skeleton of X if S can be obtained from X
by iteratively selecting a simple, non-end point in X and deleting it from X, until stability. Similarly, if F ∈ F,
we say that G ∈ F is a skeleton of F if G can be obtained from F by iteratively selecting a destructible, non-end
point in F and lowering it down to α− (x, F ), until stability. In order to get a filtered skeleton, that is, to eliminate
non-significant branches and regional minima, we will allow λ-deletable, non λ-end points to be lowered. More details
on the implementation of this operator are given in appendix C.
Fig. 11 shows a part of a fingerprint image and the corresponding skeletons. Fig. 11(b)-(c) show respectively an
homotopic skeleton (λ = 0) and a skeleton obtained with λ = 40. As we can see in this filtered skeleton, a number
of crest lines, peaks and minima have been removed: there are 589 minima in both (a) and (b), and only 25 in (c).
The interest of this method is that no prior segmentation is required, and that the skeleton contains useful grayscale
information that can be exploited. For example here, we can use both topological and grayscale informations to
extract characteristic points, called minutiæ, in the fingerprint: they correspond to “forks” and to end points.
6. A CREST RESTORATION METHOD
All segmentation methods based on the dynamics13 (or equivalent notions) have a common drawback : if two
neighboring minima are separated by a high crest which contains a narrow and deep pass, the dynamics between
these two minima only depends on the altitude of the pass (see Fig. 12 (a)). Thus, any method that takes this
criterion into account in order to decide whether two neighboring regions have to be merged or not, would select the
aforementioned couple of regions with a high priority. Nevertheless, the human eye perceives a strong separation
between the two dark regions. For a discussion about this problem and some alternative approaches, see the work of
C. Vachier.20
An other class of segmentation methods is based on the extraction of the contours of the objects. These methods
involve the use of a derivative (or gradient) operator which gives a high response at the locations of the original
image where sharp graylevel transitions occur. In the images produced by such operators, the contours appear as
thin crests which are often irregular, due to the presence of noise (see Fig. 13 (b)).
We propose a method for detecting and eliminating narrow passes in grayscale images. This method allows us
to enhance segmentation schemes based on minima extraction and merging, and can also be used in contour-based
segmentation schemes.
The first step consists of an homotopic or filtered thinning of the image, reducing the crests to thin lines (see
Fig. 12 (b)). The number nt of thinning iterations (see appendix A) controls the width of the crests in which passes
should be eliminated. Note that the result obtained in (b) is not a lower homotopic kernel: two points at level 240
are destructible. Now, we are able to detect points that belong to “thin crest lines” and should be raised in order to
eliminate passes.
Let X ⊂ Z 2 and x ∈ X, x is a separating point (for X) if T (x, X) ≥ 2.
Let F ∈ F, a point x ∈ Z 2 is said to be a separating point (for F ) if there exists k ∈ Z such that x is a separating
point for the set Fk .
For example, in Fig. 12 (e) the points at levels 15, 20 and 25 are separating points.
We see in Fig. 12 (b) that in order to eliminate the pass at level 90, we can raise constructible separating points
until a saddle point appears, the saddle point can then be detected and raised.
We also see in Fig. 12 (b) that iteratively raising constructible separating points without restriction would lead
to the reinforcement of low crest lines that are due to noise. The points at level 60 illustrate this problem: for
example, the point at level 60 which neighbors some points at level 240 is a constructible separating point. We
cannot use λ-Leveling to eliminate these crests by lowering them, because doing so could also lower some of the
narrow passes that we want to raise. In fact, a separating point x which is a good candidate for crest restoration
may be characterized by the presence, in its neighborhood, of a point y which is a separating point for the section
at level k = F (x) but is not separating for higher sections. More precisely:
Let F ∈ F, a point x ∈ Z 2 which is a separating point for F is said to be extensible if it is either a constructible
point or a saddle point for F , and if x has at least one neighbor y which verifies the two following conditions:
i) y is a separating point (in the binary sense) for Fk , with k = F (x), and
ii) y is not a separating point (in the binary sense) for any Fj with j > k.
The crest restoration method proceeds by detecting extensible separating points and by raising them. A more
precise description of the algorithm is given in appendix D.
In Fig. 12 (c), we see the result after 1 iteration of this algorithm, applied on (b). We see in particular that two
points at level 90 in (b) have been raised up to 240, and that the point at level 60 which is an 8-neighbor of a 90 has
not been modified: for (b) it is a separating point, but it has no neighbor which is both separating for F60 and not
separating for F61 . In (d), we see the result after 3 iterations: the crest line at 240 has been restored. Additional
iterations would not modify this result.
In Fig. 13 we illustrate this method on a gradient image (b) obtained from (a) by the application of the CannyDeriche21,22 gradient operator. For a better visualization, the lowest values appear in white. First, the crests have
been reduced to thin lines (c) by a filtered thinning with λ = 5 (the algorithm is the same as algorithm λ-Leveling,
except that peak points are not modified). If we apply a threshold to this image, either we loose many line segments
(d), or we get too many irrelevant details. The image (e) was obtained from (c) by 10 steps of the algorithm
CrestRestoration, and (g) was obtained from (c) by executing the algorithm CrestRestoration until stability. The
same threshold has been applied on (c,e,g), giving (d,f,h) respectively. We see that many significative line segments
have been recovered, and that no artefacts have been introduced by our procedure, even when we iterated it until
stability. We compared our results with the popular method known as hysteresis thresholding,21 which is based in
an upper and a lower thresholding. We can see in (i) and (j) the results obtained with the same higher threshold
and different lower thresholds. In (i), the hysteresis thresholding misses many significant edges compared with our
method. In (j), with a less strict lower threshold, the hysteresis threshold still misses some significant edges that our
method recovers, and it also recovers some non significant edges.
7. CONCLUSION
We have presented a series of image processing operators and algorithms in the framework of the cross-section
topology. This framework allows us to precisely define transformations on grayscale images that preserve topology.
Homotopic thinning, kernel, reconstruction and skeleton are examples of such transformations.
Nevertheless, in many applications a strict preservation of the cross-section topology is not desirable: due to the
presence of noise, the topology of the original image is much more complex than the one of the desired result. In
order to selectively simplify the topology, according to a local contrast criterion, we introduced the filtered λ-leveling
and λ-skeleton operators. We proposed a segmentation method based on the λ-leveling operator, which gives results
comparable to those of the methods based on the dynamics. The λ-skeleton operator is a thinning operator acting
directly on the grayscale image, which may be used to extract characteristic points in an image (forks, end points)
without performing a prior binarization step.
Also, we introduced a crest restoration method which allows us to recover thin crest lines that have been broken
by noise. This method may be used to enhance segmentation schemes based on the extraction of minima, and those
based on contour extraction. It assumes no a-priori knowledge about direction or curvature of the lines. To our
knowledge, it performs better than all the previously introduced methods that share the same assumptions.
This framework may be easily extended to other digital spaces, such as the hexagonal grid in 2D, the cubic grid
in 3D. Also, Lohou and Bertrand23 have generalized these notions in the framework of orders (or partially ordered
sets), and proposed new parallel thinning algorithms for grayscale images.
APPENDIX A. THE THINNING OPERATOR
In section 4.5, we introduced a method for filtering impulse noise. This method is based on a thinning operator that
must be able to perform a “unitary shrinking” of the light objects in the image.
The simplest homotopic thinning algorithm consists in iteratively selecting a destructible point x and lowering
its value down to the value α− (x, F ). In order to control the spatial expanse of the thinning, a first idea is to build
a list of all destructible points, and process only these ones before a next step:
Algorithm: input F ∈ F, n ∈ N , output F
repeat n times:
compute a list L of all the destructible points;
for all x in L if x is destructible for F then F (x) := α− (x, F ).
Note that it is not possible to process all the destructible points of L in parallel: this would not preserve the
topology. This is illustrated by the configuration of Fig. 5 (a), where the three points at level 8 are destructible: if
we lower these three points in parallel the cross-section topology is modified.
The following 1D example shows the limits of this first idea: see Fig. 14(a). If the list L is constructed by scanning
the points from left to right, then the result of one step of the algorithm on the above data is (b). This corresponds
to the desired effect of a “unitary shrinking” of a simply connected component. But if the list L is constructed by
scanning the points from right to left, then the result of one step of the algorithm is (c), which is not the desired
effect.
In order to avoid this, we can memorize, in addition to each destructible point x, the value δ − (x, F ). We recall
that δ − (x, F ) is the minimal value down to which the point x may be lowered without changing the topology of the
sections of F . When a point is extracted from L, it will not be allowed to go down below this memorized value. This
leads to the following algorithm, which performs n “steps” of homotopic thinning:
Algorithm Thinning : input F ∈ F, n ∈ N , output F
G := F ;
repeat n times:
compute a list L of all the destructible points;
for all x in L, if x is destructible for G then G(x) := max(δ − (x, G), δ − (x, F ));
F := G.
Note that for each point x, the value δ − (x, F ) may be stored in the list L together with the coordinates of x,
instead of using an auxiliary image G. Furthermore, in order to compute the list L for the first iteration, we must
scan the image entirely, but for the following ones, only the neighbors of the points that have been modified during
the iteration n−1 need to be considered in the iteration n. Note also that, when iterated until stability, this algorithm
produces an homotopic kernel of the original image.
By alternating thinning steps and peak deletion steps, we can achieve a leveling process in which the spatial
expanse is controled by the number of steps.
This algorithm (as well as the two following ones) can only lower pixel values by integer steps, and the final result
is lower bounded; thus its convergence is guaranteed.
APPENDIX B. THE λ-LEVELING OPERATOR
The lower λ-leveling operator, introduced in section 5.2, iteratively selects a λ-destructible or peak point x and lowers
it down to the value α− (x, F ) . To obtain a λ-leveling kernel, this procedure must be repeated until stability.
The order according to which λ-destructible points are lowered is important for the final result as we can see
in the example of Fig. 15. This 1D figure (a) corresponds to a profile of a 2D leveling kernel, and the points x, y,
z and t are divergent points. Furthermore, x, y and z are λ-destructible, while t is not. If we select the points in
increasing order of height, then the point x is lowered down to 0 first, followed by the lower points at the right of x.
Afterwards, the point y is lowered down to 0, followed by the lower points at the left of y. The point z is no more
λ-destructible, thus the final result is the one depicted in (b). The effect is the elimination of minima of dynamics
inferior to λ.
On the other hand, if we select the points in decreasing order of height, then the point z is lowered first, then y,
then x, and finally all the points but t will be lowered down to 0 (see (c)). We see that minima of dynamics superior
to λ may be affected by this procedure. Thus, we will choose the first strategy for our filtered leveling algorithm:
Algorithm λ-Leveling : input F ∈ F, λ ∈ N , output F
repeat until stability:
among all the points which are λ-destructible or peak points for F , select a point x of minimal value;
F (x) := α− (x, F )
This algorithm may be efficiently implemented using a hierarchical queue.19
APPENDIX C. THE λ-SKELETON OPERATOR
In section 5.3, we introduced the λ-skeleton operator. We present here an algorithm that implements this operator.
Let us first recall some useful definitions.
Let X ⊂ Z 2 and x ∈ X, x is an end point (for X) if #(Γ∗n (x) ∩ X) = 1. Let F ∈ F and x ∈ Z 2 , x is an end
point (for F ) if it is an end point for the set Fk with k = F (x). A point x is said to be a λ-end point (for F ) if it
is an end point for F and if F (x) − α− (x, F ) > λ. A point x is said to be a λ-deletable point (for F ) if it is either a
λ-destructible point, or a peak point such that F (x) − α− (x, F ) ≤ λ.
Algorithm λ-Skeleton: input F ∈ F, λ ∈ N , output F
repeat until stability:
among all the points which are λ-deletable and not λ-end for F , select a point x of minimal value;
F (x) := α− (x, F )
APPENDIX D. THE CREST RESTORATION OPERATOR
In section 6, we introduced a crest restoration method. We present here an algorithm that implements the main step
of this method. Let us first recall some useful definitions.
Let X ⊂ Z 2 and x ∈ X, x is a separating point (for X) if T (x, X) ≥ 2. Let F ∈ F, a point x ∈ Z 2 is said to be
a separating point (for F ) if there exists k ∈ Z such that x is a separating point for the set Fk .
Let F ∈ F, a point x ∈ Z 2 which is a separating point for F is said to be extensible if it is either a constructible
point or a saddle point for F , and if x has at least one neighbor y which verifies the two following conditions:
i) y is a separating point (in the binary sense) for Fk , with k = F (x), and
ii) y is not a separating point (in the binary sense) for any Fj with j > k.
We recall that δ + (x, F ) is the maximal value up to which the point x may be raised without changing the topology
of the sections of F .
Algorithm CrestRestoration: input F ∈ F, n ∈ N , output F
G := F ;
repeat n times:
compute a list L of all the extensible separating points;
for all x in L do
if x is constructible for G then G(x) := min(δ + (x, G), δ + (x, F ))
else if x is a saddle point for G then G(x) := α+ (x, G);
F := G.
A justification for the use of the list L and some indications concerning the update of this list may be found in
the appendix A.
REFERENCES
1. T.Y. Kong and A. Rosenfeld: “Digital topology: introduction and survey”, Comp. Vision, Graphics and Image
Proc., No. 48, pp. 357-393, 1989.
2. A. Rosenfeld: “The fuzzy geometry of image subsets”, Pattern Recognition Letters, Vol. 2, pp. 311-317, 1984.
3. S. Beucher and F. Meyer: “The morphological approach to segmentation: the watershed transformation”, in
Mathematical Morphology in Image Processing, chapter 12, pp. 433-481, Dougherty Ed., Marcel Dekker, 1993.
4. G. Bertrand, J. C. Everat and M. Couprie: “Image segmentation through operators based upon topology”,
Journal of Electronic Imaging, Vol. 6, No. 4, pp. 395-405, 1997.
5. L. Lam and S. Lee and C. Y. Suen: “Thinning methodologies - A comprehensive survey”, IEEE Transactions on
PAMI, Vol. 14, pp. 869-885, 1992.
6. C. Dyer and A. Rosenfeld: “Thinning algorithms for gray-scale pictures”, IEEE Transactions on PAMI, Vol. 1,
pp. 88-90, 1979.
7. Samkar K. Pal: “Fuzzy skeletonization of an image”, Pattern Recognition Letters, Vol. 10, pp. 17-23, 1989.
8. Shiaw-Shian Yu and Wen-Hsiang Tsai: “A new thinning algorithm for gray-scale images by the relaxation technique”, Pattern Recognition, Vol. 23, No. 10, pp. 1067-1076, 1990.
9. Carlo Arcelli and Giuliana Ramella: “Finding grey-skeletons by iterated pixel removal”, Image and Vision Computing, Vol. 13, No. 3, 1995.
10. G. Bertrand: “Simple points, topological numbers and geodesic neighborhoods in cubic grids, Pattern Rec.
Letters, Vol. 15, pp. 1003-1011, 1994.
11. C. Arcelli: “Topological changes in grey-tone digital pictures”, Pattern Recognition, Vol. 32, pp. 1019-1023, 1999.
12. L. Vincent: “Morphological grayscale reconstruction in image analysis: applications and efficient algorithms”,
IEEE Transactions on Image Processing, Vol. 2, No. 2, 1993.
13. M. Grimaud: “A new measure of contrast: the dynamics”, SPIE Image Algebra And Morphological Processing
III, Vol. 1769, pp. 292-305, 1992.
14. J.C. Everat: “Topologie des coupes et segmentation d’images par extraction de Minima”, PhD thesis of Université
Denis Diderot Paris VII, 1997.
15. J. Serra: “Image analysis and mathematical morphology”, Academic Press, 1982.
16. J. Serra: “Image analysis and mathematical morphology: theoretical advances”, Vol. 2, Academic Press, 1988.
17. M. Couprie and G. Bertrand: “Topological grayscale watershed transformation”, SPIE Vision Geometry V
Proceedings, Vol. 3168, pp. 136-146, 1997.
18. L. Vincent and P. Soille: “Watersheds in digital spaces: an efficient algorithm based on immersion simulations”,
IEEE Transactions on PAMI, Vol. 13, No. 6, pp. 583-598, 1991.
19. F. Meyer: “Un algorithme optimal de ligne de partage des eaux”, 8th Conf. Reconnaissance Des Formes Et
Intelligence Artificielle, Vol. 2, pp. 847-859, 1992.
20. C. Vachier: “Extraction de caractéristiques, segmentation d’images et Morphologie Mathématique”, PhD thesis
of École des Mines de Paris, 1995.
21. J. Canny: “A computational approach to edge detection”, IEEE Transactions on PAMI, Vol. 8, No. 6, pp. 679698, 1990.
22. R. Deriche: “Fast algorithms for low-level vision”, IEEE Transactions on PAMI, Vol. 12, No. 1, pp. 78-87, 1990.
23. C. Lohou, G. Bertrand: “New parallel thinning algorithms for 2D grayscale images” SPIE Vision Geometry IX,
Vol. 4117, 2000.
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
9
9
9
0
0
0
1
0
4
9
7
7
7
0
1
1
0
0
0
7
0
0
0
1
1
0
9
9
9
9
9
0
1
0
0
9
4
9
4
9
0
0
1
0
9
9
3
7
7
0
1
1
0
0
9
3
7
0
0
1
1
0
9
9
3
7
7
0
1
0
9
4
9
9
9
4
9
0
1
0
8
6
7
7
7
0
1
1
0
0
0
7
2
6
0
1
1
0
9
9
9
9
9
0
1
0
9
9
9
9
9
9
9
0
1
0
7
6
2
2
7
0
1
1
0
0
6
2
2
6
0
1
1
0
9
6
6
2
9
0
1
0
9
4
9
9
9
4
9
0
1
0
0
6
7
7
7
0
1
1
0
0
0
6
6
0
0
1
1
0
9
6
9
9
9
0
1
0
0
9
4
9
4
9
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
9
9
9
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
(a)
(b)
(c)
(d)
Figure 1. Homotopic kernels. (a): original image; (b): a lower homotopic kernel of (a); (c): an upper homotopic
kernel of (a); (d): a non-thin lower homotopic kernel.
10 10 10
10 10 10
50 50 10
10 10 10
50 30 50
50 50 50
10 10 10
10 50 10
10 10 10
50 50 10
50 50 50
50 30 50
50 30 10
50 30 50
10 10 10
10 10 10
10 10 10
10 10 10
10 10 10
10 10 10
10 10 10
(a)
(b)
(c)
(d)
(e)
(f)
(g)
Figure 2. Topological type. The central point has the following type: (a): peak; (b): interior; (c): maximal
destructible; (d): maximal 2-divergent; (e): destructible 2-convergent; (f): simple side; (g): saddle.
(a)
(b)
(c)
(a’)
(b’)
(c’)
Figure 3. Kernels. (a): original image, (b): lower homotopic kernel, (c): lower leveling kernel, (a’,b’,c’): in white,
the minima of (a,b,c) respectively.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
6
0
0
0
0
0
0
6
6
6
0
0
0
0
0
0
6
6
6
0
0
0
0
0
0
6
6
6
0
0
0
0
0
0
6
0
6
0
5
5
5
0
0
6
0
6
0
2
2
2
0
0
6
0
6
0
5
5
5
0
0
6
0
6
0
5
5
5
0
0
6
0
6
0
5
0
5
0
0
6
0
6
0
5
0
2
0
0
6
0
6
0
5
0
2
0
0
6
0
6
0
5
0
5
0
0
6
6
6
0
5
0
5
0
0
6
6
6
0
5
0
2
0
0
6
6
6
0
5
0
5
0
0
6
6
6
0
5
0
5
0
0
5
5
5
0
5
5
5
0
0
0
0
0
0
2
2
2
0
0
5
5
5
0
5
5
5
0
0
5
5
5
0
5
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
4
0
4
4
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
2
2
0
0
0
0
0
0
2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
5
5
5
5
5
0
0
0
0
0
5
0
0
0
0
0
5
5
5
5
5
5
5
0
0
5
5
5
5
5
5
5
0
0
5
5
5
5
5
5
5
0
0
0
0
0
0
0
0
0
0
0
5
5
5
5
5
5
5
0
0
5
5
5
5
5
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
(a)
(b)
(c)
(d)
Figure 4. Illustration of reconstruction operators. (a): original image; (b): marker image; (c): homotopic reconstruction of (b) under (a); (d): mathematical morphology reconstruction of (b) under (a).
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
6
0
0
8
5
6
0
0
0
0
0
0
0
8
8
7
0
0
6
6
7
0
0
0
0
0
0
0
5
8
5
0
0
9
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
(a)
(b)
(c)
Figure 5. An image F which contains a simply connected component (a), an image G which contains a component
without holes (b), a lower leveling kernel for both images (c).
(a)
(b)
(c)
(d)
Figure 6. Impulse noise filtering. (a): original image; (b): original image plus impulse noise; (c): after 3 steps of
lower leveling; (d): reconstruction of (c) under (b).
(a)
(b)
(c)
(d)
(a’)
(b’)
(c’)
(d’)
Figure 7. Filtered leveling kernel. (a): original image; (b): lower homotopic kernel; (c): lower leveling kernel; (d):
filtered leveling kernel with λ = 40; (a’), (b’), (c’), (d’): in white, the minima of (a), (b), (c), (d) respectively.
x
1
z
1
0
0
0
0
0
0
0
0
0
0 30 10 10 0
0
0
0 20 10 10 0
0 200 200 200 200 200 0
y
(a)
0
0
0 100 90 110 0
0
0
0 110 110 110 0
0
0
0
0
0
0
0
(b)
Figure 8. Illustration of λ-destructible points. (a): a 1D profile of a lower leveling kernel; (b): an image with two
10-destructible points (levels 20 and 100) which are not destructible.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0 10 0
0
0
6
0
0
0
0
8
0
0
8
0
0
6
0
0
0
0
8
0
0
6
0
0
6
0
0
0
8
1
8 10 3 10 6
2
6
0
0
8
1
8
8
3
8
6
2
6
0
0
8
1
8
6
3
6
6
2
6
0
0
0
8
8 10 3 10 6
6
0
0
0
0
8
3
3
3
8
6
6
0
0
0
0
8
3
3
3
3
3
6
0
0
0
8
1
8 10 3 10 6
2
6
0
0
8
1
8
8
3
8
6
2
6
0
0
8
1
8
6
3
6
6
2
6
0
0
0
8
0
0 10 0
0
6
0
0
0
0
8
0
0
8
0
0
6
0
0
0
0
8
0
0
6
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
(a)
0
(b)
Figure 9. Example of dynamics modification.
(c)
10 10 10
10 10 10
30 50 10
50 30 10
30 50 10
30 50 10
10 10 10
10 10 10
30 50 10
(a)
(b)
(c)
Figure 10. Example of λ-end and λ-deletable points. (a): the central point is a 29-end point; (b) and (c): the
central point is a 20-deletable point.
(a)
(b)
(c)
(d)
(e)
(f)
Figure 11. Filtered skeleton. (a): Original image; (b): homotopic skeleton; (c): filtered skeleton with λ = 40.
(d,e,f): In white, the regional minima of (a,b,c) respectively.
0
0 240 240 240 50 50
0
0 240 240 240 50 50
0
0 240 240 240 50 50
0
0 240 240 240 50 50
0
0 240 240 240 50 50
0
0 60 240 50 50 50
0
0 60 240 50 50 50
0
0 60 240 50 50 50
0 60 240 240 240 50 50
0 60 40 240 50 50 50
0 60 40 240 50 50 50
0 60 40 240 50 50 50
60 40 40 240 240 50 50
60 40 40 90 50 50 50
60 40 40 240 50 50 50
60 40 40 240 50 50 50
0 60 40 240 240 50 50
0 60 40 90 50 50 50
0 60 40 90 50 50 50
0 60 40 240 50 50 50
0
0
0 90 90 50 50 50
0
0 90 50 50 50 50
0
0 90 50 50 50 50
0
0 240 50 50 50 50
0 30 0
0
0 90 90 90 50 50
0
0
0 90 50 50 50
0
0
0 90 50 50 50
0
0
0 240 50 50 50
0 15 0
0
0 240 240 240 50 50
0
0
0 90 50 50 50
0
0
0 240 50 50 50
0
0
0 240 50 50 50
0 20 0
0
0 240 240 240 50 50
0
0
0 240 50 50 50
0
0
0 240 50 50 50
0
0
0 240 50 50 50
0 20 0
0
0 240 240 240 50 50
0
0
0 240 50 50 50
0
0
0 240 50 50 50
0
0
0 240 50 50 50
0 25 0
0
0 240 240 240 50 50
0
0
0 240 50 50 50
0
0
0 240 50 50 50
0
0
0 240 50 50 50
0 30 0
0
0 240 240 240 50 50
0
0 240 240 240 50 50
0
0 240 240 240 50 50
0
0 240 240 240 50 50
(a)
(b)
(c)
(d)
0
0
0
0
0
(e)
Figure 12. Crest restoration. (a): the dynamics of the minimum of level 50 is only 40, due to the narrow pass at
level 90; (b): after 1 iteration of homotopic thinning; (c,d): after 1, 3 iterations of algorithm CrestRestoration; (e):
the points at levels 15, 20 and 25 are separating points.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
Figure 13. Crest restoration. (a): original image; (b): after Deriche gradient operator (the lowest values appear
in white); (c): after a filtered thinning; (e): after 10 steps of CrestRestoration; (g): after iterating CrestRestoration
until stability; (d,f,h): threshold at the same level of (c,e,g) resp.; (i,j): hysteresis thresholding.
0 40 30 20 10 0
(a)
0 40 20 10 0
(b)
0
0 40 0
0
0
0
(c)
Figure 14. Construction of the list of points L. (a): original image; (b): result obtained with constructing of L
with left to right scanning; (c): result obtained with constructing of L with left to right scanning.
z
z
y
t
t
t
λ
x
(a)
(b)
Figure 15. Effect of removing points in different orders.
(c)