Coding cells of multidimensional digital spaces a framework to write - - PowerPoint PPT Presentation

coding cells of multidimensional digital spaces a
SMART_READER_LITE
LIVE PREVIEW

Coding cells of multidimensional digital spaces a framework to write - - PowerPoint PPT Presentation

Coding cells of multidimensional digital spaces a framework to write generic digital topology algorithms Jacques-Olivier Lachaud LaBRI - Laboratoire Bordelais de Recherche en Informatique Bordeaux, France Coding cells of multidimensional


slide-1
SLIDE 1

Coding cells of multidimensional digital spaces a framework to write generic digital topology algorithms

Jacques-Olivier Lachaud

LaBRI - Laboratoire Bordelais de Recherche en Informatique Bordeaux, France

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.1/22

slide-2
SLIDE 2

Outline

Motivation Digital space representation coding cells, adjacency, incidence

  • riented cells, boundary operators

Data structures for subsets of digital space Application to digital surface tracking adjacency between boundary elements tracking algorithms benchmarks Conclusion and perspectives

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.2/22

slide-3
SLIDE 3

Motivation

Analyzing digital images (2D, 3D, more). Writing digital topology and geometry algorithms with application to discrete deformable models. modelling sets of pixels and voxels and their boundaries. tracking digital surfaces; visualizing them. computing geometric characteristics.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.3/22

slide-4
SLIDE 4

Motivation

Analyzing digital images (2D, 3D, more). Writing digital topology and geometry algorithms with application to discrete deformable models. digital surface: set of surface elements with topology.

  • cells and sets of
  • cells in
  • dimensional space

How to represent them ? How to compute their topology: neighborhood, incidences, boundary operators ? How to get simple geometric characteristics: centroid, normals ?

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.3/22

slide-5
SLIDE 5

Motivation

Analyzing digital images (2D, 3D, more). Writing digital topology and geometry algorithms with application to discrete deformable models. digital surface: set of surface elements with topology.

  • cells and sets of
  • cells in
  • dimensional space

Objective: generic answer to digital cell representation. independent of space dimension and of cell topology and dimension. efficient in practice.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.3/22

slide-6
SLIDE 6

Digital space

Main objective: analyzing digital images (2D, 3D, more)

finite regular space of dimension

and coordinate upper bounds

. digital space

☎ ✆

: cellular decomposition of

✝ ✆

into a regular grid.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.4/22

slide-7
SLIDE 7

Digital space

Main objective: analyzing digital images (2D, 3D, more)

finite regular space of dimension

and coordinate upper bounds

. digital space

☎ ✆

: cellular decomposition of

✝ ✆

into a regular grid. good topological properties for surfaces [Kovalevsky89] geometric characteristics are always defined. many high-level image representation on top of

☎ ✆

:

discrete maps [Braquelaire, Brun, Desbarats, Domenger] and [Bertrand, Damiand, Fiorio], cell lists [Kovalevsky], combinatorial pyramids [Brun, Kropatsch].

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.4/22

slide-8
SLIDE 8

Usual representations of cells (1/2)

Cells: pixels, voxels, spels in

D: static arrays of integer surfels: pairs of adjacent spels [Herman92]

  • ther cells: implicitly represented in algorithms

Set of cells: characteristic function stored in an “image”; access through offset computation.

Very simple and easy to implement. But non generic approach dimension independence with dynamic allocation (

✞ ✟✠

times slower). inhomogeneity between representations of

  • cells,
✁☛✡ ✟
  • cells, etc.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.5/22

slide-9
SLIDE 9

Usual representations of cells (2/2)

Khalimsky space

☞ ✆

: product of

COTS

alternating open and closed points:

☞ ✆

and

☎ ✆

are isomorph [Kong,Khalimsky] any

  • cell:

integer coordinates. cell topology: parity of cell Khalismky coordinates Sets of cells: Characteristic function stored in a doubled “image”. Access through offset computation.

(4,2) (2,1) (3,3)

4 3 2 1 (y) 0 (x) 0 1 2 3 4 Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.6/22

slide-10
SLIDE 10

