A New Algorithm for Generating Quadrilateral Meshes and Its - - PowerPoint PPT Presentation

a new algorithm for generating quadrilateral meshes and
SMART_READER_LITE
LIVE PREVIEW

A New Algorithm for Generating Quadrilateral Meshes and Its - - PowerPoint PPT Presentation

A New Algorithm for Generating Quadrilateral Meshes and Its Application to FE-Based Image Registration Suneeta Ramaswami Marcelo Siqueira Rutgers University, USA University of Pennsylvania, USA rsuneeta@camden.rutgers.edu


slide-1
SLIDE 1

A New Algorithm for Generating Quadrilateral Meshes and Its Application to FE-Based Image Registration

Suneeta Ramaswami Marcelo Siqueira

Rutgers University, USA University of Pennsylvania, USA rsuneeta@camden.rutgers.edu marcelos@seas.upenn.edu

Tessa Sundaram Jean Gallier

University of Pennsylvania, USA University of Pennsylvania, USA tessa@mail.med.upenn.edu jean@cis.upenn.edu

James Gee

University of Pennsylvania, USA gee@rad.upenn.edu

1

slide-2
SLIDE 2

Introduction

In this talk we present

slide-3
SLIDE 3

Introduction

In this talk we present

  • a new algorithm to generate strictly convex quadrangulations of provably small

size of polygonal regions with or without polygonal holes,

slide-4
SLIDE 4

Introduction

In this talk we present

  • a new algorithm to generate strictly convex quadrangulations of provably small

size of polygonal regions with or without polygonal holes,

  • an approach to create quadrilateral meshes from 2D images of the human brain

using our algorithm,

slide-5
SLIDE 5

Introduction

In this talk we present

  • a new algorithm to generate strictly convex quadrangulations of provably small

size of polygonal regions with or without polygonal holes,

  • an approach to create quadrilateral meshes from 2D images of the human brain

using our algorithm,

  • and a comparison of the performance of a FE-based image registration method

with respect to distinct input image meshes, including the ones generated by our algorithm.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 2

slide-6
SLIDE 6

The Algorithm

Problem

  • Given a bounded polygonal region P with n vertices and h ≥ 0 polygonal holes,
  • btain a strictly convex quadrangulation of P.
slide-7
SLIDE 7

The Algorithm

Problem

  • Given a bounded polygonal region P with n vertices and h ≥ 0 polygonal holes,
  • btain a strictly convex quadrangulation of P.

Conversion from a Triangulation

  • Obtain a triangulation T of P such that VP ⊆ VT and |T | = P.
  • Convert T into a quadrangulation Q of P.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 3

slide-8
SLIDE 8

The Algorithm

Our Solution

  • We propose an algorithm for the conversion step: Given a triangulation T of P,
  • btain a quadrangulation Q of P.
slide-9
SLIDE 9

The Algorithm

Our Solution

  • We propose an algorithm for the conversion step: Given a triangulation T of P,
  • btain a quadrangulation Q of P.
  • Recall that if VT

has m vertices then the number t of triangles of T is t = 2m + 2h − 2 − mb, where mb ≥ n is the number of vertices on the boundary

  • f T .
slide-10
SLIDE 10

The Algorithm

Our Solution

  • We propose an algorithm for the conversion step: Given a triangulation T of P,
  • btain a quadrangulation Q of P.
  • Recall that if VT

has m vertices then the number t of triangles of T is t = 2m + 2h − 2 − mb, where mb ≥ n is the number of vertices on the boundary

  • f T .
  • The quadrangulation Q generated by our algorithm contains VT and at most t+2

more vertices (Steiner points).

slide-11
SLIDE 11

The Algorithm

Our Solution

  • We propose an algorithm for the conversion step: Given a triangulation T of P,
  • btain a quadrangulation Q of P.
  • Recall that if VT

has m vertices then the number t of triangles of T is t = 2m + 2h − 2 − mb, where mb ≥ n is the number of vertices on the boundary

  • f T .
  • The quadrangulation Q generated by our algorithm contains VT and at most t+2

more vertices (Steiner points).

  • The quadrangulation Q generated by our algorithm contains at most 3

2t quadrilat-

erals.

slide-12
SLIDE 12

The Algorithm

Our Solution

  • We propose an algorithm for the conversion step: Given a triangulation T of P,
  • btain a quadrangulation Q of P.
  • Recall that if VT

has m vertices then the number t of triangles of T is t = 2m + 2h − 2 − mb, where mb ≥ n is the number of vertices on the boundary

  • f T .
  • The quadrangulation Q generated by our algorithm contains VT and at most t+2

more vertices (Steiner points).

  • The quadrangulation Q generated by our algorithm contains at most 3

2t quadrilat-

erals.

  • The size and time complexity of our algorithm are O(t).
slide-13
SLIDE 13

The Algorithm

Our Solution

  • We propose an algorithm for the conversion step: Given a triangulation T of P,
  • btain a quadrangulation Q of P.
  • Recall that if VT

has m vertices then the number t of triangles of T is t = 2m + 2h − 2 − mb, where mb ≥ n is the number of vertices on the boundary

  • f T .
  • The quadrangulation Q generated by our algorithm contains VT and at most t+2

more vertices (Steiner points).

  • The quadrangulation Q generated by our algorithm contains at most 3

2t quadrilat-

erals.

  • The size and time complexity of our algorithm are O(t).
  • The above bounds are better than the ones provided by previous indirect algo-

rithms that also provide theoretical bounds on the size of the output quadrangu- lation.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 4

slide-14
SLIDE 14

The Algorithm

  • Build the dual graph G of T .

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 5

slide-15
SLIDE 15

The Algorithm

  • Build a rooted spanning tree TG of G such that the root of TG is a vertex

corresponding to a triangle of T incident to an edge of the boundary of T .

  • We carry out a Breadth-First Search (BFS) on G to obtain TG.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 6

slide-16
SLIDE 16

The Algorithm

  • Let k be the deepest level of TG, and let Vi (0 ≤ i ≤ k) be the set of vertices
  • f TG at level i.

