Controlled-Topology Filtering Yotam Gingold & Denis Zorin - - PowerPoint PPT Presentation

controlled topology filtering
SMART_READER_LITE
LIVE PREVIEW

Controlled-Topology Filtering Yotam Gingold & Denis Zorin - - PowerPoint PPT Presentation

Controlled-Topology Filtering Yotam Gingold & Denis Zorin Motivation Many applications require extraction of isolines & isosurfaces (contours) from scalar functions MRI, CT, terrain data, scientific computing Cow CT Scan Puget


slide-1
SLIDE 1

Controlled-Topology Filtering

Yotam Gingold & Denis Zorin

slide-2
SLIDE 2

Motivation

Many applications require extraction of isolines & isosurfaces (contours) from scalar functions

 MRI, CT, terrain data, scientific computing

Cow CT Scan Puget Sound

slide-3
SLIDE 3

Motivation

Want to filter (smooth, sharpen) all contours at once

 Downsampling  Noise reduction

slide-4
SLIDE 4

Contour-line topology

Number of contours at all isovalues

 In 2D fields, value can be height

Topology changes occur when value equals value of a critical point (min, max, saddle)

slide-5
SLIDE 5

Critical Points

Maxima and minima correspond to hills and valleys Saddles join two hills or valleys

slide-6
SLIDE 6

Features

Correspond to critical contours passing through saddles

 A saddle divides a contour in two  The interior of a contour containing an

unpaired extremum is a feature

slide-7
SLIDE 7

Topological Events

Features appear/disappear in saddle-min/max pairs

slide-8
SLIDE 8

Piecewise linear data

 Scalar values defined on a regular grid  Simplicial mesh guarantees critical points

  • nly at vertices

 Some complex critical points can be stable

slide-9
SLIDE 9

regular min max saddle (simple) saddle (monkey)

Piecewise linear data

Find critical points by comparing value with neighbors

 Break ties with arbitrary, consistent

perturbation

slide-10
SLIDE 10

PL topological events

Only happens when 2 adjacent vertices change relative height

 The edge flips relative to equality

1D

slide-11
SLIDE 11

PL topological events

Nothing Merge/Split Move

slide-12
SLIDE 12

Laplacian Smoothing

slide-13
SLIDE 13

Laplacian Smoothing

Can create features

as in blood vessels Ridge Bridge

slide-14
SLIDE 14

Ridge Bridge (t = 0.0)

slide-15
SLIDE 15

Ridge Bridge (3.5)

slide-16
SLIDE 16

Ridge Bridge (7.0)

slide-17
SLIDE 17

Ridge Bridge (10.5)

slide-18
SLIDE 18

Ridge Bridge (14.0)

slide-19
SLIDE 19

Ridge Bridge (17.5)

slide-20
SLIDE 20

Ridge Bridge (21.0)

slide-21
SLIDE 21

Ridge Bridge (24.5)

slide-22
SLIDE 22

Ridge Bridge (28.0)

slide-23
SLIDE 23

Ridge Bridge (28.0)

2/3

slide-24
SLIDE 24

Ridge Bridge (28.0)

3/3

slide-25
SLIDE 25

Puget Sound (3.5)

slide-26
SLIDE 26

Puget Sound (8.4)

slide-27
SLIDE 27

Puget Sound (13.3)

slide-28
SLIDE 28

Puget Sound (18.2)

slide-29
SLIDE 29

Puget Sound (23.1)

slide-30
SLIDE 30

Puget Sound (28.0)

slide-31
SLIDE 31

Puget Sound (32.9)

slide-32
SLIDE 32

Puget Sound (37.8)

slide-33
SLIDE 33

Puget Sound (42.7)

slide-34
SLIDE 34

Puget Sound (42.7)

2/3

slide-35
SLIDE 35

Puget Sound (42.7)

3/3

slide-36
SLIDE 36

Anisotropic Smoothing

 Can also create features

slide-37
SLIDE 37

Sharpening

 Don’t want to create or destroy features

slide-38
SLIDE 38

Algorithm

  • 1. Obtain proposed values from

the filter function

  • 2. Identify edge flips and sort in

time

  • 3. Detect and prevent disallowed

events

  • 4. Goto step 1
slide-39
SLIDE 39
  • 1. Obtain proposed values

Proposed values at step l+1 Filter function Step size Current values at step l

slide-40
SLIDE 40
  • 2. Identify flips and sort

Function values change linearly from to

 An edge between adjacent vertices flips at

most once

 Must resolve flip time exactly

Otherwise vertex ordering becomes cyclic Every vertex has a unique epsilon perturbation

value 0 t 1

