This works indeed. It's been a while since I have programmed in Python, I
should have thought of it :) Thank you very much!

Milos


On Thu, Sep 16, 2010 at 12:31 AM, pat marion <pat.mar...@kitware.com> wrote:

> Why not something like-
>
>
> import subprocess
>
> for f in filenames:
>   subprocess.call(["/path/to/pvpython", "process_single_dataset.py", f])
>
>
> Pat
>
>
> On Wed, Sep 15, 2010 at 5:35 PM, Milos Ilak <i...@mech.kth.se> wrote:
>
>> Hi,
>>
>> I have a related question. I would like to use the Python interface to
>> create movies of large datasets from .png files. Having the .pngs gives me
>> flexibility in encoding them. I know that ParaView can export animations as
>> .pngs files, but I would like to do this in offscreen mode and without
>> running the animation in ParaView first.
>>
>> I haven't been able to figure out how to run a single instance of ParaView
>> during every iteration of a loop over file names (or, say, camera angles)
>> within a Python script, i.e. open ParaView, work on one file, output a .png,
>> and then close ParaView.
>>
>> The fix below with clearing the pipeline each time seems to work, but I
>> was wondering if it would be possible to invoke ParaView 'from scratch'
>> during each call and how. Also, would there be any disadvantages to doing
>> that, as opposed to having a single instance of ParaView during the entire
>> loop and clearing the pipeline as below?
>>
>> I apologize if this has been discussed, but I haven't been able to find
>> any of those discussions if so.
>>
>> Milos
>>
>>
>>
>>
>>
>>
>> On Wed, Sep 15, 2010 at 10:12 PM, logari81 <logar...@googlemail.com>wrote:
>>
>>> Thank you for the quick response. You are right, what I actually need is
>>> to clear the pipeline. Your snippet seems to work well except some
>>> naming counters which are not reset but in my use case this isn't very
>>> important.
>>>
>>> Thanks a lot for your help.
>>>
>>> Best Regards
>>>
>>> Kostas
>>>
>>> On Wed, 2010-09-15 at 15:49 -0400, pat marion wrote:
>>> > If your intention is to just clear the pipeline, try this code, copied
>>> > from the paraview coprocessor template:
>>> >
>>> > def GetProxiesToDelete():
>>> >     iter = servermanager.vtkSMProxyIterator()
>>> >     iter.Begin()
>>> >     tobedeleted = []
>>> >     while not iter.IsAtEnd():
>>> >       if iter.GetGroup().find("prototypes") != -1:
>>> >          iter.Next()
>>> >          continue
>>> >       proxy = servermanager._getPyProxy(iter.GetProxy())
>>> >       proxygroup = iter.GetGroup()
>>> >       iter.Next()
>>> >       if proxygroup != 'timekeeper' and proxy != None and
>>> > proxygroup.find("pq_helper_proxies") == -1 :
>>> >           tobedeleted.append(proxy)
>>> >
>>> >     return tobedeleted
>>> >
>>> > # explicitly delete the proxies -- we do it this way to avoid problems
>>> > with prototypes
>>> > tobedeleted = GetProxiesToDelete()
>>> > while len(tobedeleted) > 0:
>>> >    Delete(tobedeleted[0])
>>> >    tobedeleted = GetProxiesToDelete()
>>> >
>>> >
>>> > On Wed, Sep 15, 2010 at 3:21 PM, pat marion <pat.mar...@kitware.com>
>>> > wrote:
>>> >         I'm afraid your use case is not well supported.  There is
>>> >         logic in the paraview gui application that ensures a clean
>>> >         disconnect, which includes a hard reset of the python
>>> >         interpreter context.  Using only python modules, there is
>>> >         manual clean up required after a disconnect that is not yet
>>> >         supported.
>>> >
>>> >         You might find that your script still works, you'll just be be
>>> >         spammed with those error messages.  Also, try calling
>>> >         Connect() instead of servermanager.Disconnect(...).  This will
>>> >         disconnect & reconnect a little more cleanly, but still not
>>> >         perfect.
>>> >
>>> >         Pat
>>> >
>>> >
>>> >
>>> >
>>> >         On Wed, Sep 15, 2010 at 2:52 PM, logari81
>>> >         <logar...@googlemail.com> wrote:
>>> >                 In the meanwhile I have realized that the error occurs
>>> >                 only when I
>>> >                 include a Delete() statement in my script. Thus the
>>> >                 following very
>>> >                 simple script reproduces the error:
>>> >
>>> >                 import sys
>>> >                 sys.path.append('/usr/lib/paraview')
>>> >                 from paraview.simple import *
>>> >                 cone = Cone()
>>> >                 Delete(cone)
>>> >
>>> servermanager.Disconnect(servermanager.ActiveConnection)
>>> >
>>> >                 Hopefully someone can explain this behavior.
>>> >
>>> >                 Best Regards
>>> >
>>> >                 Kostas
>>> >
>>> >
>>> >
>>> >                 On Wed, 2010-09-15 at 18:59 +0200, logari81 wrote:
>>> >                 > Hi,
>>> >                 >
>>> >                 > actually I have the same question as in this
>>> >                 previous email:
>>> >                 >
>>> >                 >
>>> >
>>> http://www.paraview.org/pipermail/paraview/2008-March/007506.html
>>> >                 >
>>> >                 > I use the python interface in an application that I
>>> >                 am developing and I
>>> >                 > import paraview with:
>>> >                 >
>>> >                 > from paraview.simple import *
>>> >                 >
>>> >                 > During the import a connection to the builtin server
>>> >                 is also established
>>> >                 > silently. Though, in my application I need to clear
>>> >                 the pipeline
>>> >                 > occasionally in order to begin with a new output, so
>>> >                 I tried
>>> >                 > disconnecting from the server with:
>>> >                 >
>>> >                 >
>>> >
>>> servermanager.Disconnect(servermanager.ActiveConnection)
>>> >                 >
>>> >                 > but I receive the error:
>>> >                 >
>>> >                 > ERROR:
>>> >                 >
>>> >                 In
>>> /build/buildd/paraview-3.8.0/Servers/Common/vtkProcessModuleConnectionManager.cxx,
>>> line 175
>>> >                 > vtkProcessModuleConnectionManager (0x1d33240):
>>> >                 Invalid connection ID: 5
>>> >                 >
>>> >                 > This behavior is tested with ParaView 3.8.0 on
>>> >                 Ubuntu 10.04.
>>> >                 >
>>> >                 > I would be glad for any hints.
>>> >                 >
>>> >                 > Kind Regards
>>> >                 >
>>> >                 > Kostas
>>> >                 >
>>> >
>>> >
>>> >                 _______________________________________________
>>> >                 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
>>> >
>>> >                 Follow this link to subscribe/unsubscribe:
>>> >                 http://www.paraview.org/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
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.paraview.org/mailman/listinfo/paraview
>>>
>>
>>
>>
>> --
>>  Miloš Ilak
>> Linné Flow Centre
>> KTH Mechanics, Stockholm
>> +46(0) 8 790-7152
>> www2.mech.kth.se/~ilak <http://www2.mech.kth.se/%7Eilak/>
>>
>>
>>
>


-- 
Miloš Ilak
Linné Flow Centre
KTH Mechanics, Stockholm
+46(0) 8 790-7152
www2.mech.kth.se/~ilak <http://www2.mech.kth.se/%7Eilak/>
_______________________________________________
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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview

Reply via email to