1 1 2 2 3 3 3 4 4 5 5 5 6 6 7 7 7 8 8 8 9 10 1 1 2 2 3 3 3 4 4 5 5 5 6 7 8 8 8 9 6 7 7 10

TG

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 7

slide-17
SLIDE 17

The Algorithm

  • Our algorithm converts T

into a quadrangulation Q of |T | by processing the sets Vk, Vk−1, . . . , V1, V0 one at a time and in this order. That is, the algorithm traverses TG per level in a bottom-up fashion.

slide-18
SLIDE 18

The Algorithm

  • Our algorithm converts T

into a quadrangulation Q of |T | by processing the sets Vk, Vk−1, . . . , V1, V0 one at a time and in this order. That is, the algorithm traverses TG per level in a bottom-up fashion.

  • After processing a vertex v in Vi (0 ≤ i ≤ k), the algorithm removes v from

both TG and Vi.

slide-19
SLIDE 19

The Algorithm

  • Our algorithm converts T

into a quadrangulation Q of |T | by processing the sets Vk, Vk−1, . . . , V1, V0 one at a time and in this order. That is, the algorithm traverses TG per level in a bottom-up fashion.

  • After processing a vertex v in Vi (0 ≤ i ≤ k), the algorithm removes v from

both TG and Vi.

  • From the two statements above, a vertex v in Vi (0 ≤ i ≤ k) must be a leaf by

the time it is processed by the algorithm.

slide-20
SLIDE 20

The Algorithm

  • Our algorithm converts T

into a quadrangulation Q of |T | by processing the sets Vk, Vk−1, . . . , V1, V0 one at a time and in this order. That is, the algorithm traverses TG per level in a bottom-up fashion.

  • After processing a vertex v in Vi (0 ≤ i ≤ k), the algorithm removes v from

both TG and Vi.

  • From the two statements above, a vertex v in Vi (0 ≤ i ≤ k) must be a leaf by

the time it is processed by the algorithm.

  • For any vertex v ∈ TG, let par(v) denote the parent of v in TG.

When processing a vertex v in Vi (0 ≤ i ≤ k), the algorithm considers either the vertex v itself, or the vertices in the subtree of TG rooted at par(v), or the vertices in the subtree of TG rooted at par(par(v)).

slide-21
SLIDE 21

The Algorithm

  • Our algorithm converts T

into a quadrangulation Q of |T | by processing the sets Vk, Vk−1, . . . , V1, V0 one at a time and in this order. That is, the algorithm traverses TG per level in a bottom-up fashion.

  • After processing a vertex v in Vi (0 ≤ i ≤ k), the algorithm removes v from

both TG and Vi.

  • From the two statements above, a vertex v in Vi (0 ≤ i ≤ k) must be a leaf by

the time it is processed by the algorithm.

  • For any vertex v ∈ TG, let par(v) denote the parent of v in TG.

When processing a vertex v in Vi (0 ≤ i ≤ k), the algorithm considers either the vertex v itself, or the vertices in the subtree of TG rooted at par(v), or the vertices in the subtree of TG rooted at par(par(v)).

  • Initially, every vertex v in TG corresponds to one triangle in T , but as the

algorithm starts traversing and pruning TG, a vertex v in TG can correspond to either a triangle in T , a non-empty triangle, a degenerate quadrilateral, or a degenerate pentagon.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 8

slide-22
SLIDE 22

The Algorithm

  • What is a non-empty triangle? How does it show up?

par(v) v v par(v) sib(v) sib(v)

  • Note that if v ∈ TG corresponds to a non-empty triangle, then v is a leaf of TG.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 9

slide-23
SLIDE 23

The Algorithm

  • What is a degenerate quadrilateral? How does it show up?

v v par(v) v par(v)

s s

  • Note that if v ∈ TG corresponds to a degenerate quadrilateral, then v is either

a leaf or a vertex of degree 2 of TG.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 10

slide-24
SLIDE 24

The Algorithm

  • What is a degenerate pentagon? How does it show up?

v v par(v) v par(v)

p p s s

  • Note that if v ∈ TG corresponds to a degenerate pentagon, then v is a leaf of

TG.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 11

slide-25
SLIDE 25

The Algorithm

  • How does the algorithm process the sets Vk, Vk−1, . . . , V1, V0?
slide-26
SLIDE 26

The Algorithm

  • How does the algorithm process the sets Vk, Vk−1, . . . , V1, V0?
  • Suppose the algorithm is about to process vertex set Vi with 2 ≤ i ≤ k. The

first step is to eliminate ALL LEAVES of TG in Vi ∪ Vi−1 ∪ Vi−2 that correspond to degenerate quadrilaterals and degenerate pentagons.

slide-27
SLIDE 27

The Algorithm

  • How does the algorithm process the sets Vk, Vk−1, . . . , V1, V0?
  • Suppose the algorithm is about to process vertex set Vi with 2 ≤ i ≤ k. The

first step is to eliminate ALL LEAVES of TG in Vi ∪ Vi−1 ∪ Vi−2 that correspond to degenerate quadrilaterals and degenerate pentagons.

  • If v ∈ (Vi ∪ Vi−1 ∪ Vi−2) is a leaf of TG and it corresponds to a degenerate

quadrilateral, then remove it from both TG and Vi ∪ Vi−1 ∪ Vi−2, and output the quadrilateral corresponding to v.

slide-28
SLIDE 28

The Algorithm

  • How does the algorithm process the sets Vk, Vk−1, . . . , V1, V0?
  • Suppose the algorithm is about to process vertex set Vi with 2 ≤ i ≤ k. The

first step is to eliminate ALL LEAVES of TG in Vi ∪ Vi−1 ∪ Vi−2 that correspond to degenerate quadrilaterals and degenerate pentagons.

  • If v ∈ (Vi ∪ Vi−1 ∪ Vi−2) is a leaf of TG and it corresponds to a degenerate

quadrilateral, then remove it from both TG and Vi ∪ Vi−1 ∪ Vi−2, and output the quadrilateral corresponding to v.

  • If v ∈ (Vi ∪ Vi−1 ∪ Vi−2) corresponds to a degenerate pentagon (and therefore it

is a leaf of TG), then subdivide this pentagon into a quadrilateral and a leftover triangle, △, as shown below, output the quadrilateral, and let v correspond to △.