Usual representations of cells (2/2)

Khalimsky space

☞ ✆

: product of

COTS

Homogeneous representation of cells But same implementation problems with dynamic arrays memory cost of a set of

  • cells is
✍ ✆ ✎ ✄✑✏ ✟ ✒

bits. signed topology operators (upper and lower boundary) are cumbersome to write.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.6/22

slide-11
SLIDE 11

Proposed representation of cells

any

  • cell is coded as one integer number,

all the topology (adjacency, incidence) and the geometry (centroid, normal) can be derived from the cell code, unoriented and oriented cells can be coded.

very compact representation of cells and of sets of cells generic: homogeneous representation that is independent of space dimension. efficient (e.g. one cpu register stores any cell)

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.7/22

slide-12
SLIDE 12

Coding (unoriented) cells

Any

  • cell

is identified by its Khalimsky coordinates

✎✕✔ ✖ ✗✙✘✚ ✚ ✚ ✘ ✔ ✆✜✛ ✢ ✗ ✒ ✓

is coded as one integer

✣ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✚ ✚ ✚ ✔ ✩

digital coordinate

✔ ★ ✪ ✔ ★✬✫ ✭ ✮✰✯ ✍

each coordinate is binary coded on

✱ ★ ✪ ✲✴✳ ✵✷✶ ✎ ★ ✒ ✏ ✟

bits topology

✣ ✪ ★ ✎✕✔ ★ ✫ ✸ ✳ ✭ ✍ ✒ ✍ ★

topo y x 1 1 2 (4,2) 00 1 (3,3) 1 11 (2,1) 10 4 3 2 1 (y) 0 (x) 0 1 2 3 4

✹✜✺ ✻ ✼ ✽ ✻ ✾

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.8/22

slide-13
SLIDE 13

Coding (unoriented) cells

Any

  • cell

is identified by its Khalimsky coordinates

✎✕✔ ✖ ✗✙✘✚ ✚ ✚ ✘ ✔ ✆✜✛ ✢ ✗ ✒ ✓

is coded as one integer

✣ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✚ ✚ ✚ ✔ ✩

Elementary properties topology of usual cells: spels (

✟ ✚ ✚ ✚ ✟

), pointels (

✠ ✚ ✚ ✚ ✠

), surfels (

✟ ✚ ✚ ✚ ✟ ✠ ✟ ✚ ✚ ✚ ✟

). 32 bits code any cell of

✿ ✍ ❀ ❁❂ ❃ ✿ ✍ ❀ ❁❂

2D image,

✟ ✠ ✍ ❄ ❃ ✟ ✠ ✍ ❄ ❃ ❅ ✟ ✍

3D image,

✟ ✍ ❂ ❆

4D image.

enough for most biomedical applications all elementary operations are made with maskings and shiftings, e.g. getting the cell topology or its

  • th

coordinate.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.8/22

slide-14
SLIDE 14

Topology operations: adjacency

Two

  • cells with same topology are
  • adjacent iff their

coordinates differ of

❉ ✟
  • n

coordinates. Cell, 1-adjacent cells, 2-adjacent cells

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.9/22

slide-15
SLIDE 15

Topology operations: adjacency

Two

  • cells with same topology are
  • adjacent iff their

coordinates differ of

❉ ✟
  • n

coordinates. Computation of 1-adjacent cells:

✣ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✚ ✚ ✚ ✔ ✩

c // Cell 1-adjacent to // Space is K

✣ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✡ ✟ ✚ ✚ ✚ ✔ ✩

K.adjacent(c,i,NEG)

✣ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✏ ✟ ✚ ✚ ✚ ✔ ✩

K.adjacent(c,i,POS)

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.9/22

slide-16
SLIDE 16

Topology operations: low incidence

The low incidence is the face relation. The 1-low incidence defines the

  • cells that are faces of a
  • cell.

Cell, 1-low incident cells along x, 1-low incident cells along y

  • Prop. Any
  • cell has two 1-low incident
  • cells along

each coordinate where the cell is open.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.10/22

slide-17
SLIDE 17

Topology operations: low incidence

