Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Erich Ess on Imaging Vector Fields Using Line I...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Erich Ess on Imaging Vector Fields Using Line Integral Convolution

Line Integral Convolution is one of the most intuitive data visualization techniques around. It's dropping paint in a river to see how the current is flowing: to visualize a vector field simply take an image and have the vector field smear the colors. The result is a powerful alternative to using arrows or stream lines. And while the intuition is very straightforward, the actual mathematics that power the technique are very complex.

Avatar for Papers_We_Love

Papers_We_Love

February 28, 2017

More Decks by Papers_We_Love

Other Decks in Programming

Transcript

  1. 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.
  2. Where do Vector Fields Arise • Fluid Dynamics • Climate

    information • Physics including modelling electromagnetic fields, gravity, and particle motion
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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