Ok, it seems that the programmable source is not my ideal solution but it may serve, I will try playing around with it. The coprocessing library looks closer to what I had in mind, thanks for the suggestion! I will check it out. If I make progress I will report back here on my experiences.
On Tue, Jun 19, 2012 at 1:56 PM, David E DeMarle <[email protected]>wrote: > On Tue, Jun 19, 2012 at 7:24 AM, Gertjan van Zwieten > <[email protected]> wrote: > > Hi Hal, thanks for your quick reply and the example code. That's very > > helpful. I do have these remaining questions that perhaps you could help > me > > with: > > > > In your experience, is a programmable source a suitable place to call a > > potentially long running finite element code? > > ParaView is single threaded so the GUI will be non-responsive while > the simulation runs unless you get very creative. > > > Is it possible to update the data structure while it is already being > > displayed, that is, before the script finishes? > > There is no support in ParaView for this. The primary reasons being > its single threaded nature and pull pipeline architecture. It can and > has been done before (with open source all things are possible given > time) but it took significant effort and was never done robustly > enough to make it into the official code repository. Search the > mailing list for livedata and coprocessing for discussions on this > topic. > > > And is it possible to have a programmable source output multiple data > sets > > if necessary? > > Hal is right, the right thing to do is produce vtkMultiblockData. > > > > > Thanks again! > > Gertjan > > > > You should also investigate ParaView's coprocessing library as an option. > http://paraview.org/Wiki/CoProcessing > > > > > On Tue, Jun 19, 2012 at 12:44 PM, Hal Canary <[email protected]> wrote: > >> > >> On 06/19/2012 06:10 AM, Gertjan van Zwieten wrote: > >>> > >>> [...] > >>> > >>> So my question is simply if it is possible to inject objects from > python > >>> into an already running or separately spawned paraview instance? If so, > >>> any pointers in that direction (an example script?) would of course be > >>> enormously helpful. > >> > >> > >> I use a programmable source. Here's a macro to create an image: > >> > >> ##################### > >> script=""" > >> image = self.GetImageDataOutput() > >> image.SetSpacing(0.01,0.01,0.01) > >> image.SetOrigin(0,0,0) > >> image.SetDimensions(101,101,101) > >> array = numpy.zeros((101,101,101,), dtype=numpy.float32) > >> space = numpy.linspace(0,1,101) > >> for i,x in enumerate(space): > >> for j,y in enumerate(space): > >> for k,z in enumerate(space): > >> array[i,j,k] = (math.sin(4*x) > >> + math.sin(4*y) + math.sin(4*z)) > >> image.GetPointData().AddArray( > >> paraview.vtk.dataset_adapter.numpyTovtkDataArray( > >> array.reshape(101*101*101), name="myarray")) > >> """ > >> script_request_information = """ > >> from paraview import util > >> util.SetOutputWholeExtent(self, [0, 100, 0, 100, 0, 100]) > >> """ > >> ps = ProgrammableSource( > >> guiName="My Source", > >> Script=script, > >> ScriptRequestInformation=script_request_information, > >> OutputDataSetType='vtkImageData' ) > >> Show(ps) > >> ################################### > >> _______________________________________________ > >> 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 > > >
_______________________________________________ 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
