Tutorial 9 - Fast Marching Methods

Similar documents
Fast marching methods

CHAPTER 4 RAY COMPUTATION. 4.1 Normal Computation

Three Dimensional Geometry. Linear Programming

specular diffuse reflection.

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

3.0 Trigonometry Review

Lab 2: Snell s Law Geology 202 Earth s Interior

Let s review the four equations we now call Maxwell s equations. (Gauss s law for magnetism) (Faraday s law)

Chapter 33. The Nature of Light and Propagation of Light (lecture 1) Dr. Armen Kocharian

2.0 Trigonometry Review Date: Pythagorean Theorem: where c is always the.

AQA GCSE Further Maths Topic Areas

Chapter 3. Physical phenomena: plane parallel plate. This chapter provides an explanation about how rays of light physically behave when

Circular Trigonometry Notes April 24/25

Outline The Refraction of Light Forming Images with a Plane Mirror 26-3 Spherical Mirror 26-4 Ray Tracing and the Mirror Equation

The geometry of reflection and refraction Wave conversion and reflection coefficient

Chapter 24 The Wave Nature of Light

Geometrical Optics INTRODUCTION. Wave Fronts and Rays

Refraction Ch. 29 in your text book

Unit 2: Trigonometry. This lesson is not covered in your workbook. It is a review of trigonometry topics from previous courses.

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

Lesson 5.6: Angles in Standard Position

An Efficient Solution to the Eikonal Equation on Parametric Manifolds

Experiment 9. Law of reflection and refraction of light

Lecture 7 Notes: 07 / 11. Reflection and refraction

Convex Polygon Generation

Lab 10 - GEOMETRICAL OPTICS

Properties of Light. 1. The Speed of Light 2. The Propagation of Light 3. Reflection and Refraction 4. Polarization

3/10/2019. Models of Light. Waves and wave fronts. Wave fronts and rays

Physics 1C. Lecture 25B. "There are two ways of spreading light: to be the candle or the mirror that reflects it." --Edith Wharton

Huygens and Fermat s s principles (Textbook 4.4, 4.5) Application to reflection & refraction at an interface

Parameterization with Manifolds

Physics 202, Lecture 23

Ch. 2 Trigonometry Notes

Ray optics! 1. Postulates of ray optics! 2. Simple optical components! 3. Graded index optics! 4. Matrix optics!!

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

2.710 Optics Spring 09 Solutions to Problem Set #1 Posted Wednesday, Feb. 18, 2009

Mesh Decimation. Mark Pauly

: Find the values of the six trigonometric functions for θ. Special Right Triangles:

Intersection of an Oriented Box and a Cone

Geometric Optics. The Law of Reflection. Physics Waves & Oscillations 3/20/2016. Spring 2016 Semester Matthew Jones

Ray optics! Postulates Optical components GRIN optics Matrix optics

Lesson 27: Angles in Standard Position

Lecture 14: Refraction

INTRODUCTION REFLECTION AND REFRACTION AT BOUNDARIES. Introduction. Reflection and refraction at boundaries. Reflection at a single surface

Dijkstra s algorithm, Fast marching & Level sets. Einar Heiberg,

Reflection & refraction

Computing geodesic paths on manifolds

Fiber Optic Communication Systems. Unit-03: Properties of Light.

Ray Optics I. Last time, finished EM theory Looked at complex boundary problems TIR: Snell s law complex Metal mirrors: index complex

You ll use the six trigonometric functions of an angle to do this. In some cases, you will be able to use properties of the = 46

Chapter 12 Notes: Optics

Math-3 Lesson 6-1. Trigonometric Ratios for Right Triangles and Extending to Obtuse angles.

PreCalculus Unit 1: Unit Circle Trig Quiz Review (Day 9)

Analytic Spherical Geometry:

Fast sweeping methods for eikonal equations on triangular meshes

Section The Law of Sines and the Law of Cosines

x 2 + y 2 + z 2 = 1 = ˆr ŷ = ±y cosθ z (a) The half angle of the cones (inside the material) is just given by the critical angle sinθ c n = 3.

MATHEMATICS FOR ENGINEERING TUTORIAL 5 COORDINATE SYSTEMS

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z

PY106 Class31. Index of refraction. Refraction. Index of refraction. Sample values of n. Rays and wavefronts. index of refraction: n v.

Background for Surface Integration

Wavefronts and Rays. When light or other electromagnetic waves interact with systems much larger than the wavelength, it s a good approximation to

521493S Computer Graphics Exercise 2 Solution (Chapters 4-5)

Numerical Geometry of Nonrigid Shapes. CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher

CCSSM Curriculum Analysis Project Tool 1 Interpreting Functions in Grades 9-12

Review: 22.4: Dispersion. Refraction in a Prism. Announcements

θ =θ i r n sinθ = n sinθ

SECTION 4.5: GRAPHS OF SINE AND COSINE FUNCTIONS

Introduction to Seismology Spring 2008

