ParaView 5: Introducing the Point Gaussian representation

A new representation for rendering points, the PointGaussian representation, was recently added to ParaView. It extends the basic GeometryRepresentation as well as the UnstructuredGridRepresentation.  To give the PointGaussian representation a try, simply choose “PointGaussian” instead of “Surface” as the representation for an applicable dataset.

Screen Shot 2016-02-04 at 11.33.28 AM

Once you choose the PointGaussian representation, look for the associated properties in the Properties Panel.  You must have advanced properties toggled on in order to see them.

Screen Shot 2016-02-04 at 11.35.37 AM

Until you choose a “Gaussian Radius” larger than zero, the new representation will simply render the data as GL_POINTS, which should be very fast but none of the advanced rendering properties will work.  Setting the radius to something greater than zero will allow you to select one of the “Shader Preset” options or experiment with the other representation properties.

Screen Shot 2016-02-04 at 11.40.54 AM

In the screenshot below, we use the new PointGaussian representation on the well-known “disk_out_ref.ex2” dataset, with a constant radius of 0.25 for the sprites along with the “Sphere” preset shader.

Screen Shot 2016-02-04 at 11.43.25 AM

Some of the options available with the PointGaussian representation include setting point size and opacity using data arrays.  When making use of these options, you can specify a piecewise function, which will map the data array values to opacities or sizes.  The piecewise function editor also allows you to give the range of input values which will be mapped to the output range (currently fixed at [0, 1]).  However, once you specify the piecewise function shape and input range, you can use the “Constant Radius” property to further scale the points uniformly. Doing so gives you a bit more control over the ultimate output range.

In the image below, we checked the “Use Scale Array” property. We then selected “Temp” as the scaling array and chose to edit the scale transfer function.  We entered the full range of the temperature array in the edit boxes below the graphical function editor, and we opted to have the smallest temperatures map to the largest points, and vice-versa.

Screen Shot 2016-02-04 at 11.48.48 AM

As shown below, we tried out the “Black-edged Circle” shader preset on the points.

Screen Shot 2016-02-04 at 12.00.08 PM

So that’s it for now.  Give this new representation a try, and feel free to use the mailing list to provide feedback or ask questions.  Enjoy!

4 Responses to ParaView 5: Introducing the Point Gaussian representation

  1. Joachim Pouderoux says:

    Scott,
    It appears that the default range for Scale & Opacity transfer functions is [0-1]. Is there a way to use the data range instead? If not, doing it manually it a pain, do you plan to add a button to fill the piecewise ranges?
    Best,
    Joachim

  2. Scott Wittenburg says:

    Hi Joachim,
    I did not find an obvious way to do this at the time. I will ask around and see if someone knows how it can be accomplished, but I’m not sure when I might be able to implement it. If you know of a way to handle this, I would love to learn about it! Thanks for your comment.
    Cheers,
    Scott

  3. Christophe Bourcier says:

    Hi,

    What is the difference between the Point Gaussian and the Point Sprites representation?
    I found it easier in Point Sprites to define the radius transfer function (in fact, I did not manage to display spheres with different radius in Point Gaussian).
    And the Point Gaussian only works on scalar fields, whereas in Point Sprites, we can select the component.

    Cheers,

    Christophe

  4. Bruno says:

    I concur with the previous comment. Is there an easy way to map the value of the radius of the sphere directly to an array? People often use paraview to post-process Discrete element simulations (granular flows of powder) and this feature is extensively used in that field…

Questions or comments are always welcome!