Kernel Density Estimation-based Edge Bundling

Here is a new version (First version here) of "Kernel Density Estimation-based Edge Bundling" based on work from Christophe Hurter, Alexandru Telea, and Ozan Ersoy.
Graph Bundling by Kernel Density Estimation.
EuroVis 2012. Computer Graphics Forum journal.

http://www.recherche.enac.fr/~hurter/KDEEB/KDEEB.html

It is based on Visual Studio C# code instance (CPU version) from Antoine LHUILLIER. I changes a bit the code, use of Point3d, Vector3d, change 2D matrix in 1D to 2D ...

The inputs are :

  • lines, on XY plane, which are the base of the graph. The script use end and beginning points.
    • There are some examples in the script, see pictures above
  • There is parameter for the number of runs
  • The is a parameter for Kernel size in pixel
  • The is a parameter for number of smoothings
  • The size of the rasterization grid is by default 300 pixels 
  • The size of the derivative windows grid is by default 1.5 x Kernel size

!! Warning calculations could be long

As outputs 

  • the new graph as polylines
  • I also put a nurbs curve form the polyline (with 100 control points)
  • A mesh representing the accumulation map

Many of the parameters  have an effect on the output, play with them, beware of time. 

Here are some images.

1000 lines random on a rectangle

A inkscape render

  • up

    Lee F.H.

    Hi! May i ask if theres any way i can input curves/polylines instead of lines into the system? 

    3
    • up

      Yuval Aboulafia

      Is there a way to base it on gpu algorithm?
      2