Math Boot Camp: Coordinate Systems

Ch. 26: Geometrical Optics

Waves & Oscillations

1 (5 max) 2 (10 max) 3 (20 max) 4 (30 max) 5 (10 max) 6 (15 extra max) total (75 max + 15 extra)

WJEC LEVEL 2 CERTIFICATE 9550/01 ADDITIONAL MATHEMATICS

Light travels in straight lines, this is referred to as... this means that light does not bend...

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19

PS Computational Geometry Homework Assignment Sheet I (Due 16-March-2018)

ADVANCED GCE MATHEMATICS (MEI) 4754A

Physics 1C. Lecture 22A. "There are two ways of spreading light: to be the candle or the mirror that reflects it." --Edith Wharton

PHYS 202 Notes, Week 8

Geodesics in heat: A new approach to computing distance

M jrs M jgs M jbs Intensity of light reflected from surface j when illuminated by source i: I ijr

! "To accept Huygens's principle requires abandoning the idea that a ray has much intrinsic physical significance..." (pg. 5.)

The liquid s index of refraction is. v liquid = nm = = 460 nm 1.38

Lab 9 - Geometrical Optics

UNIT 5 TRIGONOMETRY Lesson 5.4: Calculating Sine, Cosine, and Tangent. Instruction. Guided Practice 5.4. Example 1

Index of Refraction and Total Internal Reflection

GEOMETRIC OPTICS MIRRORS

Saab. Kyle McDonald. Polygon Meshes

Light and the Properties of Reflection & Refraction

Justin Solomon MIT, Spring Numerical Geometry of Nonrigid Shapes

Reflections and Refractions in Ray Tracing

Non-Bayesian Classifiers Part I: k-nearest Neighbor Classifier and Distance Functions

Lecture Ray Model of Light. Physics Help Q&A: tutor.leiacademy.org

Chapter 3 Geometrical Optics

Problems set # 13 Physics 169 May 12, 2015

The diagram above shows a sketch of the curve C with parametric equations

Fermat s principle and ray tracing in anisotropic layered media

Physics. Bending Light ID: 8878

LIGHT. Speed of light Law of Reflection Refraction Snell s Law Mirrors Lenses

Transcription:

236861 Numerical Geometry of Images Tutorial 9 Fast Marching Methods c 2012

Why measure distances? Shape analysis Image analysis Registration Morphology Navigation And many other uses.. There are many (mostly 2D) fast Euclidean distance transforms - see the site links for more examples.

How to measure distances? Given a domain Ω (for a moment assume that Ω R 2 ) and a set of source points X 0, for each point x Ω, measure its distance from X 0, T (x). Formally, the problem boils down to solving the eikonal equation (from Greek εικων= image). Ω T (x, y) = 1, T (X 0 ) = 0.

In optics and acoustics this equation describes the propagation of electromagnetic or pressure waves through some (non-homogenous) medium. It is responsible for the fact that the light (sound) traverses the shortest path between two points (Fermat s principle) and as consequence it describes light refraction and Snell s law.

Fermat s principle - a simple example..

Fermat s principle - a not-so-simple example..

The Fast Marching algorithm Imagine that Ω is a uniformly distributed forest. At time T = 0, a bad guy sets fire simultaneously in all the source points X 0. The fire front advances outwards from these initial points. Firemen register the time T (x) at which the fire arrives to the location x. Once a point is touched by the fire, the trees burn out and the front never visits again the locations where it had already passed. The fast marching algorithm is a numerical tool, which simulates the described scenario.

The Fast Marching algorithm A few observations when computing a solution to the Eikonal equation: Our boundary is also our zero level set - the set of source points. This uses one property of distances. The construction of the solution should be made monotonous, going from closer points to farther points - we are validating the triangle inequality on several stencils. This is another property of distances. The third property of distances (symmetry) is implicitly assumed.

The equation, as a solution to the minimum distance problem, is well defined in terms of narrow band around a level set.

The Fast Marching algorithm Initialization 1. Set T (X 0 ) = 0 and mark the points from X 0 as Black. 2. Set the rest of the points T (Ω \ X 0 ) = and mark them X 0 as Green. Iteration 1. Green points adjacent to Black points become Red. 2. Red points are updated, i.e. their T is estimated from the arrival times of the neighboring Black points. 3. The Red point with the smallest T becomes Black. 4. The process reiterates until all points are Black.

Note that a point is updated only by adjacent points (4-neighbor adjacency) with smaller value of T, and we demand that the new T value is larger than that of the updating points. A Black point has the T value smaller than that of all non-black points. Therefore, once a point becomes Black, it need not be updated anymore. This can also be thought of in terms of updating an upper and a lower bound until they (almost) meet. The maximum number of point updates is the number of neighbors on the grid, which is O(N).

The update step T 1 T 3 =? T 2 When we say update x 3 from x 1, x 2, we mean: Given two points x 1, x 2 with known front arrival times T 1, T 2, estimate the arrival time T 3 to the point x 3.