v par(v)

p s

v par(v)

p s

v

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 12

slide-29
SLIDE 29

The Algorithm

  • The second step is to eliminate ALL LEAVES of TG in Vi that correspond to

non-empty triangles.

slide-30
SLIDE 30

The Algorithm

  • The second step is to eliminate ALL LEAVES of TG in Vi that correspond to

non-empty triangles.

  • If v ∈ Vi corresponds to a non-empty triangle (and therefore it is a leaf of TG),

then we have four cases to deal with:

(2) v par(v) v v (3) (1) (4) v v v par(v) par(v) par(v) par(v) par(v) par(v) par(v) v v sib(v) sib(v) sib(v) sib(v)

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 13

slide-31
SLIDE 31

The Algorithm

  • In case (1), the algorithm combines the non-empty triangle and the triangle

corresponding to v and par(v), respectively, in order to form a quadrilateral with an interior vertex:

v par(v) v par(v) (1) par(v) par(v) v v

slide-32
SLIDE 32

The Algorithm

  • In case (1), the algorithm combines the non-empty triangle and the triangle

corresponding to v and par(v), respectively, in order to form a quadrilateral with an interior vertex:

v par(v) v par(v) (1) par(v) par(v) v v

  • It can be shown that a quadrilateral with a vertex inside it can be decomposed

into five strictly convex quadrilaterals by using three Steiner points.

slide-33
SLIDE 33

The Algorithm

  • In case (1), the algorithm combines the non-empty triangle and the triangle

corresponding to v and par(v), respectively, in order to form a quadrilateral with an interior vertex:

v par(v) v par(v) (1) par(v) par(v) v v

  • It can be shown that a quadrilateral with a vertex inside it can be decomposed

into five strictly convex quadrilaterals by using three Steiner points.

  • After performing the above decomposition and outputting the resulting quadri-

laterals, the algorithm removes v and par(v) from TG and their corresponding vertex sets.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 14

slide-34
SLIDE 34

The Algorithm

  • Cases (2), (3) and (4) can be reduced to one or two instances of case (1):

(2) par(v) v par(v) v (3) par(v) par(v) (4) v par(v) (4) v v par(v) par(v) (2) v par(v) par(v) v v (3) v par(v) par(v) sib(v) sib(v) sib(v) sib(v) sib(v) sib(v)

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 15

slide-35
SLIDE 35

The Algorithm

  • After steps 1 and 2, all vertices in Vi correspond to triangles of T , and all

leaves of TG in Vi−1 and Vi−2 correspond to either triangles of T or non-empty triangles.

slide-36
SLIDE 36

The Algorithm

  • After steps 1 and 2, all vertices in Vi correspond to triangles of T , and all

leaves of TG in Vi−1 and Vi−2 correspond to either triangles of T or non-empty triangles.

  • The third step processes all vertices v ∈ Vi such that par(v) has two children,

v and its sibling, sib(v).

slide-37
SLIDE 37

The Algorithm

  • After steps 1 and 2, all vertices in Vi correspond to triangles of T , and all

leaves of TG in Vi−1 and Vi−2 correspond to either triangles of T or non-empty triangles.

  • The third step processes all vertices v ∈ Vi such that par(v) has two children,

v and its sibling, sib(v).

  • Since both v and sib(v) correspond to triangles of T , the subtree rooted at

par(v) corresponds to either a triangle with a vertex inside it or a pentagon.

par(v) v sib(v)

v sib(v) v sib(v) par(v)

Pentagon Non−empty triangle

par(v)

  • We already know what to do when the subtree rooted at par(v) corresponds to

a triangle with a vertex inside it.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 16

slide-38
SLIDE 38

The Algorithm

  • If the triangles in T

corresponding to v, par(v) and sib(v) form a pentagon P , then it can be shown that P can be subdivided into two strictly convex quadrilaterals and one triangle, △, such that △ contains the common edge of par(v) and par(par(v)).

par(v) v sib(v)

par(v)

  • Eliminate vertices v and sib(v) from both TG and Vi, and let par(v) correspond

to the leftover triangle △.

  • When the vertex set Vi−1 is considered, vertex par(v) is processed and the

leftover triangle △ will be combined with some other triangle(s) to form another small polygon.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 17

slide-39
SLIDE 39

The Algorithm

  • After processing all vertices v ∈ Vi such that par(v) has two children, the

algorithm starts the fourth step in which it processes the vertices v ∈ Vi such that v is the only child of par(v) with 2 ≤ i ≤ k.

slide-40
SLIDE 40

The Algorithm

  • After processing all vertices v ∈ Vi such that par(v) has two children, the

algorithm starts the fourth step in which it processes the vertices v ∈ Vi such that v is the only child of par(v) with 2 ≤ i ≤ k.

  • If par(v) corresponds to a triangle and this triangle forms a strictly convex

quadrilateral with the triangle corresponding to v, then the algorithm outputs the quadrilateral and removes both v and par(v) from TG and from their corresponding vertex sets.

9 10

1 1 2 2 3 3 3 4 4 5 5 5 6 6 7 7 7 8 8 8 9 10

10 9

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 18

slide-41
SLIDE 41

The Algorithm

  • If par(v) corresponds to a degenerate quadrilateral, then this quadrilateral can

be combined with the triangle corresponding to v to form a pentagon P .

slide-42
SLIDE 42

The Algorithm

  • If par(v) corresponds to a degenerate quadrilateral, then this quadrilateral can

be combined with the triangle corresponding to v to form a pentagon P .

  • It can be shown that the pentagon P can be decomposed into two strictly convex

quadrilaterals and one leftover triangle, △, by adding one Steiner point inside the degenerate quadrilateral. Furthermore, the triangle △ contains the common edge of par(v) and par(par(v)).

par(v) v

v par(v) par(v)

slide-43
SLIDE 43

The Algorithm

  • If par(v) corresponds to a degenerate quadrilateral, then this quadrilateral can

be combined with the triangle corresponding to v to form a pentagon P .

  • It can be shown that the pentagon P can be decomposed into two strictly convex