The low incidence is the face relation. The 1-low incidence defines the

  • cells that are faces of a
  • cell.

Computation of 1-low incident cells:

✚ ✚ ✚ ✟ ✚ ✚ ✚ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✚ ✚ ✚ ✔ ✩

c has two 1-low incident cells // Space is K

✚ ✚ ✚ ✠ ✚ ✚ ✚ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✚ ✚ ✚ ✔ ✩

K.lowIncident(c,i,NEG)

✚ ✚ ✚ ✠ ✚ ✚ ✚ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✏ ✟ ✚ ✚ ✚ ✔ ✩

K.lowIncident(c,i,POS)

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.10/22

slide-18
SLIDE 18

Topology operations: up incidence

The up incidence is the coface relation. The 1-up incidence defines the

  • cells that are cofaces of a
  • cell.

Cell, 1-up incident cells along x, 1-up incident cells along y

  • Prop. Any
  • cell has two 1-up incident
  • cells along

each coordinate where the cell is closed.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.11/22

slide-19
SLIDE 19

Topology operations: up incidence

The up incidence is the coface relation. The 1-up incidence defines the

  • cells that are cofaces of a
  • cell.

Computation of 1-up incident cells:

✚ ✚ ✚ ✠ ✚ ✚ ✚ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✚ ✚ ✚ ✔ ✩

c has two 1-up incident cells // Space is K

✚ ✚ ✚ ✟ ✚ ✚ ✚ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✡ ✟ ✚ ✚ ✚ ✔ ✩

K.upIncident(c,i,NEG)

✚ ✚ ✚ ✟ ✚ ✚ ✚ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✚ ✚ ✚ ✔ ✩

K.upIncident(c,i,POS)

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.11/22

slide-20
SLIDE 20

Cost of elementary cell operations

nb ops topo, set is is required code coord

==

coord adj.

  • adj.?

inc.

  • inc.?

bits ops 1 2

❊ ✍ ✁

1

❊ ✿

shifts

1 1

❊ ❁

integer ops

1 1

❊ ✍ ✁ ❊ ✟ ❊ ❈ ✏ ❄

lut access

1 2 1

❊ ✁ ❊ ✍ ❊ ❈ ✏ ✍
  • cond. tests

1

❊ ✍ ✁

1

❊ ✿ ❈ ✏ ✟

the dimension

is generally low, and

❈ ❊ ✁

. all these operations on cell codes compete with or are faster than the same operations on cells represented as integer arrays.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.12/22

slide-21
SLIDE 21

Coding oriented cells

motivation for orienting cells useful for defining digital surfaces, cubical cell complexes and boundary operators. first step to

  • dimensional chains

necessary for giving a local orientation to cells and for defining consistent adjacencies between surfel elements.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.13/22

slide-22
SLIDE 22

Coding oriented cells

motivation for orienting cells Code of an oriented cell:

✣ ❋ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✚ ✚ ✚ ✔ ✩

with orientation

(0 positive, 1 negative)

most elementary operations are similar.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.13/22

slide-23
SLIDE 23

Coding oriented cells

motivation for orienting cells Code of an oriented cell:

✣ ❋ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✚ ✚ ✚ ✔ ✩

Boundary operator

  • : signed 1-low incidence

if

✓ ✪ ❇■❍ ✚ ✚ ✚ ❇❑❏ ✚ ✚ ✚ ❇ ✩ ❋ ✔ ✤ ✥ ✧ ✚ ✚ ✚ ✔ ★▼▲ ✚ ✚ ✚ ✔ ✩
  • ★▼▲
✓ ✪ ◆ ❇■❍ ✚ ✚ ✚ ❇❑❏ ✚ ✚ ✚ ❇ ✩ ✎ ✡ ✟ ✒ ❍ ✥ ❏ ❋ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★▼▲ ✚ ✚ ✚ ✔ ✩ ✘ ❇■❍ ✚ ✚ ✚ ❇❑❏ ✚ ✚ ✚ ❇ ✩ ✎ ✡ ✟ ✒ ❍ ✥ ❏ ❖ ✧ ❋ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★▼▲ ✏ ✟ ✚ ✚ ✚ ✔ ✩ P

