71
Measuring and Representing Holes in Discrete Objects Measuring and Representing Holes in Discrete Objects Aldo Gonzalez-Lorenzo Aix-Marseille Université - CNRS, LIS UMR 7020 March 25, 2019 1 / 38

Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring and Representing

Holes in Discrete Objects

Aldo Gonzalez-Lorenzo

Aix-Marseille Université - CNRS, LIS UMR 7020

March 25, 2019

1 / 38

Page 2: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Outline

1 Introduction

2 Background

3 Measuring Holes

4 Representing Holes

5 Applications

6 Conclusion

2 / 38

Page 3: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Outline

1 Introduction

2 Background

3 Measuring Holes

4 Representing Holes

5 Applications

6 Conclusion

3 / 38

Page 4: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Holes ≃ homology

4 / 38

Page 5: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Holes ≃ homology

4 / 38

Page 6: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Holes ≃ homology

4 / 38

Page 7: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Holes ≃ homology

4 / 38

Page 8: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Holes ≃ homology

We can know how many holes there are in an object

We cannot know where or how they are

4 / 38

Page 9: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Size of a hole

The 1st one is bigger than the2nd one

The 2nd one is thicker than the1st one

5 / 38

Page 10: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Size of a hole

The 1st one is bigger than the2nd one

The 2nd one is thicker than the1st one

5 / 38

Page 11: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Size of a hole

The 1st one is bigger than the2nd one

The 2nd one is thicker than the1st one

5 / 38

Page 12: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Representing a hole

Homology Cohomology

6 / 38

Page 13: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Representing a hole

Do homology generators really represent holes?

7 / 38

Page 14: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Introduction

Geometry + Topology↓ ↓

Signed distance transform Persistent homology

8 / 38

Page 15: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Outline

1 Introduction

2 BackgroundDigital Geometry

Cubical Complexes

Homology

Persistent Homology

3 Measuring Holes

4 Representing Holes

5 Applications

6 Conclusion9 / 38

Page 16: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Digital Geometry

Discrete object

A nD discrete object is a subset of Zn

Connectivity relation: 2n or the (3n − 1)-connectivity.10 / 38

Page 17: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Digital Geometry

Discrete object

A nD discrete object is a subset of Zn

Connectivity relation: 2n or the (3n − 1)-connectivity.10 / 38

Page 18: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Digital Geometry

Discrete object

A nD discrete object is a subset of Zn

Connectivity relation: 2n or the (3n − 1)-connectivity.10 / 38

Page 19: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Digital Geometry

Signed distance transform

Let O be a discrete object,

sdtO(x) =