quadrilaterals and one leftover triangle, △, by adding one Steiner point inside the degenerate quadrilateral. Furthermore, the triangle △ contains the common edge of par(v) and par(par(v)).

par(v) v

v par(v) par(v)

  • After performing the above decomposition, the algorithm makes par(v) corre-

spond to the leftover triangle △, removes v from both TG and Vi, and outputs the resulting quadrilaterals.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 19

slide-44
SLIDE 44

The Algorithm

  • If both v and par(v) correspond to triangles of T , but these triangles DO NOT

form a strictly convex quadrilateral, we consider the subtree of TG rooted at par(par(v)).

slide-45
SLIDE 45

The Algorithm

  • If both v and par(v) correspond to triangles of T , but these triangles DO NOT

form a strictly convex quadrilateral, we consider the subtree of TG rooted at par(par(v)).

  • Up to isomorphism, we only have the following three possible subtrees rooted at

par(par(v)):

par(par(v)) par(v) v v par(v) par(par(v)) par(par(v)) v par(v)

(1) (2) (3)

slide-46
SLIDE 46

The Algorithm

  • If both v and par(v) correspond to triangles of T , but these triangles DO NOT

form a strictly convex quadrilateral, we consider the subtree of TG rooted at par(par(v)).

  • Up to isomorphism, we only have the following three possible subtrees rooted at

par(par(v)):

par(par(v)) par(v) v v par(v) par(par(v)) par(par(v)) v par(v)

(1) (2) (3)

  • The trees above correspond to (1) a pentagon or hexagon, (2) a quadrilateral

with one or two vertices inside it, a hexagon, or a hexagon with a vertex inside it, and (3) a triangle with two vertices inside it, a pentagon with a vertex inside it, or a septagon.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 20

slide-47
SLIDE 47

The Algorithm

  • In case (1), if par(par(v)) corresponds to a triangle, then the union of the

triangles corresponding to v, par(v) and par(par(v)) forms a pentagon P .

slide-48
SLIDE 48

The Algorithm

  • In case (1), if par(par(v)) corresponds to a triangle, then the union of the

triangles corresponding to v, par(v) and par(par(v)) forms a pentagon P .

  • It can be shown that the pentagon P can be decomposed into either two strictly

convex quadrilaterals and a leftover triangle or three quadrilaterals.

(1)

par(v) par(par(v)) v par(par(v)) par(par(v)) v par(v) par(par(v))

slide-49
SLIDE 49

The Algorithm

  • In case (1), if par(par(v)) corresponds to a triangle, then the union of the

triangles corresponding to v, par(v) and par(par(v)) forms a pentagon P .

  • It can be shown that the pentagon P can be decomposed into either two strictly

convex quadrilaterals and a leftover triangle or three quadrilaterals.

(1)

par(v) par(par(v)) v par(par(v)) par(par(v)) v par(v) par(par(v))

  • In the former case, two Steiner points are added, and v and par(v) get removed

from TG and their corresponding vertex sets. In the latter case, three Steiner points are added and v, par(v) and par(par(v)) get removed from TG and their corresponding vertex sets.

slide-50
SLIDE 50

The Algorithm

  • In case (1), if par(par(v)) corresponds to a triangle, then the union of the

triangles corresponding to v, par(v) and par(par(v)) forms a pentagon P .

  • It can be shown that the pentagon P can be decomposed into either two strictly

convex quadrilaterals and a leftover triangle or three quadrilaterals.

(1)

par(v) par(par(v)) v par(par(v)) par(par(v)) v par(v) par(par(v))

  • In the former case, two Steiner points are added, and v and par(v) get removed

from TG and their corresponding vertex sets. In the latter case, three Steiner points are added and v, par(v) and par(par(v)) get removed from TG and their corresponding vertex sets.

  • The algorithm chooses either decomposition based on the position of the edge

shared by the triangles corresponding to par(par(v)) and its parent, if any. If there is no par(par(par(v))) the latter decomposition is chosen.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 21

slide-51
SLIDE 51

The Algorithm

  • In case (1), if par(par(v)) corresponds to a degenerate quadrilateral, then the

union of the triangles corresponding to v, par(v) and par(par(v)) forms a hexagon H.

(1)

v par(par(v)) par(v) v par(v) par(par(v))

slide-52
SLIDE 52

The Algorithm

  • In case (1), if par(par(v)) corresponds to a degenerate quadrilateral, then the

union of the triangles corresponding to v, par(v) and par(par(v)) forms a hexagon H.

(1)

v par(par(v)) par(v) v par(v) par(par(v))

  • It can be shown that the hexagon H can be decomposed into at most four

strictly convex quadrilaterals by adding at most three Steiner points.

slide-53
SLIDE 53

The Algorithm

  • In case (1), if par(par(v)) corresponds to a degenerate quadrilateral, then the

union of the triangles corresponding to v, par(v) and par(par(v)) forms a hexagon H.

(1)

v par(par(v)) par(v) v par(v) par(par(v))

  • It can be shown that the hexagon H can be decomposed into at most four

strictly convex quadrilaterals by adding at most three Steiner points.

  • After performing the above decomposition, the algorithm removes v, par(v), and

par(par(v)) from TG and from their corresponding vertex sets.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 22

slide-54
SLIDE 54

The Algorithm

  • In case (2), if either the triangle corresponding to v or the triangle corresponding

to par(v) shares an edge with the triangle corresponding to sib(par(v)), the subtree rooted at par(par(v)) corresponds to a quadrilateral Q with one or two vertices inside it.

(2)

v par(v) sib(par(v)) v par(par(v)) v par(par(v)) sib(par(v)) par(v) par(v) par(par(v))

slide-55
SLIDE 55

The Algorithm

  • In case (2), if either the triangle corresponding to v or the triangle corresponding

to par(v) shares an edge with the triangle corresponding to sib(par(v)), the subtree rooted at par(par(v)) corresponds to a quadrilateral Q with one or two vertices inside it.

(2)

v par(v) sib(par(v)) v par(par(v)) v par(par(v)) sib(par(v)) par(v) par(v) par(par(v))

  • The number of vertices inside Q is determined by the entity corresponding to