and

✪ ◗ ❍ ❏❙❘ ✩
  • ★❚▲

.

  • Prop. If

is a set of oriented

  • cells, then
✪ ✠ ✂

Any boundary has no boundary (ie. is closed).

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.13/22

slide-24
SLIDE 24

Coding oriented cells

motivation for orienting cells Code of an oriented cell:

✣ ❋ ✔ ✤✦✥ ✧ ✚ ✚ ✚ ✔ ★ ✚ ✚ ✚ ✔ ✩

Boundary operator

  • : signed 1-low incidence

Coboundary operator

: signed 1-up incidence

  • Prop. If

is a set of oriented

  • cells, then
❱ ❱ ❯ ✪ ✠ ✂

Any coboundary has no coboundary (ie. is open).

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.13/22

slide-25
SLIDE 25

Oriented cells and boundaries

  • Def. If a region

is viewed as a set of positively

  • riented spels, then the boundary of

is

. Any path from

to its complement crosses

.

a simple scanning extracts the boundary of a region.

  • Prop. For any surfel
❋ ❳

,

❱ ❋ ✪ ◆ ✏ ❨ ✘ ✡ ❩ P

with

❨ ❳ ❲

and

❩ ❬ ❳ ❲

.

gives locally the inside and outside of a surface. set of spels

, positive surfels in

, negative surfels in

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.14/22

slide-26
SLIDE 26

Data structures for sets in

classical data structures for small sets

set data struct. Is in set ? Set operations Memory cost (bytes) dynamic array

❪ ❫❵❴ ❛ ❪ ❫ ❴ ❛❝❜ ❞ ❡ ❴

linked list

❪ ❫❵❴ ❛ ❪ ❫❵❴ ❛ ❞ ❢ ❡ ❴

RB-tree

❪ ❫ ❣✐❤ ❥ ❴ ❛❝❜ ❪ ❫ ❣ ❤ ❥ ❴ ❛❝❜ ❞ ❦❢❧❴

hashtable

❪ ❫ ♠ ❛❝❜ ❪ ❫ ♠ ❛❝❜ ❞ ❡ ❴ ♥ ❜ ❢♦ ❴q♣ ❴ ♥sr ❴

rather costly for big sets: e.g. 1.000.000 surfels

t

requires 28Mb in a hashtable with

❴ ♥✈✉ ❢ ❴

.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.15/22

slide-27
SLIDE 27

Data structures for sets in

classical data structures for small sets characteristic function for big sets of

  • cells.

code of a cell

gives an offset in array of bits

✳ ✇❵①② ③ ✎ ✓ ✒ ✪ ④⑤ ⑥ ⑦ ③ ✳ ⑧ ✳ ✲ ✳ ✵ ⑨ ✎ ✓ ✒⑩ ✏ ❶ ✳ ✳ ❷ ✭ ① ✎ ✓ ✒

with LUT:

0 . . . 0011 . . . 1 0 . . . 0 1 . . . 0101 . . . 1 1 0 . . . 0 . . . . . . . . . 1 . . . 1100 . . . 0

❸ ✤ ❹ ❺ ✡ ✟

0 . . . 0

Offset = one LUT access + one masking + one addition

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.15/22

slide-28
SLIDE 28

Data structures for sets in

classical data structures for small sets characteristic function for big sets of

  • cells.

set of

  • cells:
❸ ✆ ❻ ❺ ✍ ❼ ❽❿❾

bits (e.g set of surfels in a

✍ ❅ ❁ ➀

image holds

✞ ❅ ✠

million surfels with

Mb). set of oriented

  • cells are twice bigger.

all set operations are in O(1). computation time of the difference of two sets of surfels in a

❅ ✟ ✍ ➀

image:

✍ ✚ ❅

s or

ns / surfel (Celeron 450Mhz).

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.15/22

slide-29
SLIDE 29

Data structures for sets in

classical data structures for small sets characteristic function for big sets of

  • cells.

memory comparison with other cell representations (with space sizes

✍ ❽ ❾

and

✱➁✪ ✱ ✄

).