slide-41
SLIDE 41
  • 3. Detect & prevent disallowed events

Process events in order

 If we reach a disallowed event between

vertices , set to values infinitesimally before the event

 Must re-identify events involving v,w  May need to rewind the event queue

value 0 t 1 0 t 1

slide-42
SLIDE 42

1D:

  • 3. Detect & prevent disallowed events

2D:

slide-43
SLIDE 43

Algorithm

  • 1. Obtain proposed values from

the filter function

  • 2. Identify edge flips and sort in

time

  • 3. Detect and prevent disallowed

events

  • 4. Goto step 1
slide-44
SLIDE 44

Results: Ridge Bridge (0.0)

slide-45
SLIDE 45

Results: Ridge Bridge (3.5)

slide-46
SLIDE 46

Results: Ridge Bridge (7.0)

slide-47
SLIDE 47

Results: Ridge Bridge (10.5)

slide-48
SLIDE 48

Results: Ridge Bridge (14.0)

slide-49
SLIDE 49

Results: Ridge Bridge (17.5)

slide-50
SLIDE 50

Results: Ridge Bridge (21.0)

slide-51
SLIDE 51

Results: Ridge Bridge (24.5)

slide-52
SLIDE 52

Results: Ridge Bridge (28.0)

slide-53
SLIDE 53

2/3

Results: Ridge Bridge (28.0)

slide-54
SLIDE 54

3/3

Results: Ridge Bridge (28.0)

slide-55
SLIDE 55

Results: Laplacian Smoothing

uncontrolled controlled

  • riginal

suppressed

slide-56
SLIDE 56

Results: Laplacian Smoothing

uncontrolled controlled

  • riginal

suppressed

slide-57
SLIDE 57

Results: Sharpening

uncontrolled controlled

  • riginal

suppressed

slide-58
SLIDE 58

Results: Sharpening

uncontrolled controlled

  • riginal

suppressed

slide-59
SLIDE 59

Results: Anisotropic Smoothing

uncontrolled controlled

  • riginal

suppressed

slide-60
SLIDE 60

Local artifacts

uncontrolled controlled

Due to slowing time

slide-61
SLIDE 61

No progress guarantee

Terminate when proposed values same as current Never saw topology control prevent progress everywhere

slide-62
SLIDE 62

 Measures the importance of a feature  Common measure is difference in value

between an extremum and its paired saddle

 We can track the time it takes for an extremum

(and its paired saddle) to be annihilated under smoothing

Results: Persistence

1D:

slide-63
SLIDE 63

Results: Persistence

Difference in value Anisotropic diffusion lifetime Cow CT Scan

Features shaded black

slide-64
SLIDE 64

Critical Points Over Time

slide-65
SLIDE 65

Performance

Performance related to number of edge flips and number of undesired topological events Roughly corresponds to number of critical points

slide-66
SLIDE 66

Performance

Laplacian smoothing Puget Sound to one global maximum is 2.2x slower 44% of the time is spent in the first 3 steps

slide-67
SLIDE 67

Future Work

Extend to 3D Predict disallowed events to distribute undesired artifacts

slide-68
SLIDE 68

Conclusion

A simple algorithm that controls topology changes when filtering

Contact: Yotam Gingold <gingold@mrl.nyu.edu> Denis Zorin <dzorin@mrl.nyu.edu> Thanks to: Chris Wu, Chee Yap, Adrian Secord, NYU CS Colleagues, and the reviewers

slide-69
SLIDE 69

Fin

slide-70
SLIDE 70

Filters

Discrete Laplacian smoothing (diffusion) Sharpening Discrete Anisotropic smoothing ([Perona and Malik 1990])

slide-71
SLIDE 71

Feature

Sweep a plane down. Notice how at a maximum a new contour is born! Notice how it merges with another contour at a saddle! Same with minimums and sweeping upwards!

slide-72
SLIDE 72

Feature

Hills and valleys until it gets complicated -- max and mins (pics from original slide)

slide-73
SLIDE 73

Feature

Sweep a plane down data set

 Maximum creates a contour  Minimum creates a contour  Saddle merges two contours  Talk to denis to get terminology consistent

slide-74
SLIDE 74

Feature

The set of contours from an extremum until the saddle which merges the contours with another extremum’s contours, as we sweep a plane upwards/downwards Single contour component from appearance at max/min until merger with another component at saddle as isovalue decreases/increases

slide-75
SLIDE 75

No guaranteed progress

Terminate when proposed values same as current Can topology control prevent progress everywhere? Locally:

uncontrolled controlled

slide-76
SLIDE 76

Critical Points Over Time