sib(par(v)): it is one vertex if sib(par(v)) corresponds to a triangle and two vertices if it corresponds to a non-empty triangle.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 23

slide-56
SLIDE 56

The Algorithm

  • If there is only one vertex inside Q, it can be shown that Q can be decomposed

into at most five strictly convex quadrilaterals by adding at most three Steiner points. Otherwise, Q can be decomposed into at most nine strictly convex quadrilaterals by adding at most six Steiner points.

slide-57
SLIDE 57

The Algorithm

  • If there is only one vertex inside Q, it can be shown that Q can be decomposed

into at most five strictly convex quadrilaterals by adding at most three Steiner points. Otherwise, Q can be decomposed into at most nine strictly convex quadrilaterals by adding at most six Steiner points.

  • In either case,

the vertices v, par(v), sib(par(v)), and par(par(v)) get removed from TG and their corresponding vertex sets.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 24

slide-58
SLIDE 58

The Algorithm

  • In case (2), if neither the triangle corresponding to v nor the triangle correspond-

ing to par(v) shares an edge with the triangle corresponding to sib(par(v)), the subtree rooted at par(par(v)) corresponds to either a hexagon or a hexagon with a vertex inside it.

(2)

v par(v) v par(v) sib(par(v)) par(par(v)) sib(par(v)) par(par(v))

slide-59
SLIDE 59

The Algorithm

  • In case (2), if neither the triangle corresponding to v nor the triangle correspond-

ing to par(v) shares an edge with the triangle corresponding to sib(par(v)), the subtree rooted at par(par(v)) corresponds to either a hexagon or a hexagon with a vertex inside it.

(2)

v par(v) v par(v) sib(par(v)) par(par(v)) sib(par(v)) par(par(v))

  • The former case can be reduced to case (1) (with par(par(v)) being a degen-

erate quadrilateral), and the latter case is analogous to the case in which the subtree rooted at par(par(v)) corresponds to a quadrilateral with two vertices inside it.

slide-60
SLIDE 60

The Algorithm

  • In case (2), if neither the triangle corresponding to v nor the triangle correspond-

ing to par(v) shares an edge with the triangle corresponding to sib(par(v)), the subtree rooted at par(par(v)) corresponds to either a hexagon or a hexagon with a vertex inside it.

(2)

v par(v) v par(v) sib(par(v)) par(par(v)) sib(par(v)) par(par(v))

  • The former case can be reduced to case (1) (with par(par(v)) being a degen-

erate quadrilateral), and the latter case is analogous to the case in which the subtree rooted at par(par(v)) corresponds to a quadrilateral with two vertices inside it.

  • In either case, the v, par(v), sib(par(v)), and par(par(v)) get removed from

TG and their corresponding vertex sets.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 25

slide-61
SLIDE 61

The Algorithm

  • In case (3), if the triangles corresponding to v and par(v), or only one of

them, are adjacent to both the triangles corresponding to sib(par(v)) and its child, then the subtree rooted at par(par(v)) corresponds to a triangle with two vertices inside it.

par(v) par(par(v)) sib(par(v)) v w par(par(v)) par(v) v w sib(par(v)) sib(par(v)) par(v) v w par(v) sib(par(v)) v w

slide-62
SLIDE 62

The Algorithm

  • In case (3), if the triangles corresponding to v and par(v), or only one of

them, are adjacent to both the triangles corresponding to sib(par(v)) and its child, then the subtree rooted at par(par(v)) corresponds to a triangle with two vertices inside it.

par(v) par(par(v)) sib(par(v)) v w par(par(v)) par(v) v w sib(par(v)) sib(par(v)) par(v) v w par(v) sib(par(v)) v w

  • As shown in the above figure, we can deal with this case by considering the

quadrilateral with one vertex inside it, which corresponds to the vertices v, par(v), sib(par(v)) and the child of sib(par(v)).

slide-63
SLIDE 63

The Algorithm

  • In case (3), if the triangles corresponding to v and par(v), or only one of

them, are adjacent to both the triangles corresponding to sib(par(v)) and its child, then the subtree rooted at par(par(v)) corresponds to a triangle with two vertices inside it.

par(v) par(par(v)) sib(par(v)) v w par(par(v)) par(v) v w sib(par(v)) sib(par(v)) par(v) v w par(v) sib(par(v)) v w

  • As shown in the above figure, we can deal with this case by considering the

quadrilateral with one vertex inside it, which corresponds to the vertices v, par(v), sib(par(v)) and the child of sib(par(v)).

  • We already know how to deal with a quadrilateral with a vertex inside it.
slide-64
SLIDE 64

The Algorithm

  • In case (3), if the triangles corresponding to v and par(v), or only one of

them, are adjacent to both the triangles corresponding to sib(par(v)) and its child, then the subtree rooted at par(par(v)) corresponds to a triangle with two vertices inside it.

par(v) par(par(v)) sib(par(v)) v w par(par(v)) par(v) v w sib(par(v)) sib(par(v)) par(v) v w par(v) sib(par(v)) v w

  • As shown in the above figure, we can deal with this case by considering the

quadrilateral with one vertex inside it, which corresponds to the vertices v, par(v), sib(par(v)) and the child of sib(par(v)).

  • We already know how to deal with a quadrilateral with a vertex inside it.
  • The vertices v, par(v), sib(par(v)) and the child of sib(par(v)) get removed

from TG and from their corresponding vertex sets.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 26

slide-65
SLIDE 65

The Algorithm

  • In case (3), if the triangle corresponding to v (resp. par(v)) has only one edge

in common with either sib(par(v)) or its child, and the triangle corresponding to par(v) (resp. v) shares no edge with sib(par(v)) nor its child, then the subtree rooted at par(par(v)) corresponds to a pentagon P with one vertex inside it.

par(par(v)) par(v) v w sib(par(v)) v par(par(v)) sib(par(v)) w par(v)

slide-66
SLIDE 66

The Algorithm

  • In case (3), if the triangle corresponding to v (resp. par(v)) has only one edge