cell rep.

  • cell

set of

  • cells

set of

  • cells

genericity (int. words) (bits) (bits) classical rep.

➂ ✁ ✍ ➃

no no Khalimsky rep.

✁ ✍ ✤ ✍ ➃ ✍ ✤ ✍ ➃
  • dyn. alloc.

proposed rep. 1

✍ ➃ ❸ ✤ ❹ ❺ ✍ ➃

yes

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.15/22

slide-30
SLIDE 30

Application: digital surface tracking in

Problem: Given an oriented surfel

and a set of spels

with

❋ ❳

, find the whole connected component

➄ ✎
✘ ❋ ✒
  • f

that contains

by tracking adjacent element of

. the algorithm should be linear with respect to the number of surfels of

➄ ✎
✘ ❋ ✒

. an adjacency relation must be defined between surfels

  • f

(or bels).

✍ ➅ ➆ ➅ ➇ ➈ ➉ ➊

different bel adjacencies. two of them corresponds to the classical

✎ ✍ ✁ ✘ ✍ ✁ ➋ ✒

and

✎ ✍ ✁ ➋ ✘ ✍ ✁ ✒

bel adjacencies [Udupa94].

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.16/22

slide-31
SLIDE 31

Bel adjacency in (1/2)

  • 1. Def. A direct follower of an oriented
  • cell
➌ ❻

is any

  • cell
✓ ❻ ❬ ✪ ➌ ❻

such that

  • cell
➎ ❻ ✛ ✢

with

✏ ➎ ❻ ✛ ✢ ❳

and

✡ ➎ ❻ ✛ ✢ ❳

. The cell

➌ ❻

is an indirect follower of

✓ ❻

.

  • 2. Prop. Any surfel (or
✁ ✡ ✟
  • cell)

has 3 direct and 3 indirect followers along each coordinate where it is

  • pen.
➏ ➐ ➑ ➒ ➓ ✹ ➔ ✾ → ➣ ➏ ➒ ➓ ✹ ↔ ✾ → ➣ ➏ ➐ ➑ ↕ ➒➛➙ → ➣ ➏ ↕ ✹ ➜ ✾➞➝ ➟ ➠ ➝➡➢ ➤ ➥ ✹ ↕ ✼ ➏ ✾ ❱ ➌ ✪ ◆ ✏ ❨ ✘ ✡ ❩ P

followers are ordered

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.17/22

slide-32
SLIDE 32

Bel adjacency in (1/2)

  • 1. Def. A direct follower of an oriented
  • cell
➌ ❻

is any

  • cell
✓ ❻ ❬ ✪ ➌ ❻

such that

  • cell
➎ ❻ ✛ ✢

with

✏ ➎ ❻ ✛ ✢ ❳

and

✡ ➎ ❻ ✛ ✢ ❳

. The cell

➌ ❻

is an indirect follower of

✓ ❻

.

  • 2. Prop. Any surfel (or
✁ ✡ ✟
  • cell)

has 3 direct and 3 indirect followers along each coordinate where it is

  • pen.
  • 3. Def. The direct interior (resp. exterior) adjacent bel to
➌ ❳

along coordinate

is the first (resp. last) of the direct followers of

that is

.

➐ ➑ ➒ ➓ ➐ ➑ ➒ ➓ ➐ ➑ ➒ ➓ ↕

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.17/22

slide-33
SLIDE 33

Bel adjacency in (2/2)

Example of direct interior adjacent bel computation.

▲ ❾ ➐ ➑ ➒ ➓ ➐ ➑ ➒ ➓ ➐ ➑ ➒ ➓ ↕ ➓ ➓ ➑ ➑ ➓ ➓ ➑ ➑ ➓ ➓

Cell Space::DIAdjBel( Set O, Cell b, int i )

// Extract p and q int j = orthDir( b ); bool orth = direct( b, j ); Cell p = unsign( incident( b, j, orth ) ); Cell q = adjacent( p, j, !orth ); // Extract pp bool track = direct( b, i ); Cell pp = adjacent( p, i, track ); // Check if first follower

