The Discrete Pulse Transform in Two Dimensions
Available from
Stefan van der Walt's profile on Mendeley.
Page 1
The Discrete Pulse Transform in Two Dimensions
The Discrete Pulse Transform in Two Dimensions
I. Fabris-Rotelli†, S.J. van der Walt?
† Department of Statistics,
University of Pretoria, South Africa
? Applied Mathematics Division, Department of Mathematical Sciences,
University of Stellenbosch, South Africa
inger.fabris-rotelli@up.ac.za, stefan@sun.ac.za
Abstract
During the last three decades, the LULU operator and its
close relative, the Discrete Pulse Transform (DPT), were
developed and applied to signal processing problems. Its
recent extension into higher dimensions paved the way
for applications on signals such as images. In this pa-
per, we present a memory-efficient implementation of the
two-dimensional Discrete Pulse Transform and use it to
explore the scale space exposed by the DPT.
1. Introduction
Research initiated by Rohwer on the so-called LULU
smoothers culminated in a well-developed theory for
nonlinear operators in signal processing [28, 26, 27, 29,
21] . The LULU smoothers are given by the operators
Ln, Un and their compositions. They act on sequences
x = {xi} ∈ `1, such that
∑
|xi| < ∞ 1. To extend
these operators into higher dimensions, Serra’s concept
of morphological connections [30] is applied. This ex-
tension was first developed in [1] and [2].
Definition 1. Let B be an arbitrary non-empty set. A
family C of subsets of B is called a connected class or a
connection on B if
(i) ∅ ∈ C,
(ii) {x} ∈ C for each x ∈ B and
(iii) for any family {Ci} ⊆ C we have
⋂
i∈I
Ci 6= ∅ =⇒
⋃
i∈I
Ci ∈ C.
If a set C belongs to a connection C, then C is called
connected.
Given a point x ∈ Z2 and n ∈ N we denote byNn(x)
the set of all connected sets of size n + 1 that contain
1This condition is necessary to ensure that the total variation of the
sequence, and that of the DPT, is defined [26].
point x, that is,
Nn(x) = {V ∈ C : x ∈ V, card(V ) = n+ 1}
where card(V ) is the number of elements in the set
V . In image analysis, the connectivity is defined on
a graph via a neighbour relation, e.g., 4-connectivity
or 8-connectivity. In the rest of this paper, we use 4-
connectivity only. We define the operators Ln and Un
on A(Z2), the vector lattice (admitting a supremum and
infimum) of all real functions defined on Z2 with respect
to the usual point-wise defined addition, scalar multipli-
cation and partial order. Thus, an image f(x) is defined
on the domain Z2 with values in A(Z2).
Definition 2. Let f ∈ A(Zd) and n ∈ N. Then
Ln(f)(x) = max
V ∈Nn(x)
min
y∈V
f(y), x ∈ Zd,
Un(f)(x) = min
V ∈Nn(x)
max
y∈V
f(y), x ∈ Zd.
The properties of these operators are dealt with in [1, 2].
2. The Discrete Pulse Transform
The Discrete Pulse Transform is obtained by the succes-
sive removal of peaks (local maximum sets) and valleys
(local minimum sets) from the image by applying Ln and
Un respectively.
Definition 3. Let V ∈ C, a connected set. A point x /∈ V
is called adjacent to V if V ∪ {x} ∈ C. The set of all
points adjacent to V is denoted by adj(V ), that is,
adj(V ) = {x ∈ Z2 : x /∈ V, V ∪ {x} ∈ C}.
A connected subset V of Z2 is called a local maximum
set of f ∈ A(Z2) if
sup
y∈adj(V )
f(y) < inf
x∈V
f(x).
Similarly V is a local minimum set if
inf
y∈adj(V )
f(y) > sup
x∈V
f(x).
I. Fabris-Rotelli†, S.J. van der Walt?
† Department of Statistics,
University of Pretoria, South Africa
? Applied Mathematics Division, Department of Mathematical Sciences,
University of Stellenbosch, South Africa
inger.fabris-rotelli@up.ac.za, stefan@sun.ac.za
Abstract
During the last three decades, the LULU operator and its
close relative, the Discrete Pulse Transform (DPT), were
developed and applied to signal processing problems. Its
recent extension into higher dimensions paved the way
for applications on signals such as images. In this pa-
per, we present a memory-efficient implementation of the
two-dimensional Discrete Pulse Transform and use it to
explore the scale space exposed by the DPT.
1. Introduction
Research initiated by Rohwer on the so-called LULU
smoothers culminated in a well-developed theory for
nonlinear operators in signal processing [28, 26, 27, 29,
21] . The LULU smoothers are given by the operators
Ln, Un and their compositions. They act on sequences
x = {xi} ∈ `1, such that
∑
|xi| < ∞ 1. To extend
these operators into higher dimensions, Serra’s concept
of morphological connections [30] is applied. This ex-
tension was first developed in [1] and [2].
Definition 1. Let B be an arbitrary non-empty set. A
family C of subsets of B is called a connected class or a
connection on B if
(i) ∅ ∈ C,
(ii) {x} ∈ C for each x ∈ B and
(iii) for any family {Ci} ⊆ C we have
⋂
i∈I
Ci 6= ∅ =⇒
⋃
i∈I
Ci ∈ C.
If a set C belongs to a connection C, then C is called
connected.
Given a point x ∈ Z2 and n ∈ N we denote byNn(x)
the set of all connected sets of size n + 1 that contain
1This condition is necessary to ensure that the total variation of the
sequence, and that of the DPT, is defined [26].
point x, that is,
Nn(x) = {V ∈ C : x ∈ V, card(V ) = n+ 1}
where card(V ) is the number of elements in the set
V . In image analysis, the connectivity is defined on
a graph via a neighbour relation, e.g., 4-connectivity
or 8-connectivity. In the rest of this paper, we use 4-
connectivity only. We define the operators Ln and Un
on A(Z2), the vector lattice (admitting a supremum and
infimum) of all real functions defined on Z2 with respect
to the usual point-wise defined addition, scalar multipli-
cation and partial order. Thus, an image f(x) is defined
on the domain Z2 with values in A(Z2).
Definition 2. Let f ∈ A(Zd) and n ∈ N. Then
Ln(f)(x) = max
V ∈Nn(x)
min
y∈V
f(y), x ∈ Zd,
Un(f)(x) = min
V ∈Nn(x)
max
y∈V
f(y), x ∈ Zd.
The properties of these operators are dealt with in [1, 2].
2. The Discrete Pulse Transform
The Discrete Pulse Transform is obtained by the succes-
sive removal of peaks (local maximum sets) and valleys
(local minimum sets) from the image by applying Ln and
Un respectively.
Definition 3. Let V ∈ C, a connected set. A point x /∈ V
is called adjacent to V if V ∪ {x} ∈ C. The set of all
points adjacent to V is denoted by adj(V ), that is,
adj(V ) = {x ∈ Z2 : x /∈ V, V ∪ {x} ∈ C}.
A connected subset V of Z2 is called a local maximum
set of f ∈ A(Z2) if
sup
y∈adj(V )
f(y) < inf
x∈V
f(x).
Similarly V is a local minimum set if
inf
y∈adj(V )
f(y) > sup
x∈V
f(x).
Page 2
The LULU operators act as follows on local maximum
and minimum sets.
• The application of Ln (Un) removes local maxi-
mum (minimum) sets of size smaller or equal to n.
• Neither operator creates new local minimum or
maximum sets where none existed before. It may
happen that existing minimum or maximum sets
are enlarged when adjacent sets are joined.
• Ln(f) = f (Un(f) = f ) if and only if f does not
have local maximum (minimum) sets of size n or
less.
• (Ln ◦ Un)(f)and (Un ◦ Ln)(f) have neither local
maximum sets nor local minimum sets of size n or
less. Furthermore, (Ln◦Un)(f) = (Un◦Ln)(f) =
f if and only if f does not have local maximum sets
or local minimum sets of size less than or equal to
n.
Let N = card(supp(f)), that is, the size of the image.
We derive the DPT of f ∈ A(Z2) by applying iteratively
the operators Ln, Un with n increasing from 1 to N as
follows
DPT (f) = (D1(f), D2(f), ..., DN (f)), (1)
where the components of (1) are obtained through
D1(f) = (I − P1)(f)
Dn(f) = (I − Pn) ◦Qn−1(f), n = 2, ..., N
and Pn = Ln◦Un or Pn = Un◦Ln andQn = Pn◦...◦P1,
n ∈ N.
Definition 4. A function φ ∈ A(Z2) is called a pulse if
there exists a connected set V and a real number α such
that
φ(x) =
{
α if x ∈ V
0 if x ∈ Z2 \ V .
The set V is the support of the pulse φ, that is supp(φ) =
V .
We thus obtain the following decomposition of the im-
age f ∈ A(Z2),
f =
N∑
n=1
Dn(f) =
N∑
n=1
γ(n)∑
s=1
φns,
where each φns is a discrete pulse of size n which can be
positive or negative, and all discrete pulses of fixed size
n have disjoint supports. For n1, n2, s1, s2 ∈ N such that
n1 < n2, 1 ≤ s1 ≤ γ(n1) and 1 ≤ s2 ≤ γ(n2), we have
that
supp(φ∗n1s1) ∩ supp(φ
∗
n2s2) 6= ∅ ⇒
supp(φ∗n1s1) ⊂ supp(φ∗n2s2)
showing that as the decomposition progresses the sup-
ports of the pulses, which are either local maximum or
minimum sets, are either nested (i.e., they grow), or are
disjoint.
3. Implementation
The Discrete Pulse Transform decomposes a signal into
a collection of pulses. In one dimension, a pulse is char-
acterised by its start and end position, as well as by its
amplitude (see Fig. 1). In two dimensions, a pulse de-
scribes a connected region over which function values
are constant (we refer to 4-connection — in other words,
where two function values are equal in the North-South
or East-West directions). The number of pulses may vary
from approximately 30,000 for a typical 300 × 300 im-
age to over a hundred thousand for a 500 × 500 image.
Since the decomposition produces such a large number
of pulses, we need an efficient storage scheme to repre-
sent these in memory. Furthermore, we need to be able to
calculate certain attributes of the pulses (such as the area
and the boundary values) rapidly.
3.1. Storage
The storage scheme used is based on the popular
Compressed Sparse Row (CSR) format, [7, 8], for
representing sparse matrices. Using this scheme, the
matrix
5 0 1 2 0
0 0 0 3 0
0 0 0 0 0
0 6 0 9 0
is written as
ff
• values =
[
5 1 2 3 6 9
]
• columns =
[
0 2 3 3 1 3
]
• row−offset =
[
0 3 4 4 6
]
The values of the non-zero elements are stored in
values, and their column-positions given by columns.
The elements of row−offset specify where in columns
the elements of each row start. The number of elements
row j is given by row−offset[j+1]−row−offset[j].
When storing 2-dimensional pulses, we know that the
pulse
• may only occupy a small portion of the image,
• has a single amplitude value across the pulse and
• consists of regions connected horizontally and ver-
tically.
We therefore modify the storage structure, so that the
pulse
and minimum sets.
• The application of Ln (Un) removes local maxi-
mum (minimum) sets of size smaller or equal to n.
• Neither operator creates new local minimum or
maximum sets where none existed before. It may
happen that existing minimum or maximum sets
are enlarged when adjacent sets are joined.
• Ln(f) = f (Un(f) = f ) if and only if f does not
have local maximum (minimum) sets of size n or
less.
• (Ln ◦ Un)(f)and (Un ◦ Ln)(f) have neither local
maximum sets nor local minimum sets of size n or
less. Furthermore, (Ln◦Un)(f) = (Un◦Ln)(f) =
f if and only if f does not have local maximum sets
or local minimum sets of size less than or equal to
n.
Let N = card(supp(f)), that is, the size of the image.
We derive the DPT of f ∈ A(Z2) by applying iteratively
the operators Ln, Un with n increasing from 1 to N as
follows
DPT (f) = (D1(f), D2(f), ..., DN (f)), (1)
where the components of (1) are obtained through
D1(f) = (I − P1)(f)
Dn(f) = (I − Pn) ◦Qn−1(f), n = 2, ..., N
and Pn = Ln◦Un or Pn = Un◦Ln andQn = Pn◦...◦P1,
n ∈ N.
Definition 4. A function φ ∈ A(Z2) is called a pulse if
there exists a connected set V and a real number α such
that
φ(x) =
{
α if x ∈ V
0 if x ∈ Z2 \ V .
The set V is the support of the pulse φ, that is supp(φ) =
V .
We thus obtain the following decomposition of the im-
age f ∈ A(Z2),
f =
N∑
n=1
Dn(f) =
N∑
n=1
γ(n)∑
s=1
φns,
where each φns is a discrete pulse of size n which can be
positive or negative, and all discrete pulses of fixed size
n have disjoint supports. For n1, n2, s1, s2 ∈ N such that
n1 < n2, 1 ≤ s1 ≤ γ(n1) and 1 ≤ s2 ≤ γ(n2), we have
that
supp(φ∗n1s1) ∩ supp(φ
∗
n2s2) 6= ∅ ⇒
supp(φ∗n1s1) ⊂ supp(φ∗n2s2)
showing that as the decomposition progresses the sup-
ports of the pulses, which are either local maximum or
minimum sets, are either nested (i.e., they grow), or are
disjoint.
3. Implementation
The Discrete Pulse Transform decomposes a signal into
a collection of pulses. In one dimension, a pulse is char-
acterised by its start and end position, as well as by its
amplitude (see Fig. 1). In two dimensions, a pulse de-
scribes a connected region over which function values
are constant (we refer to 4-connection — in other words,
where two function values are equal in the North-South
or East-West directions). The number of pulses may vary
from approximately 30,000 for a typical 300 × 300 im-
age to over a hundred thousand for a 500 × 500 image.
Since the decomposition produces such a large number
of pulses, we need an efficient storage scheme to repre-
sent these in memory. Furthermore, we need to be able to
calculate certain attributes of the pulses (such as the area
and the boundary values) rapidly.
3.1. Storage
The storage scheme used is based on the popular
Compressed Sparse Row (CSR) format, [7, 8], for
representing sparse matrices. Using this scheme, the
matrix
5 0 1 2 0
0 0 0 3 0
0 0 0 0 0
0 6 0 9 0
is written as
ff
• values =
[
5 1 2 3 6 9
]
• columns =
[
0 2 3 3 1 3
]
• row−offset =
[
0 3 4 4 6
]
The values of the non-zero elements are stored in
values, and their column-positions given by columns.
The elements of row−offset specify where in columns
the elements of each row start. The number of elements
row j is given by row−offset[j+1]−row−offset[j].
When storing 2-dimensional pulses, we know that the
pulse
• may only occupy a small portion of the image,
• has a single amplitude value across the pulse and
• consists of regions connected horizontally and ver-
tically.
We therefore modify the storage structure, so that the
pulse
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime
Start using Mendeley in seconds!
Readership Statistics
1 Reader on Mendeley
by Discipline
by Academic Status
100% Researcher (at an Academic Institution)
by Country
100% South Africa



