<div dir="ltr"><div><div class="gmail_signature">Dear all,</div><div class="gmail_signature"><br></div><div class="gmail_signature">I am doing proper orthogonal decomposition on a openfoam data set. The last step is to calculate the weighted sum of given timesteps of the dataset. But I found it is very difficult to do it in programmable filter because of 3 reasons:</div><div class="gmail_signature"><br></div><div class="gmail_signature">1. In programmable filter it is difficult to pass weight vector to the Script;</div><div class="gmail_signature">2. In script of programmable filter, the locals() returns: [self, inputs, output, request], in which <i>self </i>is vtkPythonProgrammableFilter, <i>inputs </i>is a list of CompositeDataSet, <i>output </i>is CompositeDataSet, and <i>request </i>is vtkInformation. I do not know how to use it; And according to the blog [<a href="http://berkgeveci.github.io/2014/09/02/programmable-filter/">http://berkgeveci.github.io/2014/09/02/programmable-filter/</a>], I cannot loop over all timesteps in vtkPythonProgrammableFilter; The author of the blog recommend using vtkPythonAlgorithm, but</div><div class="gmail_signature">3. I do not know how to use vtk filters such as vtkPythonAlgorithm in paraview. </div><div class="gmail_signature"><br></div><div class="gmail_signature">I have tried some methods. But none of them worked. </div><div class="gmail_signature">I tried to find how TemporalStatistics filter is implemented.</div><div class="gmail_signature">I referred the code in this pipermail [<a href="http://www.paraview.org/pipermail/paraview/2009-March/011443.html">http://www.paraview.org/pipermail/paraview/2009-March/011443.html</a>], it does not request different timestep. But only used timestep values passed with inputs;</div><div class="gmail_signature"><br></div><div class="gmail_signature">I read this article on wiki[<a href="http://www.paraview.org/Wiki/Time_in_ParaView">http://www.paraview.org/Wiki/Time_in_ParaView</a>]. But I am still confused. I tried >>>reader1.UpdatePipeline(t1)</div><div class="gmail_signature">>>>reader2.UpdatePipeline(t2)</div><div class="gmail_signature">The information tab in paraview shows different "Current  data time" in reader1 and reader2. But if I use ProgrammableFilter to use reader1 and reader2 as inputs, it seems that the result is controlled by VCR time on the top of paraview GUI.</div><div class="gmail_signature"><br></div><div class="gmail_signature">Some more frustrating problem is because of the complexity of proxies/servermanager structure of paraview, I cannot access the vtk Object behind of paraview proxies. Even if I can write a vtk class in python like what Berk Geveci did in his blog [<a href="http://berkgeveci.github.io/2014/11/09/streaming-time/">http://berkgeveci.github.io/2014/11/09/streaming-time/</a>], I cannot use it in paraview directly. </div><div class="gmail_signature"><br></div><div class="gmail_signature">My question is:</div><div class="gmail_signature">What can I do next to calculate weighted sum of given timesteps in paraview?</div><div class="gmail_signature"><br></div><div class="gmail_signature">Thanks.</div><div class="gmail_signature"><br></div><div class="gmail_signature">Di CHENG<br><br>Institute of Mechanics, Chinese Academy of Sciences<br>No.15 Beisihuanxi Road, Beijing (100190)<br>P. R. China<br>E-mail: <a href="mailto:chengdi@imech.ac.cn" target="_blank">chengdi@imech.ac.cn</a><br>Tel.: +86-15801594911<br></div></div>
</div>