Assume that the front is planar (a good approximation for T h), i.e. propagating from some plane ˆn x + p = 0. The points x i are distant T i from the plane. The knowledge of T 1, T 2 allows to determine the parameters of the plane ˆn, p. (note: there are algorithms which do not assume a planar wavefront).

Assume w.l.o.g. that x 1 = (0, 0), x 2 = ( 2h, 0), x 3 = ( 2 2 2 h, 2 h) x 3 x 1 x 2

We have: T 1 = ˆn x 1 + p = p T 2 = ˆn x 2 + p = 2hn x + T 1 from where n x = T 2 T 1 2h n y = ± 1 nx 2 = ± 1 2h 2 (T 2h 1 T 2 ) 2.

Since x 3 is above x 1 and x 2 w.r.t. the y-axis, the solution n y = 1 2h 2 (T 2h 1 T 2 ) 2 corresponds to the source, from which the front arrives to x 3 before it arrives to x 1 and x 2, yielding T 3 < T 1, T 2. We discard this solution. T 3 = ˆn x 3 + p = 2 2 hn x + 2 2 hn y + T 1 = 1 2 (T 2 T 1 ) + 1 2 2h 2 (T 2 T 1 ) 2 + T 1 = 1 2 (T 2 + T 1 ) + 2 1 2h 2 (T 2 T 1 ) 2 (T 1 + T 2 + ) 2h 2 (T 2 T 1 ) 2. = 1 2

If T 1 T 2 > h, the wavefront propagation direction n comes outside of the triangle x 1 x 2 x 3 and arrives to x 3 before arriving to x 1 or x 2. This can be see from the algebra. Assume T 1 > T 2 and T 1 > T 2 + h, T 3 = 1 2 (T 1 + T 2 ± ) 2h 2 (T 2 T 1 ) 2 < 1 2 (T 1 + T 2 + h) < 1 2 (2T 2 + 2h) = T 2 + h < T 1. In this case, we have no choice but to update x 3 according to T 3 = min{t 1, T 2 } + h.

Extension to the weighted Euclidean case When the wavefront has non-uniform propagation velocity V (x, y), a weighted distance map is computed by solving the eikonal equation or V (x, y) T (x, y) = 1 T (x, y) = F (x, y), where F (x, y) = V 1 (x, y) > 0 is the slowness field.

This equation can be reformulated as g T (x, y) = 1, where the front arrival time is measured according to the weighted Euclidean metric, dt = dx 2 + dy 2 F (x, y). In the weighted case, the time gained by traversing the distance h when updating x 3 from the neighboring points x 1, x 2 is not h but hf (x, y). Hence, T 3 = 1 2 (T 1 + T 2 + ) 2F 2 h 2 (T 2 T 1 ) 2, valid for T 1 T 2 hf.

Extension to (acute) triangulated manifolds The eikonal equation can be solved on general surfaces, represented as triangulated meshes (polyhedral or piecewise-linear approximation). The algorithm is very similar, yet now each vertex on the mesh is updated from the triangles built upon it. We first deal with triangles with acute angles.

E t C h F D H u B G A C θ a h φ G b B D A

We are looking for t = EC, where t > u Note: CD = b t u t Using the law of cosines: Using the law of sines: BD 2 = CD 2 + a 2 2aCDcosθ sinϕ CD = sinθ BD

Looking at the triangle CBG, we have = setting h in the equation h = asinϕ = a CD BD sinθ acdsinθ CD 2 + a 2 2aCDcosθ t u h = F We obtain: (t u) CD 2 + a 2 2aCDcosθ acdsinθ (t u) CD 2 + a 2 2aCDcosθ ab (t u) t sinθ = F = F

CD 2 + a 2 2aCDcosθ ab 1 t sinθ = F ( ) (t u) 2 ( b + a t 2 2a b ( b (t u) t ) 2 + a 2 2a ( b (t u) t (t u) t ) cosθ = Fab 1 t sinθ ) cosθ = F 2 a 2 b 2 1 t 2 sin2 θ

(b (t u)) 2 + a 2 t 2 2tab (t u) cosθ = F 2 a 2 b 2 sin 2 θ ( b 2 t 2 2tu + u 2) ( ) +a 2 t 2 2 t 2 tu abcosθ = F 2 a 2 b 2 sin 2 θ ( ) t 2 a 2 + b 2 2abcosθ + t (2uabcosθ 2ub 2) ( ) +b 2 u 2 F 2 a 2 sin 2 θ = 0

Note that t > u according to our assumptions, and CD should stay within the segment CA. By changing the direction of h we obtain: acosθ < b (t u) t < a cosθ

The discussion so far has been for non-obtuse triangulations. If obtuse triangles exist, they can be split into 2 by adding an extra edge (and 2 virtual triangles) to the triangulation graph (which now becomes non-planar, but still works for our purposes) Obtuse angle and splitting section A Triangulated surface patch A B A B Unfolded triangulated patch