VTK Competitor: Paraview?

Hi all,

just want to be honest in front of you all end-users and developers.
I have been having hard time to make VTK work when I want to build CylinderExample, here is my post about it:

I want to test and play with VTK in C++ and Python, even convert some of C++ codes to Python if I could… read the website it said that VTK still needs to convert some C++ codes examples to Python.

But, if I can’t even install it then just to be frank, maybe I have to find alternative. Anyone here know the best alternative that can do what VTK do?
I browse and get Paraview as the alternative…

Mainly I want to do these things:

  1. Poisson Surface Reconstruction
  2. Implicit Modelling
  3. Volume Rendering
  4. Town Modelling with GIS
    Explore this visualisation and beyond. Sounds fun and exciting.
    Thanks all and have a good day.

Believe that with VTK we can create our own house or rocket without the need to hire thousands of scientists…

Hi,

I understand your frustration. Years ago when I first got in touch with VTK that was also mine. C++ has a smooth learning curve. VTK is one of the most difficult libraries out there to configure and build. CMake syntax is a bit exotic, etc. If you’re not well acquainted with software configuring and building, VTK can be challenging indeed. I can say that only perseverance and repetition will do. The only way to grow muscle is by practicing, practicing, practicing and… practicing.

As for Paraview, it is a user friendly front end to VTK, not actually a competitor. The only serious competitor to VTK I know of is ThermoFisher’s OpenInventor. As you already guessed by the owner company (a manufacturer of high-end scientific equipment), it costs thousands of dollars a license, even for academic users.

It seems to me that your needs are more of an end-user, then you’re better off with something like Paraview, ArcGis, GMsh, etc. VTK is a high abstraction level API to lower level hardware-accelerated graphics API (e.g. OpenGL) intended to developers of scientific visualization applications, not to end-users.

take care,

Paulo

3 Likes

Hi Paulo,

good day to you and thanks for replying.
Frustration is indeed exist in my head now. It is more challenging than installing any other packages I have installed.
Due to my limited 4 GB RAM I have to wait for a day to finish compiling. And when it fails repeating with another script is quite stressful but you are right. Practice makes perfect and muscles… never give up is the key.

I see in tutorial out there Paraview using VTK. Meaning VTK is the kernel of visualization, the bottom of the food chain or top of pyramid. VTK is the best since it is open sourced. For ThermoFisher’s OpenInventor it is more or less like MATLAB and Mathematica.

I will try ArcGIS, GMSh and Paraview thanks for your suggestion. But I never say I will give up with VTK. I love challenge just needs some practice, time and the right methods to build and install it right.

Thank You.

Like suggested to you before, you can use a pre-built version of vtk for Python rather than building it yourself. You still have a tone of Python examples available out there. If you are worried about speed, because of Python. Don’t be, it is the same C++ code that is running with a Python interface.

You might be wondering how to install VTK for python. Well simply by running pip install vtk.

I want to build it simply because I want to learn C++ examples in VTK as well.
It works now the basic build…

But from what I have read, Python is slower than C++ since C++ is closer to machine, even if it takes longer scripts.

Hello,

Python’s role is to call VTK functionality that runs natively (machine code). Performance figures are expected to be the same as if you call VTK API from a C++ program. Python starts to lag if you implement too much processing (that is, too many loops) in pure Python code. Python is what is termed “glue code”: a high level code used to link and coordinate high performing lower level libraries to create end-user workflows.

take care,

Paulo

Just a side note. Learning C++ and learning VTK should be two different goals.
Learning VTK from C++ or Python should mostly be the same as they both call VTK/C++ API.

The big difference, is that by starting with Python, you will skip all the C++ compilation hurdle that is not specific to VTK. But you will still be able to understand VTK logic and how to leverage it.

So bundling C++ & VTK in your learning path is definitely going to be though.

2 Likes

Thank you for the explanation here Paulo. Take care too.
C++ is better than Python in terms of processing a lot of information and data.

You can do big data in Python too, but doing it “the pythonic way”, that is relaying the number crunching to modules in native code (e.g. SciPy, NumPy, TensorFlow, etc.).

Just to be clear, VTK is C++!
So doing VTK in Python, will be as fast as C++ code.