Slide 1

Slide 1 text

Imaging Vector Fields Using Line Integral Convolution Erich Ess

Slide 2

Slide 2 text

Vector Fields • A vector field is a function V with takes a location in space and returns a vector • Used to represent things like: fluid behavior, magnetic fields, gravity, etc.

Slide 3

Slide 3 text

Where do Vector Fields Arise • Fluid Dynamics • Climate information • Physics including modelling electromagnetic fields, gravity, and particle motion

Slide 4

Slide 4 text

Prior Techniques • Several techniques with specific drawbacks which Line Integral Convolution attempts to solve

Slide 5

Slide 5 text

Glyphs • Divide the space into a grid • At each point on the grid • Get the vector at that point • Draw a glyph (like an arrow) which points in the direction of the vector

Slide 6

Slide 6 text

Glyphs: Problems • Take up a lot of visual space • Limits how many glyphs you can display which means • Overly turbulent or large vector fields don’t render well with glyphs • It becomes hard to visualize or intuit how something would move through the vector field

Slide 7

Slide 7 text

Stream Lines • Stream Lines draw lines which start at a point and the follow the flow of the vector field • Pick a point in the space • Get the vector at that point and move a step in the direction of that vector • Draw a line connecting the previous point and the new point • Repeat

Slide 8

Slide 8 text

Stream Lines: Problems • Depend critically on where stream lines are placed • Complex information in turbulent vector fields can be missed entirely if the stream lines are not well placed

Slide 9

Slide 9 text

DDA Convolution • An intermediate step to Line Integral Convolution • DDA convolution takes a vector field and an input image (usually white noise), the image is mapped one to one to the vector field • For each vector a short line is followed and each pixel on the line is summed • The result is the value of the pixel at the vector point

Slide 10

Slide 10 text

DDA Convolution Example

Slide 11

Slide 11 text

DDA Convolution: Problems • Assumes that the local vector field can be modelled using a straight line • Works for where the local curvature is small • Does not work where the local curvature is high, such as turbulent fluids or small vortices

Slide 12

Slide 12 text

DDA Convolution Well Suited Poorly Suited

Slide 13

Slide 13 text

Line Integral Convolution • Combine DDA Convolution with Stream Lines • DDA Convolution: follow a straight line that’s parallel to the vector and sample each pixel in the input image at each step on this straight line • Line Integral Convolution: trace a stream line through the vector field and sample the input image at each step

Slide 14

Slide 14 text

LIC: The Sampling Process Visual

Slide 15

Slide 15 text

Convolution

Slide 16

Slide 16 text

Convolution • Each step on the curve maps to a pixel on the input image • The color of that pixel is sampled to get the color of the output pixel • At each point the convolution kernel is used to determine the weight that pixel color will have to the output

Slide 17

Slide 17 text

Convolution • The function k is a weighting function used to determine how much a specific pixel in the input image will contribute to the value of an output pixel • The simplest version of LIC just uses the unit function k(w)=1 for it’s kernel

Slide 18

Slide 18 text

Convolution • With k(w)=1 the kernel looks like this k(w)

Slide 19

Slide 19 text

Periodic Motion Filters • Using the basic kernel doesn’t show any information with regards to the direction of flow • Using more complex kernel functions allow us to use the direction of the vector field and the distance from the given point to impact the weight of a given pixel from the input image

Slide 20

Slide 20 text

Convolution with an advanced kernel k(w)

Slide 21

Slide 21 text

Sample Kernels • Hanning Filter Functions

Slide 22

Slide 22 text

Normalization • Playing with how normalization works can also be used to provide additional information • In the bottom image, normalization is used to highlight sources and sinks