in common with either sib(par(v)) or its child, and the triangle corresponding to par(v) (resp. v) shares no edge with sib(par(v)) nor its child, then the subtree rooted at par(par(v)) corresponds to a pentagon P with one vertex inside it.

par(par(v)) par(v) v w sib(par(v)) v par(par(v)) sib(par(v)) w par(v)

  • It can be shown that the pentagon P

can be decomposed into at most four strictly convex quadrilaterals and a leftover triangle, △, by adding at most three Steiner points inside P . The leftover triangle △ contains the edge of par(par(v)) that is not adjacent to par(v) nor to sib(par(v)).

slide-67
SLIDE 67

The Algorithm

  • In case (3), if the triangle corresponding to v (resp. par(v)) has only one edge

in common with either sib(par(v)) or its child, and the triangle corresponding to par(v) (resp. v) shares no edge with sib(par(v)) nor its child, then the subtree rooted at par(par(v)) corresponds to a pentagon P with one vertex inside it.

par(par(v)) par(v) v w sib(par(v)) v par(par(v)) sib(par(v)) w par(v)

  • It can be shown that the pentagon P

can be decomposed into at most four strictly convex quadrilaterals and a leftover triangle, △, by adding at most three Steiner points inside P . The leftover triangle △ contains the edge of par(par(v)) that is not adjacent to par(v) nor to sib(par(v)).

  • The algorithm removes v, par(v), sib(par(v)) and the child of sib(par(v)) from

TG and from their corresponding vertex sets, and makes par(par(v)) correspond to △.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 27

slide-68
SLIDE 68

The Algorithm

  • In case (3), if neither the triangle corresponding to v nor the one corresponding

to par(v) shares an edge with neither sib(par(v)) nor its child, then the subtree rooted at par(par(v)) corresponds to a septagon S.

sib(par(v)) par(v) w v par(par(v)) par(par(v)) par(v) v w sib(par(v)) sib(par(v)) par(par(v)) par(par(v)) par(v) v w

slide-69
SLIDE 69

The Algorithm

  • In case (3), if neither the triangle corresponding to v nor the one corresponding

to par(v) shares an edge with neither sib(par(v)) nor its child, then the subtree rooted at par(par(v)) corresponds to a septagon S.

sib(par(v)) par(v) w v par(par(v)) par(par(v)) par(v) v w sib(par(v)) sib(par(v)) par(par(v)) par(par(v)) par(v) v w

  • It can be shown that the septagon S can be decomposed into at most six strictly

convex quadrilaterals and a leftover triangle, △, by adding at most four Steiner points inside S.

slide-70
SLIDE 70

The Algorithm

  • In case (3), if neither the triangle corresponding to v nor the one corresponding

to par(v) shares an edge with neither sib(par(v)) nor its child, then the subtree rooted at par(par(v)) corresponds to a septagon S.

sib(par(v)) par(v) w v par(par(v)) par(par(v)) par(v) v w sib(par(v)) sib(par(v)) par(par(v)) par(par(v)) par(v) v w

  • It can be shown that the septagon S can be decomposed into at most six strictly

convex quadrilaterals and a leftover triangle, △, by adding at most four Steiner points inside S.

  • The leftover triangle △ contains the edge of par(par(v)) that is not adjacent

to par(v) nor to sib(par(v)).

slide-71
SLIDE 71

The Algorithm

  • In case (3), if neither the triangle corresponding to v nor the one corresponding

to par(v) shares an edge with neither sib(par(v)) nor its child, then the subtree rooted at par(par(v)) corresponds to a septagon S.

sib(par(v)) par(v) w v par(par(v)) par(par(v)) par(v) v w sib(par(v)) sib(par(v)) par(par(v)) par(par(v)) par(v) v w

  • It can be shown that the septagon S can be decomposed into at most six strictly

convex quadrilaterals and a leftover triangle, △, by adding at most four Steiner points inside S.

  • The leftover triangle △ contains the edge of par(par(v)) that is not adjacent

to par(v) nor to sib(par(v)).

  • The algorithm removes v, par(v), sib(par(v)) and the child of sib(par(v)) from

TG and from their corresponding vertex sets, and makes par(par(v)) correspond to △.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 28

slide-72
SLIDE 72

The Algorithm

  • After processing all vertices v ∈ Vi such that par(v) has only one child, the

algorithm starts the fifth and last step in which it processes the vertex sets V1 and V0.

v par(v) par(v) v sib(v) v

slide-73
SLIDE 73

The Algorithm

  • After processing all vertices v ∈ Vi such that par(v) has only one child, the

algorithm starts the fifth and last step in which it processes the vertex sets V1 and V0.

v par(v) par(v) v sib(v) v

  • By carefully analyzing all previous cases, it can be shown that the algorithm

generates at most ⌊3

2t⌋ strictly convex quadrilaterals and uses at most t + 2

Steiner points, where t is the number of triangles in T . Furthermore, its time and space complexity are O(t).

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 29

slide-74
SLIDE 74

Constrained Quadrangulations

  • Our algorithm can be extended in a straightforward manner to deal with arbitrary

constrained triangulations.

slide-75
SLIDE 75

Constrained Quadrangulations

  • Our algorithm can be extended in a straightforward manner to deal with arbitrary

constrained triangulations.

  • Given a constrained triangulation T , build the dual graph G of T respecting the

constrained edges of T . That is, the graph G does not contain the dual edges

  • f constrained edges of T .
slide-76
SLIDE 76

Constrained Quadrangulations

  • Our algorithm can be extended in a straightforward manner to deal with arbitrary

constrained triangulations.

  • Given a constrained triangulation T , build the dual graph G of T respecting the

constrained edges of T . That is, the graph G does not contain the dual edges

  • f constrained edges of T .
  • Suppose that G has c connected components.

Then, build the spanning forest T = {T1, T2, . . . , Tc} of G and run our algorithm on each Ti.

slide-77
SLIDE 77

Constrained Quadrangulations

  • Our algorithm can be extended in a straightforward manner to deal with arbitrary

constrained triangulations.

  • Given a constrained triangulation T , build the dual graph G of T respecting the

