<div dir="ltr"><div>Hi Adam,<br><br></div>To rename the objects in the pipeline, you should be able to do:<br><div>simSteps = coprocessor.CreateProducer(datadescription, 'simSteps')<br></div><div>RenameSource('simSteps', simSteps)<br></div>simCalHits = coprocessor.CreateProducer(datadescription, 'simCalHits')<br><div>RenameSource('simCalHits', simCalHits)<br><br></div><div>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.<br><br></div><div>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.<br><br></div><div>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).<br><br></div><div>By the way, can you share any pictures or videos of this in action? This sounds really cool!<br><br></div><div>Best regards,<br></div><div>Andy<br></div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 29, 2015 at 5:51 PM, Adam Lyon <span dir="ltr"><<a href="mailto:lyon@fnal.gov" target="_blank">lyon@fnal.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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. <div><br></div><div>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. </div><div><br></div><div>I have three questions (so far) about the Catalyst Live system...</div><div><br></div><div>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, </div><div><br></div><div>...</div><div>simSteps = coprocessor.CreateProducer(datadescription, 'simSteps')</div><div>simCalHits = coprocessor.CreateProducer(datadescription, 'simCalHits')<br></div><div>...</div><div>[that's the only stuff in the pipeline]</div><div><br></div><div>Is there some way to have "simSteps" and "simCalHits" show up in my ParaView client instead of "PVTrivialProducer0", etc?</div><div><br></div><div>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. </div><div><br></div><div>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? </div><div><br></div><div>Thanks!!! -- Adam</div><div><br></div><div><div><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><div style="font-size:12.8px"><i><font color="#999999">------</font></i></div></div><div><i><font color="#999999"><br></font></i></div><div><b><font color="#3d85c6">Adam L. Lyon</font></b></div><div><i><font color="#999999">Scientist; Associate Division Head for Systems for Scientific Applications</font></i></div><div><span style="font-family:Arial;font-size:9pt"><font color="#999999"><i><br></i></font></span></div><div><font color="#3d85c6">Scientific Computing Division & Muon g-2 Experiment</font></div><div><font color="#999999">Fermi National Accelerator Laboratory</font></div><div><font color="#999999"><a href="tel:630%20840%205522" value="+16308405522" target="_blank">630 840 5522</a> office</font></div><div><font color="#999999"><a href="http://www.fnal.gov" target="_blank">www.fnal.gov</a></font></div><div><font color="#999999"><a href="mailto:lyon@fnal.gov" target="_blank">lyon@fnal.gov</a></font></div><div><font color="#999999"><br></font></div><div><font color="#999999">Connect with us!</font><br><font color="#9fc5e8"><span style="font-size:12.8px"><a href="http://www.fnal.gov/pub/today/" target="_blank">Newsletter</a></span><span style="font-size:12.8px">  |  <a href="https://www.facebook.com/Fermilab" target="_blank"><span>Facebook</span></a>  |  <a href="https://twitter.com/Fermilab" target="_blank"><span>Twitter</span></a></span></font></div></div></div></div></div></div></div></div></div></div></div>
</div></div>
<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
<br></blockquote></div><br></div>