[Paraview] Isosurface and slicing with Catalyst in C++

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Mon Sep 7 15:49:57 EDT 2015


Matthieu,

I can certainly reproduce the problem with 4.3 Catalyst editions. Let
me track it down. I'll get back to you.

Utkarsh

On Thu, Sep 3, 2015 at 11:03 PM, Dorier, Matthieu <mdorier at anl.gov> wrote:
> Hi Andy,
>
> I got the Catalyst source from the dowload page
> (http://www.paraview.org/download/): paraview version 4.3 (latest stable),
> Catalyst Editions, last file
> (Catalyst-base+essentials+extra+renderingbase+python-Source.tar.gz).
> The version of python-dev is 2.7 (don't remember the minor version number, I
> could look it up if necessary).
>
> Thanks,
>
> Matthieu
> ________________________________
> From: Andy Bauer [andy.bauer at kitware.com]
> Sent: Thursday, September 03, 2015 2:52 PM
> To: Dorier, Matthieu
> Cc: Berk Geveci; paraview at paraview.org
>
> Subject: Re: [Paraview] Isosurface and slicing with Catalyst in C++
>
> Hi Matthieu,
>
> What version of ParaView Catalyst did you use? My suggestion would be to use
> PV 4.3.1 if you're not using that. It's possible that the examples haven't
> been updated for the current PV master. I keep trying to set aside time to
> have a dashboard check that nightly but haven't gotten around to do that
> yet.
>
> Cheers,
> Andy
>
> On Thu, Sep 3, 2015 at 12:14 PM, Dorier, Matthieu <mdorier at anl.gov> wrote:
>>
>> 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>
>> 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> 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
>>>>
>>>> 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
>>>
>>> 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
>
> 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
>


More information about the ParaView mailing list