{

−d(x ,Oc) if x ∈ O

d(x ,O) if x /∈ O

Figure: Sublevel sets of the signed distance transform

11 / 38

Page 20: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Cubical Complexes

Cubical complex

Union1 of points, edges, squares, cubes, ... (cubes)

1with some conditions12 / 38

Page 21: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Cubical Complexes

Cubical complex

Union1 of points, edges, squares, cubes, ... (cubes)

1with some conditions12 / 38

Page 22: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Cubical Complexes

Cubical complex

Union1 of points, edges, squares, cubes, ... (cubes)

1with some conditions12 / 38

Page 23: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Cubical Complexes

Cubical complex

Union1 of points, edges, squares, cubes, ... (cubes)

1with some conditions12 / 38

Page 24: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Cubical Complexes

Cubical complex

Union1 of points, edges, squares, cubes, ... (cubes)

1with some conditions12 / 38

Page 25: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Cubical Complexes

Discrete object −→ cubical complex ((3n − 1)-connectivity)

13 / 38

Page 26: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Cubical Complexes

Discrete object −→ cubical complex (2n-connectivity)

13 / 38

Page 27: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Homology

Blue: 1-cubeRed: its boundary (faces)

14 / 38

Page 28: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Homology

Blue: 2-cubeRed: its boundary (faces)

14 / 38

Page 29: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Homology

Blue: 1-chainRed: its boundary

15 / 38

Page 30: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Homology

Blue: 1-chain (1-cycle)Red: its boundary (= ∅)

15 / 38

Page 31: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Homology

Blue: 2-chainRed: its boundary (1-cycle)

15 / 38

Page 32: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Homology

Blue: 1-chain (1-cycle, but not boundary)Red: its boundary (= ∅)

15 / 38

Page 33: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Homology

K cubical complex

Chain complex of K

· · ·C3d3−−−→ C2

d2−−−→ C1d1−−−→ C0

d0−−−→ 0

where dqdq+1 = 0 ⇒ im(dq+1) ⊂ ker(dq)

q-dimensional homology groupHq(K ) := ker(dq)/ im(dq+1)

2 = (F2)βq

q-dimensional Betti number: βq

2∀x , y ∈ ker(dq), x ∼ y ⇔ x + y ∈ im(dq+1)

16 / 38

Page 34: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Homology

β0 = # connected components (0-holes)

β1 = # tunnels or handles (1-holes)

β2 = # cavities (2-holes)

Betti numbers are

Topological invariants → classification

Shape descriptors → understanding

17 / 38

Page 35: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Homology

β0 = 2, β1 = 2, β2 = 1, β3 = 0, . . .

18 / 38

Page 36: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Persistent Homology

Filtration F : K1 ⊂ K2 ⊂ K3 ⊂ · · ·

K1ι−−−−→ K2

ι−−−−→ K3ι−−−−→ · · ·

↓ ↓ ↓H(K1)

ι∗−−−−−→ H(K2)ι∗−−−−−→ H(K3)

ι∗−−−−−→ · · ·

βi ,j = dim(ι : H(Ki ) → H(Kj))number of holes in Ki still in Kj

µi ,j = βi ,j − βi ,j+1 − βi−1,j + βi−1,j+1

number of holes born in Ki and dying in Kj

19 / 38

Page 37: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Persistent Homology

20 / 38

Page 38: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Persistent Homology

20 / 38

Page 39: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Persistent Homology

20 / 38

Page 40: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Persistent Homology

20 / 38

Page 41: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Persistent Homology

20 / 38

Page 42: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Background

Persistent Homology

Persistence pairs

PD(F ) = {(i , j) with multiplicity µi ,j}

We represent PD(F ) with a persistence diagram.

21 / 38

Page 43: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Outline

1 Introduction

2 Background

3 Measuring Holes

4 Representing Holes

5 Applications

6 Conclusion

22 / 38

Page 44: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

β2 = 10

“Full” of holes?

All holes have similar size?

23 / 38

Page 45: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

β2 = 10

“Full” of holes?

All holes have similar size?

Dilate... and erode

23 / 38

Page 46: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Persistent homology with signed distance transform

24 / 38

Page 47: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Persistent homology with signed distance transform

24 / 38

Page 48: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Persistent homology with signed distance transform

24 / 38

Page 49: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Persistent homology with signed distance transform

24 / 38

Page 50: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Persistent homology with signed distance transform

24 / 38

Page 51: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Persistent homology with signed distance transform

24 / 38

Page 52: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Persistent homology with signed distance transform

24 / 38

Page 53: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Thickness and breadth

Let O be a discrete object and F the filtration defined by thesublevel sets of its signed distance transform.Let TB(O) = {(−x , y) ∈ PD(F ) | x ≤ 0, y ≥ 0}.Its intervals are the thickness-breadth pairs of O.

One thickness-breadth pair (t, b) for each hole of O

t is the thickness of the hole and b, its breadth

25 / 38

Page 54: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Thickness-breadth diagram

Thickness-breadth pairs can be represented like persistencediagrams

26 / 38

Page 55: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Thickness-breadth diagram

Thickness-breadth pairs can be represented like persistencediagrams

26 / 38

Page 56: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Thickness-breadth diagram

Thickness-breadth pairs can be represented like persistencediagrams

26 / 38

Page 57: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Measuring Holes

Theorem

Let X and Y be two 3D discrete objects. Let us call

δ = dH(X ,Y ) + dH(Z3 \ X ,Z3 \ Y ) + 2

√3

Thus, for every thickness-breadth pair pX = (x , y) of X such thatx , y > δ, there exists another thickness-breadth pair pY = (x ′, y ′)of Y such that

||pX − pY ||∞ ≤ δ

27 / 38

Page 58: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Representing Holes

Outline

1 Introduction

2 Background

3 Measuring Holes

4 Representing Holes

5 Applications

6 Conclusion

28 / 38

Page 59: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Representing Holes

Sketch of persistent homology computation:

Sort cells according to the filtration

For each cell, associate it with one of the previous ones

Each of these pairs makes a persistence pair

Thickness and breadth ball

Let (t, b) be a TB-pair and (σ, τ) its pair of cells

The thickness ball of (t, b) is the ball of radius t centered at σ

The breadth ball of (t, b) is the ball of radius b centered at τ

29 / 38

Page 60: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Representing Holes

30 / 38

Page 61: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Representing Holes

30 / 38

Page 62: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Representing Holes

30 / 38

Page 63: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Representing Holes

We can identify each hole by

Its thickness-breadth pair (unique)

The center of its thickness ball (non unique)

The center of its breadth ball (non unique)

31 / 38

Page 64: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Applications

Outline

1 Introduction

2 Background

3 Measuring Holes

4 Representing Holes

5 Applications

6 Conclusion

32 / 38

Page 65: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Applications

Given a discrete object O and a TB pair (t, b)

Open the hole: remove voxels from O

Close the hole: add voxels to O to remove the hole

Compute a homology generator

Compute a cohomology generator

Why?

33 / 38

Page 66: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Applications

Topological correction

Example

1 Scan an object, segmentate it and computeits TB diagram.

2 Identify “wrong” holes using TB pairs andballs.

3 Open or close them.

34 / 38

Page 67: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Applications

Extract relation between holes (1/2)

Example

1 For each hole, close it and see which holes vanish.

2 Represent this with a graph.

3 Compare objects using these graphs.

35 / 38

Page 68: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Applications

Extract relation between holes (2/2)

Example

1 For each hole, compute its homology generator.

2 Transform these generators into discrete objects.

3 Extract the relation between these holes.

36 / 38

Page 69: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Conclusion

Outline

1 Introduction

2 Background

3 Measuring Holes

4 Representing Holes

5 Applications

6 Conclusion

37 / 38

Page 70: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Conclusion

Conclusion:

Topological-geometrical signature of objects.

Robust to noise → suitable for real applications.

Alternative visualization of holes.

Heuristics for minimal openings, closings and (co)homologygenerators.

38 / 38

Page 71: Measuring and Representing Holes in Discrete Objectsaldo.gonzalez-lorenzo.perso.luminy.univ-amu.fr/downloads/dtmm-gb-slides.pdf · sdt O(x)= (−d(x,Oc) if x∈ O d(x,O) if x∈

Measuring and Representing Holes in Discrete Objects

Conclusion

Conclusion:

Topological-geometrical signature of objects.

Robust to noise → suitable for real applications.

Alternative visualization of holes.

Heuristics for minimal openings, closings and (co)homologygenerators.

Thanks! Questions?

38 / 38