constrained edges of T . That is, the graph G does not contain the dual edges

  • f constrained edges of T .
  • Suppose that G has c connected components.

Then, build the spanning forest T = {T1, T2, . . . , Tc} of G and run our algorithm on each Ti.

  • The number of quadrilaterals generated by the algorithm is at most ⌊3

2t⌋ + 5c − 5

and the number of Steiner points is at most t + 4c − 3.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 30

slide-78
SLIDE 78

Implementation and Results

  • We have an implementation of a slightly different version of this algorithm at

http://www.seas.upenn.edu/~marcelos/cqmesh.html

slide-79
SLIDE 79

Implementation and Results

  • We have an implementation of a slightly different version of this algorithm at

http://www.seas.upenn.edu/~marcelos/cqmesh.html

  • We have noticed that our algorithm generates about 0.6t quadrilaterals in most

test cases, where t is the number of triangles of the input triangulation.

  • Our algorithm tends to preserve the input mesh grading.
  • We have noticed that the better the shape of the input triangles is, the better

the shape of the output quadrilaterals.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 31

slide-80
SLIDE 80

Implementation and Results

  • Our algorithm does not give any guarantee on the quality of the shape of mesh

elements.

slide-81
SLIDE 81

Implementation and Results

  • Our algorithm does not give any guarantee on the quality of the shape of mesh

elements.

  • Post-processing

techniques (such as smoothing and topological improvements) should be used to increase mesh quality at the expenses of running time and mesh size.

slide-82
SLIDE 82

Implementation and Results

  • Our algorithm does not give any guarantee on the quality of the shape of mesh

elements.

  • Post-processing

techniques (such as smoothing and topological improvements) should be used to increase mesh quality at the expenses of running time and mesh size.

  • The mesh on the right was obtained from the mesh on the left by using angle-

based smoothing and topological clean-up.

  • The mesh on the right has about 10% more elements than the one on the left.

The time to post-process the mesh on the right was 9 times longer than the one taken by our algorithm to generate the mesh on the left.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 32

slide-83
SLIDE 83

Meshes from Images

  • Image Segmentation
  • Contour definition
  • Polygonal approximation of contours

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 33

slide-84
SLIDE 84

Image registration

  • The process of finding a spatial correspondence between two images.
  • Elastic image registration (Broit, 1981)
  • Variational formulation (Gee and Bajcsy, 1999)
  • FE-based implementation of Gee and Bajcsy's registration method in the NLM

Insight Segmentation and Registration Toolkit (ITK).

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 34

slide-85
SLIDE 85

Image Registration Experiment

  • One pair (A, B) of 256 × 256 pixel MR images.
slide-86
SLIDE 86

Image Registration Experiment

  • One pair (A, B) of 256 × 256 pixel MR images.
  • Image B is a deformation of image A produced by a cubic polynomial.
slide-87
SLIDE 87

Image Registration Experiment

  • One pair (A, B) of 256 × 256 pixel MR images.
  • Image B is a deformation of image A produced by a cubic polynomial.
  • Image B was partitioned using triangular meshes, quadrilateral grids, and quadri-

lateral meshes generated by our new algorithm.

slide-88
SLIDE 88

Image Registration Experiment

  • One pair (A, B) of 256 × 256 pixel MR images.
  • Image B is a deformation of image A produced by a cubic polynomial.
  • Image B was partitioned using triangular meshes, quadrilateral grids, and quadri-

lateral meshes generated by our new algorithm.

  • Triangular meshes produced by the software ``Triangle'' by Jonathan Shewchuk

(www-2.cs.cmu.edu/~quake/triangle.html).

slide-89
SLIDE 89

Image Registration Experiment

  • One pair (A, B) of 256 × 256 pixel MR images.
  • Image B is a deformation of image A produced by a cubic polynomial.
  • Image B was partitioned using triangular meshes, quadrilateral grids, and quadri-

lateral meshes generated by our new algorithm.

  • Triangular meshes produced by the software ``Triangle'' by Jonathan Shewchuk

(www-2.cs.cmu.edu/~quake/triangle.html).

  • FEM-based image registration code from ITK.
slide-90
SLIDE 90

Image Registration Experiment

  • One pair (A, B) of 256 × 256 pixel MR images.
  • Image B is a deformation of image A produced by a cubic polynomial.
  • Image B was partitioned using triangular meshes, quadrilateral grids, and quadri-

lateral meshes generated by our new algorithm.

  • Triangular meshes produced by the software ``Triangle'' by Jonathan Shewchuk

(www-2.cs.cmu.edu/~quake/triangle.html).

  • FEM-based image registration code from ITK.
  • We evaluate the results of the registration by calculating the RMS (root-mean

squared) difference between the intensity values of corresponding pixels over the entire image domain.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 35

slide-91
SLIDE 91

Performance Measurements

Mesh Description #Elements #Vertices 1 Triangular with minimum angle of 20 degrees 2921 1472 2 Triangular with minimum angle of 25 degrees 3549 1790 3 Triangular with minimum angle of 30 degrees 4914 2481 4 Triangular with minimum angle of 33 degrees 8254 4173 5 Quadrilateral grid of 8x8-pixel elements 1024 1089 6 Quadrilateral grid of 4x4-pixel elements 4096 4225 7 Quadrilateral grid of 2x2-pixel elements 16384 16641 8 Quadrilateral grid of 1x1-pixel elements 65536 66049 9 Quadrilateral mesh from triangular mesh 1 1645 1654 10 Quadrilateral mesh from triangular mesh 2 1941 1957 11 Quadrilateral mesh from triangular mesh 3 2581 2605 12 Quadrilateral mesh from triangular mesh 4 4318 4364 13 Quadrilateral mesh 9 after post-processing 1773 1785 14 Quadrilateral mesh 10 after post-processing 2073 2089 15 Quadrilateral mesh 11 after post-processing 2747 2771 16 Quadrilateral mesh 12 after post-processing 4499 4545

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 36

slide-92
SLIDE 92

Performance Measurements

