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

Andy Bauer andy.bauer at kitware.com
Thu Sep 3 15:52:36 EDT 2015


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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20150903/6da89019/attachment.html>


More information about the ParaView mailing list