Digital Geometry: Digital Model and Elementary Digital Topology§

author:David Coeurjolly

Digital Model§

Principles§

Idea

Take benefit from the regular structure of the lattice to enhance geometrical analysis of shapes

_images/sci1.png _images/sci2.png _images/sci3.png

Approach§

_images/discretnb.png

What do we need ?§

Lattice and Tilings§

Requirements

More formally

Example in dimension 2§

_images/pavages_bizarres.png

Definitions§

Lattice

Given a basis (v_1,\ldots,v_n) of \mathbb{R}^n,

\Lambda= \left \{ \sum_{i=1}^n a_iv_i \,|\, a_i \in \mathbb{Z} \right \}

(finitely-generated free abelian group, symmetry group, …)

Five fundamental lattices in the Euclidean plane

_images/1000px-2d-bravais.png

Paving§

Definition (dual lattice structure)
The cell of a lattice point \lambda\in\Lambda is its Voronoi cell

Speaking of density packing/kissing number and covering, hexagonal lattice is optimal

Dimension 3§

Regular cubic grid

V=\left ( \begin{array}{ccc}
1 &0 &0\\
0 & 1 &0\\
0 & 0 & 1
\end{array} \right )

Face-centered cubic grid

V_{fcc}=\left ( \begin{array}{ccc}
1 &1 &0\\
1 & 0 &1\\
0 & 1 & 1
\end{array} \right )

Body-centered cubic grid

V_{bcc}=\left ( \begin{array}{ccc}
1 &1 & -1\\
1 & -1 &1\\
-1 & 1 & 1
\end{array} \right )

_images/fccbcc.png

Dimension 3 (bis)§

_images/fccbcc.png

Hexagonal grid

V_{hexa}=\left ( \begin{array}{ccc}
  \sqrt{3}/2 & 0 \\
  1/2 &1
  \end{array} \right )

Semi-regular pavings§

Definition

Lattice Encoding§

Square lattice

Triangular grid

Hexagonal grid

Lattice Encoding (ctd.)§

Cubic grid

Trivial

FCC/BCC grid

(x,y,z) \text{ is generated by } V_{fcc} \Leftrightarrow (x,y,z)\in \mathbb{Z}^3,  x+y+z=0\, (mod\, 2)

(x,y,z) \text{ is generated by } V_{bcc} \Leftrightarrow (x,y,z)\in \mathbb{Z}^3,  x=y=z\, (mod\, 2)

Elongated grids

Fundamental Topology Elements§

Adjacency relationships in the square/cubic grid§

Combinatorial approach

In 2D:

In 3D:

Topological approach

Two pixels/voxels are (k)-adjacent is the intersection of their (closed) cell is of dimension k

Mixing all dimensions:

More definitions§

(k)-path

A sequence of digital points :\{p_i\}_{i=0\ldots n} is a (k)-path if for each point, p_i is (k)-adjacent to p_{i-1} (except for i=0)

(k)-arc

A (k)-arc is a (k)-path such that each p_i has exactly two (k)-adjacent neighbors (except for extremities)

(k)-curve

A (k)-curve is a (k)-arc such that p_0 = p_n

(k)-object

A set S of digital point is a (k)-object iff for any pair of points, there exists a (k)-path in S

Illustrations§

_images/topo.png _images/topo2.png

Illustrations (ctd.)§

_images/canard_plein.png

Can you spot (k)-arcs/(k)-objects/(k)-curves for k=\{0,1\} ?

Toward a definition of contour§

Objective: define a notion of object contour/boundary matching with Jordan theory

Jordan theorem states that:

_images/jordan.png

Idea mimic a digital version of Jordan framework replacing C by a (k)-curve ?

Digital paradox§

Given the following (0)- and (1)-curves, do they define Jordan-like curve ?

_images/jordan2D_1.png _images/jordan2D.png

\Rightarrow It depends…. we need a pair of adjacency relationships !

Example: Filling holes§

_images/remplissage.png

Adjacency pairs§

(\kappa,\lambda) Jordan pair such that k is the adjacency for the object and l the adjacency for the complementary

_images/jordan2drepare.png

In dimension 2

(0,1) and (1,0)

In dimension 3

(2,1), (2,0) (1,2) and (0,2)

Border definition§

Border: Given a (\kappa,\lambda) Jordan pair, the border of X is the set of (\kappa) -adjacent digital points which are (\lambda) -adjacent to points in X^C

_images/bubble-object-border1.png _images/bubble-object-color-borders-48.png

Cellular grid space and topology§

Idea embed the digital space \mathbb{Z}^n into a cellular space (cartesian cubic space) to represent oriented inter-pixel elements

In 2D

In nD

_images/ctopo-1.png

(two 0-cells, two 2-cells and four 1-cells)

Digital Surface§