1000 2000 3000 4000 5000 6000 7000 8000 9000 Number of elements Mesh 1 2 3 4 9 10 11 12 13 14 15 16 Triangular meshes Quadrilateral meshes Postprocessed quadrilateral meshes 1000 2000 3000 4000 5000 6000 7000 8000 9000 Number of nodes Mesh 1 2 3 4 9 10 11 12 13 14 15 16 Triangular meshes Quadrilateral meshes Post-processed quadrilateral meshes

  • Number of elements in the brain meshes generated by our algorithm is about

60% of the number of elements in their triangular counterparts.

  • Number of vertices in the brain meshes generated by our algorithm is slightly

bigger than the number of vertices in their triangular counterparts.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 37

slide-93
SLIDE 93

Performance Measurements

Mesh #Elements

  • Int. Pts.

Runtime (sec.) RMS 1 2921 1 10 17.95 1 2991 3 17 17.25 2 3549 1 12 17.35 2 3549 3 21 16.98 3 4914 1 17 17.20 3 4914 3 30 16.81 4 8254 1 32 16.78 4 8254 3 52 16.62 5 1024 4 12 18.56 6 4096 4 46 16.99 7 16384 4 205 16.11 8 65536 4 1001 15.93 9 1645 4 21 17.67 10 1941 4 24 17.12 11 2581 4 33 16.93 12 4318 4 59 16.68 13 1773 4 23 17.44 14 2073 4 27 17.47 15 2747 4 35 16.92 16 4499 4 62 16.66

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 38

slide-94
SLIDE 94

Performance Measurements

16 16.5 17 17.5 18 18.5 19 RMS Mesh 4,12,16 1,9,13 3,11,15 2,10,14 Triangular meshes and 1 integration point Triangular meshes and 3 integration points Quadrilateral meshes and 4 integration points Post-processed quadrilateral meshes and 4 integration points

  • Even though the number of elements of the quadrilaterals meshes generated

by our algorithm is about 60% of the number of elements in their triangular counterparts, the RMS's due to the quadrilateral meshes are comparable with the

  • nes of their triangular counterparts.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 39

slide-95
SLIDE 95

Performance Measurements

10 20 30 40 50 60 70 80 Runtime (seconds) Mesh 1,9,13 2,10,14 3,11,15 4,12,16 Triangular meshes and 1 integration point Triangular meshes and 3 integration points Quadrilateral meshes and 4 integration points Post-processed quadrilateral meshes and 4 integration points

  • Runtime associated with the quadrilateral meshes are larger than the ones asso-

ciated with the triangular meshes.

  • Brain meshes 11 and 15, which are generated by our algorithm, have less than 3

4

  • f the number of elements of mesh 6 (a uniform grid) and yet they both have a

smaller RMS associated with them.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 40

slide-96
SLIDE 96

Conclusions

  • We developed an algorithm to generate quadrilateral meshes of arbitrary polygonal

regions with or without holes.

slide-97
SLIDE 97

Conclusions

  • We developed an algorithm to generate quadrilateral meshes of arbitrary polygonal

regions with or without holes.

  • Our algorithm is provably guaranteed to generate quadrangulateral meshes of

bounded size and its bounds are better than the ones provided by similar algorithms using the indirect approach.

slide-98
SLIDE 98

Conclusions

  • We developed an algorithm to generate quadrilateral meshes of arbitrary polygonal

regions with or without holes.

  • Our algorithm is provably guaranteed to generate quadrangulateral meshes of

bounded size and its bounds are better than the ones provided by similar algorithms using the indirect approach.

  • Our algorithm is simpler and faster than most of the algorithms for generating

quadrilateral meshes with high quality element shape, and it can be a reasonable choice if element shape quality is not an issue.

slide-99
SLIDE 99

Conclusions

  • We developed an algorithm to generate quadrilateral meshes of arbitrary polygonal

regions with or without holes.

  • Our algorithm is provably guaranteed to generate quadrangulateral meshes of

bounded size and its bounds are better than the ones provided by similar algorithms using the indirect approach.

  • Our algorithm is simpler and faster than most of the algorithms for generating

quadrilateral meshes with high quality element shape, and it can be a reasonable choice if element shape quality is not an issue.

  • We applied our algorithm to generate quadrilateral meshes from imaging data,

and then evaluate mesh quality with respect to the performance of a FE-based image registration method implemented in ITK.

slide-100
SLIDE 100

Conclusions

  • We developed an algorithm to generate quadrilateral meshes of arbitrary polygonal

regions with or without holes.

  • Our algorithm is provably guaranteed to generate quadrangulateral meshes of

bounded size and its bounds are better than the ones provided by similar algorithms using the indirect approach.

  • Our algorithm is simpler and faster than most of the algorithms for generating

quadrilateral meshes with high quality element shape, and it can be a reasonable choice if element shape quality is not an issue.

  • We applied our algorithm to generate quadrilateral meshes from imaging data,

and then evaluate mesh quality with respect to the performance of a FE-based image registration method implemented in ITK.

  • Our evaluation has shown that our meshes are comparable with their triangular

counterparts, and they are slightly better than the uniform grids automatically provided by ITK.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 41

slide-101
SLIDE 101

Future Work

  • We would like to investigate and formalize the relationship between the quality
  • f input triangulation (in terms of angle bounds, for instance) and the quality of

the quadrilateral mesh produced by our algorithm.

slide-102
SLIDE 102

Future Work

  • We would like to investigate and formalize the relationship between the quality
  • f input triangulation (in terms of angle bounds, for instance) and the quality of

the quadrilateral mesh produced by our algorithm.

  • We also intend to extend our image registration experiment to include an ad-

vancing front method that generates quadrilateral meshes.

slide-103
SLIDE 103

Future Work

  • We would like to investigate and formalize the relationship between the quality
  • f input triangulation (in terms of angle bounds, for instance) and the quality of

the quadrilateral mesh produced by our algorithm.

  • We also intend to extend our image registration experiment to include an ad-

vancing front method that generates quadrilateral meshes.

  • Finally, we would like to extend our algorithm to build three-dimensional quadri-

lateral meshes from imaging data. One possibility is to start with a ``reconstruc- tion from slices'' approach.

The 12th International Meshing Roundtable, Santa Fe, New Mexico, USA, September 14-17, 2003 42