[Paraview] Some questions about Catalyst Live Visualization

Adam Lyon lyon at fnal.gov
Fri Oct 30 10:20:11 EDT 2015


Hi Andy - thanks for the answers!! You misunderstood my question #2. I'm
not reporting a bug -- the adapter works fine and feeds data appropriately.
Right now my code to translate my data objects to VTK objects runs no
matter what. I'd like this code to only run if a ParaView client is
actually connected (because if there's no client connected then it's making
VTK objects that no human is looking at, so it's wasting time). So I'd like
to know if there's a way that my code could ask the adapter if a client is
connected. I hope I explained that better - let me know if not.

Yes - I'll post a YouTube video shortly!! Having this capability (live view
of processing) was an important thing on my list for making ParaView useful
to us High Energy Physicists -- we're excited that it works.

Thanks again,  Adam

*------*

*Adam L. Lyon*
*Scientist; Associate Division Head for Systems for Scientific Applications*

Scientific Computing Division & Muon g-2 Experiment
Fermi National Accelerator Laboratory
630 840 5522 office
www.fnal.gov
lyon at fnal.gov

Connect with us!
Newsletter <http://www.fnal.gov/pub/today/>  |  Facebook
<https://www.facebook.com/Fermilab>  |  Twitter
<https://twitter.com/Fermilab>

On Fri, Oct 30, 2015 at 8:33 AM, Andy Bauer <andy.bauer at kitware.com> wrote:

> Hi Adam,
>
> To rename the objects in the pipeline, you should be able to do:
> simSteps = coprocessor.CreateProducer(datadescription, 'simSteps')
> RenameSource('simSteps', simSteps)
> simCalHits = coprocessor.CreateProducer(datadescription, 'simCalHits')
> RenameSource('simCalHits', simCalHits)
>
> Please let me know if this doesn't work for you. Also, now that you
> mention it, this should be done automatically anyway so I'll put in a
> feature request for this since I like the idea a lot.
>
> As for not generating the VTK polydata object when no client is connected,
> this might be due to the adaptor implementation or a bug in the live
> functionality. I can't say for sure at this point but will check it out on
> our end in the near future. For the adaptor, the execution flow is that
> first the adaptor should call RequestDataDescription() of any Catalyst
> pipelines to see if there's any work to be done. Check the result of
> RequestDataDescription() to see if anything needs to be done. If not,
> return control to the simulation. If there is work to be done, create the
> VTK data objects and then call DoCoprocessing(). In this use case it's
> possible that RequestDataDescription() isn't checking whether or not a
> client is connected to see if there's something to do. Realistically, it's
> here where it should see if the client is connected or if there are any
> other Catalyst outputs that need to be generated. I'm on travel this week
> so I can't check on this easily but hope to try it out next week. I'll get
> back to you when I do though.
>
> As for implementing an "advance to next time step" functionality, that
> makes sense to me as well. That will take a little bit of work (not much
> but nothing that can be fixed in the Python script alone).
>
> By the way, can you share any pictures or videos of this in action? This
> sounds really cool!
>
> Best regards,
> Andy
>
>
> On Thu, Oct 29, 2015 at 5:51 PM, Adam Lyon <lyon at fnal.gov> wrote:
>
>> Hi, I have recently been successful in hooking up Catalyst to our
>> Particle Physics analysis framework that we use at Fermilab. Our main use
>> case is to make an "event display" - that is a visualization of a high
>> energy physics event (e.g. particle collision) in a simulated detector. The
>> Catalyst Live feature allows us to connect ParaView to a running analysis
>> or simulation job and visualize the events as they're being processed. It's
>> very cool. This is typically a program difficult to write - but Catalyst
>> and ParaView make this much easier.
>>
>> This is a bit different from CFD simulations -- for us each "time step"
>> in an independent event. But the system works really well and many here are
>> excited about it.
>>
>> I have three questions (so far) about the Catalyst Live system...
>>
>> 1) The VTK objects appear in the connected ParaView client as
>> "PVTrivialProducer0", "PVTrivialProducer1", etc. The catalyst pipeline
>> knows the real names of these objects. For example I have in my catalyst
>> pipeline python script,
>>
>> ...
>> simSteps = coprocessor.CreateProducer(datadescription, 'simSteps')
>> simCalHits = coprocessor.CreateProducer(datadescription, 'simCalHits')
>> ...
>> [that's the only stuff in the pipeline]
>>
>> Is there some way to have "simSteps" and "simCalHits" show up in my
>> ParaView client instead of "PVTrivialProducer0", etc?
>>
>> 2) Our analysis framework converts our data objects into VTK objects for
>> feeding to Catalyst (usually vtkPolyData). This is a potentially expensive
>> operation. If no ParaView client is connected to the Catalyst port, then
>> there's no reason for this translation to occur (we just using the Live
>> visualization feature at the moment). Is there a way for the adapter (e.g.
>> the vtkCPProcessor object) to discover if a ParaView client is connected?
>> That would save time if no one is connected.
>>
>> 3) In addition to setting breakpoints on time steps (events for us), it
>> would be nice to have a "single step" feature that would simply allow the
>> program to advance to the next one. Is that possible to do from python
>> within ParaView?
>>
>> Thanks!!! -- Adam
>>
>> *------*
>>
>> *Adam L. Lyon*
>> *Scientist; Associate Division Head for Systems for Scientific
>> Applications*
>>
>> Scientific Computing Division & Muon g-2 Experiment
>> Fermi National Accelerator Laboratory
>> 630 840 5522 office
>> www.fnal.gov
>> lyon at fnal.gov
>>
>> Connect with us!
>> Newsletter <http://www.fnal.gov/pub/today/>  |  Facebook
>> <https://www.facebook.com/Fermilab>  |  Twitter
>> <https://twitter.com/Fermilab>
>>
>> _______________________________________________
>> 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/20151030/234b9a99/attachment.html>


More information about the ParaView mailing list