Home > Uncategorized > Paraview. Can it be even considered “open”-source?

Paraview. Can it be even considered “open”-source?

I’ve been working on a poster for a research conference, and decided to try my hand at generating nice plots using gnuplot, tecplot, and paraview. Paraview is “open-source” and can handle a variety of datasets. It touts itself as a great tool with tons of features.

In reality, paraview is fairly difficult to use. It’s not intuitive. You can’t import data easily (csv, text). Best of all, Kitware charges for documentation!

While paraview may technically give their source away, I argue that it is not “open”. First. if paraview was indeed “open” in spirit, why do they charge for documentation? Now I don’t care so much about all the nitty gritty details. I just want to be able to find a doc with information about it’s python classes and write a little filter to import 3D point data + faces. However, to my knowledge, no such document really exists. At least it’s not in the top 3 or 4 pages of google search, which means if it does exists, it’s been hidden.

Second, if paraview was “open”, why is CSV not properly supported? I just wanted to plot data from a spreadsheet/matrix/whatever. Why do I even need to use a python filter to read a file and import it?

Also, I will grip about how the doxygen docs are next to unusable. They aren’t even in alphabetical order!

In conclusion, while the features exist in paraview as Kitware hypes it up to be, paraview, at this point in time, can’t really be an open-source application and is entirely unusable for general purposes. Yes, there are nifty filters, which, after you spend a few hours trying to figure how to operate work spectacularly well. Yes, it does do a lot of nifty things, like create movies, extract surfaces, and points. There are a whole slew of things that are nice about paraview. However, the following “issues”, mar whatever Kitware claims paraview to be:

  • Lack of any useful documentation, aside from learning how the interface works (Yes, the GUI and pipeline system are SO intuitive that you need to look at a manual to operate. I will say that it is more user friendly than blender, which doesn’t mean much.
  • Inflexibility in importing data. If I can’t import my data, how can I even render/plot/manipulate it?

Therefore, Paraview is open-source, as in “I show you the source”, but it fails in being “open”-source, as they blatantly withold information from you. It is nothing less than intellectual blackmail. I think I will stop trying to use paraview for the time being. It’s a big waste-of-time/time sink. Five hours of messing around just to try to get a contour plot and I still haven’t gotten it to work. Although I think I figured out how to do it theoretically, ideally I would modify the python programmable source filters. However, as I mentioend before, there is no documentation on it that is useful. I just want to add mesh data via faces.

Categories: Uncategorized Tags:
  • VizPractitioner

    The author demonstrates an breath-taking entitlement mentality and lack of technical prowess. Rather than complain, why don’t you write some documentation under a suitable open-source license? or extend the code to do what you want? Open-source communities depend on people to contribute, not sit back and snipe. Finally, Kitware, Sandia, Los Alamos, and the other contributors to ParaView have spent much money and effort to bring the product to the point it is now, what does it matter if they choose to redeem some of the costs by selling books? The code is open-source under a BSD-license; maybe you expect the developers to show up at your doorstep and install and run the software for you too. I suggest that you stop carping and start doing something useful, start by providing useful criticism and contributing to the community in a real way.

    • http://jonblog.wong.lan Jon

      I will just outline a few points, and perhaps make another clarification post.
      1. If it wasn’t clear, I like the feature set of paraview (even though there are some pretty silly bugs). The big problem is documentation.
      2. Lots of open source projects suffer from the attitude of saying that they put a lot of effort into their work and they don’t have time to put it into docs. Then they complain about people harping that their product is “unusable” and “poorly documented”. So what if it’s “free”. Products are rated on their usefulness above all else. Paraview is useful, but it is not intuitive. In order to convince users (which are the ultimate source of revenue, one way or another) there must be enough documentation to allow a user to learn how to use a tool in a fairly short amount of time (days-weeks), otherwise your “market-share” will not be large, and you will not be able to gain enough revenue to “make-up” for the effort that you put in. (which shouldn’t be the reason you open source anything anyways).

  • http://kitware.com/company/team/geveci.html Berk Geveci

    Hi Jon,

    Thank you for your comments on ParaView. It is valuable feedback. I want to address some of the issues you brought up.

    Reading csv and/or text files: ParaView can now read csv files. This feature will be in the 3.6 release which we are working on releasing now. Also, ParaView can read other text based formats such as VTK (http://vtk.org/VTK/img/file-formats.pdf) and Xdmf (XML) (http://www.xdmf.org). The reason we have poor support for text-based file formats lies in the user-driven development process of ParaView. First and foremost, ParaView is used for visualizing large, 3D datasets. This is what ParaView users, developers and those that fund its development focus on. Text-based file formats tend to be very inefficient for large data. Therefore, we have worked on mostly binary formats – you may have noticed that we support a large number of those. You will also notice that ParaView’s 2D plotting and charting support is limited compared to Gnuplot and Tecplot, which are outstanding in that area. ParaView does not do certain simple things that Gnuplot and Tecplot have been doing for a long time; for example vector graphics output or an easy way of creating carpet plots. We will add some of these features in time but it has not been a high priority.

    You will also notice that although you can load csv files in 3.6 (or cvs head), you may not be able to visualize them the way you expect – without writing a custom filter. What is the topology of your dataset? (i.e. uniform rectilinear, curvilinear etc.) We have filters to convert tables from csv files to curvilinear grids or point clouds. My recommendation would be to write a simple converter from csv to ascii VTK files (I would use the legacy format, it is easier to learn).

    “ParaView is not intuitive”: I admit ParaView is “close to the metal”. It exposes a lot of the programming model of the underlying toolkit, VTK. Although this makes ParaView harder to learn in the beginning, it provides enormous flexibility, which is essential when visualizing complicated and very large datasets – you don’t want to be stuck after loading a dataset on a 128 node cluster because your visualization tool does not support a certain feature. This probably makes ParaView a time sink if you can’t achieve what you want to do but it is valuable feature if it is suitable to your workflow.

    Lack of documentation: I agree with you partially here. Because of different reasons than you have. ParaView is a typical open-source project. It has community developed documentation that is available online. The basic documentation, which you read, is at http://paraview.org/OnlineHelpCurrent/ and available through the help menu. But more importantly, there are a large number of articles available on the ParaView Wiki (http://paraview.org/Wiki/ParaView). I would highly recommend the tutorials, specially http://paraview.org/Wiki/SNL_ParaView_3_Tutorials and http://paraview.org/Wiki/SC08_ParaView_Tutorial. The online documentation and the Wiki are more comprehensive than the book when it comes to using ParaView, as it should be.

    Kitware has a book on ParaView and we sell this book. We also write and make available freely available documentation that is sometimes poorly organized. This situation is no different than that of many other open-source projects. A search on Python, R or Gnuplot using Amazon’s web site results in a large number of books. There is no conspiracy here. Ideally, the online documentation would be well organized and would include some information about all core features of ParaView – we are working towards this – and the Wiki would cover anything more advanced – which it does.

    In summary, I partially agree with the “lack of any useful documentation” part. The reason is simple: it is more fun to write code than it is to write documentation. The feature that you needed help on (reading a csv file using the Python programmable filter) is not documented in the book at all. It is somewhat documented at http://paraview.org/Wiki/Python_Programmable_Filter and http://paraview.org/Wiki/Here_are_some_more_examples_of_simple_ParaView_3_python_filters.

    One last comment, about “Also, I will gripe about how the doxygen docs are next to unusable. They aren’t even in alphabetical order!”. The doxygen docs are indeed in alphabetical order although this may not be obvious to the beginner. You have to first take out the prefix, which may be vtk, pq, vtkPV or vtkSM depending on where the class comes from. To write programmable filter code, you also need the VTK doxygen at http://www.vtk.org/doc/nightly/html/classes.html (and it is alphabetical if you take out the vtk prefix).

    I am glad you gave ParaView a chance. If you change your mind about using ParaView, the ParaView community would be happy to help – visit our mailing list.

    • http://jonblog.wong.lan Jon

      Thanks for the information. I actually lied about dropping it. In fact, I just submitted some strange Y-axis tick bug, and I used a few pictures made by paraview on the poster I’m making for a conference, since it is the only way I can create a nice X dpi image.
      I agree with you that writing code is more fun.

  • Juan

    Paraview has always been a frustrating experience for me. I just started experimenting with ViSit today, and at first glance appears more intuitive and it is documented. I’m impressed.

    https://wci.llnl.gov/codes/visit/

  • CThib

    @Juan
    I mostly agree with the original poster’s frustrations. I’ve spent several work days trying to post process CFD results. I’ve had some success, but the approach I was forced to take has been absurdly complex and time consuming.

    I’ve resorted to Fortran and rendering the data with GNUPLOT.

    As I understand it, Paraview was written under contract with NASA, with the stipulation that the resulting ‘product’ become open source. I actually didn’t think KitWare was purposefully holding documentation. They do have a Paraview PRO license that claims they will give you technical support, so maybe there’s something to the original poster’s claims.

    I’m trying VisIT per your suggestion, and I’m already jumping for joy.