➧ ➨ ❪

if ( O.isInSet( pp ) ) return incident( pos( pp ), i, track ); // Extract qq Cell qq = adjacent( q, i, track ); // Check if second follower

➧ ➨ ❪

if ( ! O.isInSet( qq ) ) return adjacent( b, i, track ); // if not, last follower

➧ ➨ ❪

return incident( neg( qq ), i, track );

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.18/22

slide-34
SLIDE 34

Bel adjacency in (2/2)

Example of direct interior adjacent bel computation.

  • Prop. Any bel of

has

✁☛✡ ✟

direct interior (resp. exterior) adjacent bels in

and

✁☛✡ ✟

indirect interior (res.p exterior) adjacent bels. A bel adjacency relation in

is given by fixing for each coordinate couple

✎ ❇ ✘ ➫ ✒

,

✠ ❊ ❇✜➭ ➫ ➭ ✁

, whether the bel adjacency is interior or exterior.

they are

✆ ➯ ✆✜✛ ✢ ➲ ➋

different bel adjacencies.

connectedness relations on

. From

✪ ✠

and definition of followers, it is easy to find that tracking along only direct adjacent bels is sufficient to get the whole connected component of

containing the starting bel.

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.18/22

slide-35
SLIDE 35

Digital (hyper)surface tracking

Tracking algorithms

(A) (B) (C) direct and indirect

  • nly direct

[Herman,Webster83] bel adj. tracking bel adj. tracking tracking (3D)

easily implemented with the proposed framework (both

D and 3D algorithms).

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.19/22

slide-36
SLIDE 36

Digital (hyper)surface tracking

(B)

  • nly direct

bel adj. tracking

Set Space::directTracking( Set O, Cell b, BelAdj A )

Set S = emptySurfelSet(); // Ouput Queue Q; // Cells to process Q.push( b ); // init tracking S.add( b ); while ( ! Q.empty() )

Cell s = Q.pop(); // current Cell for ( i = 0; i

dim(); i++ ) if ( i != orthDir( s ) )

// Get direct adjacent bel along i Cell n = A.directAdj( O, s, i ); if ( ! S.isInSet( n ) )

S.add( n ); Q.push( n );

➩ ➩ ➩

return S;

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.19/22

slide-37
SLIDE 37

Benchmarks of boundary extraction algos

Experimental results: balls of increasing radius (Celeron 450 Mhz)

Space Rad. Nb spels Nb surf. Scan (A) Track (A) Track (B)

❡ ♦➵ ➸ ➺

2000 12566345 16004 2.07s

0.01s

0.01s

❢➻ ➸ ➼

30 113081 16926 3.12s 0.02s 0.01s

❢➻ ➸ ➼

60 904089 67734 3.12s 0.09s 0.08s

❢➻ ➸ ➼

120 7236577 271350 3.15s 0.36s 0.32s

➻ ♠ ❢ ➼

240 57902533 1085502 25.15s 1.88s 1.85s

❦ ❢ ➽

14 190121 92104 0.26s 0.14s 0.11s

➸ ❡ ➽

14 190121 92104 4.17s 0.20s 0.14s

➸ ❡ ➽

30 4000425 904648 4.26s 1.91s 1.37s

scanning linear with number of surfels of space (in

D, 62ns/spel) tracking linear with number of bels of boundary (in

D, 1.5

s/bel)

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.20/22

slide-38
SLIDE 38

Conclusion

generic framework to represent cells and subsets of digital spaces and to write digital topology algorithms unoriented and oriented

  • cells

compact sets of

  • cells

boundary operators (topology invariants) bel adjacency on boundaries proposed framework fully implemented in an object

  • riented language

formal algorithms close to implementation tests have shown its efficiency and scalability

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.21/22

slide-39
SLIDE 39

Perspectives

check extension of Herman and Webster 3D digital surface algorithm to

D spaces computing

  • dimensional geometric characteristics

coding cells of hierarchical digital spaces

Coding cells of multidimensional digital spacesa framework to write generic digital topology algorithms – p.22/22