[Paraview] Isosurface and slicing with Catalyst in C++
Dorier, Matthieu
mdorier at anl.gov
Thu Sep 3 12:14:58 EDT 2015
Hi,
Following your advice I installed the version of Catalyst that includes Python and started trying the examples (https://github.com/Kitware/ParaViewCatalystExampleCode)
I tried the CxxMappedDataArrayExample and the CxxImageDataExample; in both cases I get an error from the script:
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "feslicescript.py", line 78, in DoCoProcessing
File "/home/mdorier/Catalyst-build/lib/site-packages/paraview/coprocessing.py", line 104, in UpdateProducers
self.CreatePipeline(datadescription)
File "feslicescript.py", line 34, in CreatePipeline
File "feslicescript.py", line 17, in _CreatePipeline
filename_3_pvtu = coprocessor.CreateProducer( datadescription, "input" )
File "feslicescript.py", line 20, in Pipeline
Slice1.SliceType.Offset = 0.0
File "/home/mdorier/Catalyst-build/lib/site-packages/paraview/simple.py", line 1481, in CreateObject
elif active_objects.source:
File "/home/mdorier/Catalyst-build/lib/site-packages/paraview/simple.py", line 1690, in get_source
self.__get_selection_model("ActiveSources").GetCurrentProxy())
File "/home/mdorier/Catalyst-build/lib/site-packages/paraview/simple.py", line 1684, in __convert_proxy
servermanager._getPyProxy(px.GetSourceProxy()),
AttributeError: GetSourceProxy
Any idea what is happening? Are the scripts outdated?
Thanks,
Matthieu
________________________________
From: Berk Geveci [berk.geveci at kitware.com]
Sent: Wednesday, September 02, 2015 4:23 PM
To: Andy Bauer
Cc: Dorier, Matthieu; paraview at paraview.org
Subject: Re: [Paraview] Isosurface and slicing with Catalyst in C++
One thing I want to clarify with respect to what Andy said. Figuring out parallel rendering in VTK is tricky but from ParaView be it C++ or Python, it is much easier. We are here to provide help.
Having said this, if you think that you will be changing your in situ functionality regularly, I would also highly recommend the Python route. If you are planning to build in a relatively fix in situ capability, C++ is a decent option. I would still recommend getting there through the Python route. Once you have everything figured out, we can help convert things to C++.
Best,
-berk
On Wed, Sep 2, 2015 at 12:01 PM, Andy Bauer <andy.bauer at kitware.com<mailto:andy.bauer at kitware.com>> wrote:
Hi Matthieu,
I would strongly recommend that you use a ParaView GUI generated Python Catalyst pipeline script instead of hand-written C++ Catalyst pipeliine to do what you want. There are a surprising amount of settings required to output images from VTK. If you want to do that in parallel the complexity goes up even more due to parallel compositing of the images. Everyone that I've run across that wanted to avoid Python with their Catalyst instrumented code quickly changed their mind after trying out the Python generated scripts. The overhead of using Python really is negligible compared to a pure C++ description of the Catalyst pipeline. Also, the Catalyst Live and Cinema output are all driven by Python code as well.
The last and only time I tried doing rendering in parallel in VTK it took me about 5 days and that was with constantly asking questions from other people here at Kitware that knew how to do that.
That being said, if after reading this you're still set on doing all of this in C++ then let us know and we'll see what can be done.
Regards,
Andy
On Wed, Sep 2, 2015 at 2:38 PM, Dorier, Matthieu <mdorier at anl.gov<mailto:mdorier at anl.gov>> wrote:
Hi,
I'm diving into Catalyst and try to build a pipeline in C++ for an simple example code. My use case is the following:
I have a uniform 3D grid (converted into vtkImageData) on which I map a field of double values (wrapped into a vtkDoubleArray).
By looking at the examples I managed to make the adaptor that creates the grid and maps the field on it. Now I would like to build pipelines for 2 scenarios:
- slicing the grid horizontally at a given level, apply a color map, and output the result in a PNG file;
- building an isosurface from the 3d grid (with configurable isovalue) and print the result in a PNG file.
In both cases I don't know which classes to look at in the Doxygen of VTK. Besides, I suppose for the second case there should be some concept of camera position and parameters...
Any hint or examples would be appreciated.
Thanks,
Matthieu Dorier
_______________________________________________
Powered by www.kitware.com<http://www.kitware.com>
Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
Search the list archives at: http://markmail.org/search/?q=ParaView
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview
_______________________________________________
Powered by www.kitware.com<http://www.kitware.com>
Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
Search the list archives at: http://markmail.org/search/?q=ParaView
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20150903/e0ff614a/attachment.html>
More information about the ParaView
mailing list