Help on visualize large number of Point/Sphere with different colors for each point/sphere

Dear Experts,

I have the requirement to visualize a large number of points/sphere with different color,

Currently, i writing my own plugin and user multiBlockDataSet to store each sphere in polydata format,

so i can change color by blockIndex.

My questions are:
Do you have better way to do this with higher performance?
Any suggestions?

Best Regards,
Sharon

3D Glyphs + Coloring by array.

Let me know if you need help set it up.

Point Gaussian might even be better.

1 Like

Thank you Mathieu!

You mean choose 3D Glyphs representation and use scalar vector to set color?
if not this case, please give me more details.

In my requirement, i also need to visualize the density of the points, i am using vtkPointDensityFilter to calculate density value, but this will generate a vtkImageData, i need a volume representation to visualize the result?
Any suggestion, if i want to know density of each origin point?

Thank you Sebastien!

I will have a try, by the way, do you know why Point Gaussian can visualize large number of point in Sphere format, but with very high performance, while my meshed many spheres have very bad performance.

PointGaussian and 3D Glyphs both use shaders on the GPU to show the points/glyphs.

With a lot a spheres, (almost) everything is done on the CPU.

Do the following :

  • Open your point dataset, Apply
  • Use your PointDensity filter, Apply
  • (Note : the PointDensity filter is not exposed in ParaView but can be exposed with a simple xml plugin)
  • Click on the PointDensity in the pipeline browser
  • Filter -> RessampleWithDataSet
  • Destination Mesh -> Select your point dataset
  • Apply

Thank you Mathieu, that’s explained why its performance amazingly so good!!
I need to have a study of shaders.

Thank you Mathieu very much!!

This is very helpful, i will try this!

Best Regards,
Sharon

Hi Mathieu,

I followed your instruction, generally i got the result, but there are two problems:
<1> the first problem
I create myPointerDensityFilter which inherited from vtkPointDensityFilter, then write filter proxy in XML file, it works. but when i exposed some properties in the xml, program will crash at class “pqPipelineModel” line 393: it is show the source get from port is NULL

<2> the second one is when i use RessampleWithDataSet, my Destination Mesh is a vtkMultiBlockData, this is supported or not? because when i do this, program become dead, dont know what’s the reason…but i haven’t try if convert it into vtkPolyData. Any ideas?

Best Regards,
Sharon

This two issues are solved.
First one is because i made a mistake that use “doubleVector” for “int” value, after correct this, there is no crash.
For second one is also fixed after select right source and target mesh. Source should be density, and target mesh should be origin data point.