Principle defines digital surface as a set of (n-1)-cells (surfels)

  • \beta is anti-reflexive
  • \beta is a relationship on surfels
  • \beta can extract all surfels (informally)

We can demonstrate that such Jordan triplets leads to well-defined digital Jordan surface

Illustration in 2D (here, k=1)

_images/digital-surface-IntAdjacency.png

Approach is valid for various digital structures

\beta in 3D§

Two valid \beta relationships on (2,1)- or (2,0)- pairs on closed objects

_images/digital-surface-SurfaceTracking2.png _images/digital-surface-SurfaceTracking.png

\beta relationship + graph traversal (depth first, breadth first,…) \Rightarrow digital surface tracker

_images/suivi-parcours-largeur.png _images/suivi-artzy.png

Efficiency of the tracker is guided by the `beta`:math: complexity

Generic Breadth-first tracker§

_images/algoHerman.png

For (2)-object

Digital Surface Extraction§

Overall algorithm (for single connected surface)

_images/digital-surface-bfv-all.png

Complex Objects

Several connected components, holes, …

\Rightarrow Scan the complete volume, mark all surfels as potential starting surfels and apply the tracker on each starting surfel (removing traversed surfels)

Digitization schemes§

Main ideas§

Formalize the embedding \mathbb{R}^n\rightarrow\mathbb{Z}^n

Gauss model§

Let \mathcal{X}\subset \mathbb{R}^n and X its digitization

X = \mathcal{X}\cap\mathbb{Z}^n

_images/discGauss.png

Gauss models (bis)§

This model was first used to approximate

\int_\mathcal{X} ds

by

|X|

Grid intersection models§

Idea Defined for oriented contours \partial\mathcal{X}

For each intersection \partial\mathcal{X} with a grid edge, we select the {closer,inner,outer} grid point

(resp. GIQ -Grid Intersect Quantization-, OBQ -Object Boundary Quantization-, BBQ -Background Boundary Quantization-)

_images/discGrids.png

Analytic models§

Generic definition

Let d_* be a metric, B its unit ball and M=\check{B}

\mathbb{A}(\mathcal{X})&=\{p\in\mathbb{Z}^n~|~ B(p)\cap \mathcal{X} \neq \emptyset\}
       \\&=\{p\in\mathbb{Z}^n~|~ d_*(p,\mathcal{X})\leq \frac{1}{2} \} \\&=(\mathcal{X}\oplus M)\cap\mathbb{Z}^n

_images/modele_analytique.png

Still bubbles may exist

_images/modele_analytique_generique.png

Properties§

Following the definition (F,G \in \mathbb{R}^n ):

prop.

\mathbb{A}(F\cup G)=  \mathbb{A}(F) \cup  \mathbb{A}(G)

\mathbb{A}(F)= \bigcup_{p\in F} \mathbb{A}(p)

\mathbb{A}(F\cap G)\subseteq  \mathbb{A}(F) \cap \mathbb{A}(G)

\text{if } F\subseteq G\text{ then }  \mathbb{A}(F) \subseteq \mathbb{A}(G)

\Rightarrow Allows modeling of digital objects but CSG approach (Constructive Solid Geometry)

Interesting theoretical tool: multigrid digitization§

Idea Digitization parametrized by a grid step

E.g. for Gauss digitization

X_h = \left (\frac{1}{h}\cdot \mathcal{X}\right )\cap \mathbb{Z}^n

_images/resolution.png

Mathematical results can be obtained with constraints on \mathcal{X}, for example

thm.

If \partial \mathcal{X} is C^2 with bounded curvature, there exists a grid step h_0 such that for 0<h<h_0, X_h is topologically equivalent to \mathcal{X}

thm.

If \partial \mathcal{X} is C^2 with bounded curvature, the retro-projection from \hat{x}\in\partial X_h onto \partial \mathcal{X} at x along its normal direction is continuous, mono-valuated and surjective (for 0<h<h_0) and \| \hat{x} -x\|_\infty \le h)

Another example§

Question 1 Given a digital object, How to estimate its areas ?

Answer Well, let’s count the number of grid points (unit squares) (estimator denoted E)

Question 2 Is this estimator multigrid convergent ? What is the convergence speed ?

Answer

  • Let’s consider the estimator E_h at grid-step h defined on the digitization of the Euclidean shape \mathcal{X} from a given class of shapes

  • If \mathcal{X} is a finite convex shape, there exists a grid step h_0 such that for 0<h<h_0 we have:

    | E_h( X_h ) - \mu(\mathcal{X}) | \leq O(h)

[Gauss, Dirichlet]

  • If \mathcal{X} is C^3 (or finitely piece-wise C^3 with positive curvature almost everywhere…) then

    | E_h( X_h ) - \mu(\mathcal{X}) | \leq O(h^{\frac{15}{11}+\epsilon})

    [Huxley,…]

Would there be better approaches ?