[Paraview] injecting objects from python

Gertjan van Zwieten gertjanvanzwieten at gmail.com
Tue Jun 19 09:00:41 EDT 2012


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
<dave.demarle at kitware.com>wrote:

> On Tue, Jun 19, 2012 at 7:24 AM, Gertjan van Zwieten
> <gertjanvanzwieten at gmail.com> 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 <hal at cs.unc.edu> 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
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20120619/f8c94cd8/attachment-0001.htm>


More information about the ParaView mailing list