Progress! Thanks to the incredibly helpful Trance functionality, I understand now that something like
=================== *snip* =================== calc1 = pv.Calculator( ResultArrayName = '|psi|^2' ) calc1.AttributeMode = 'point_data' calc1.Function = 'psi__X^2 + psi__Y^2' [...] psi_lookup_table = pv.GetLookupTableForArray( '|psi|^2', 1 ) ) data_representation.ColorArrayName = '|psi|^2' =================== *snap* =================== will get me pretty close to where I want to be; except that Function() is limited to whatever help( calc1 ) just told me. -- Conditionals / atan2()? --Nico On Thu, Jun 16, 2011 at 3:45 PM, Nico Schlömer <nico.schloe...@gmail.com> wrote: > Also, when > > ======================== *snip* ======================== >>>> >>>> import paraview.simple > paraview version 3.10.1, Date: 2011-01-28 >>>> calc1 = paraview.simple.servermanager.filters.Calculator() >>>> help( calc1 ) >>>> > ======================== *snip* ======================== > > I don't see how to apply math.atan2() to two components of an input > vector: Exactly those functions appear to be documented which are > available in the GUI. Hmm... > > --Nico > > > > On Thu, Jun 16, 2011 at 3:24 PM, Nico Schlömer <nico.schloe...@gmail.com> > wrote: >>> See the manual for the syntax. >> >> Where can I find that? The ParaView User's Guide >> <www.paraview.org/files/v1.6/ParaViewUsersGuide.PDF> isn't too verbose >> on any of that. >> The Wiki, on the other hand, seems to contain a fair amount of >> examples. Specifically, I've looked at >> <http://www.paraview.org/Wiki/Python_Programmable_Filter> to see about >> programmable filters. >> >> Unfortunately, this hasn't gotten me very far, as I'm lacking >> understanding of the entities used in the examples. >> Questions I asked myself were: >> * What do I need to do to fetch my point data: >> self.GetPolyDataInput()? self.GetInputDataObject(0, 0)? Or simply >> self.GetInput()? >> * How do I access point data then? >> * Do I have to create a new vector and feed this into some sort of >> output thing? >> >> Is there a documentation as to what methods are available for those types? >> >> The input file is Exodus, if that makes any difference. >> >> If there's a tutorial for this kind of stuff, I'll be happy to go >> through it; otherwise I'd appreciate your help here. >> >> Cheers, >> Nico >> >> >> >> >> >> >> On Wed, Jun 8, 2011 at 6:17 PM, David E DeMarle >> <dave.dema...@kitware.com> wrote: >>> Also the standard calculator does have conditionals, there just isn't a >>> button corresponding to them on the UI. See the manual for the syntax. >>> David E DeMarle >>> Kitware, Inc. >>> R&D Engineer >>> 28 Corporate Drive >>> Clifton Park, NY 12065-8662 >>> Phone: 518-371-3971 x109 >>> >>> >>> On Wed, Jun 8, 2011 at 12:16 PM, David E DeMarle <dave.dema...@kitware.com> >>> wrote: >>>> >>>> The python programmable filter (and the easier to use python programmable >>>> calculator variant of that) will get you beyond all of those limitations. >>>> David E DeMarle >>>> Kitware, Inc. >>>> R&D Engineer >>>> 28 Corporate Drive >>>> Clifton Park, NY 12065-8662 >>>> Phone: 518-371-3971 x109 >>>> >>>> >>>> On Wed, Jun 8, 2011 at 12:11 PM, Nico Schlömer <nico.schloe...@gmail.com> >>>> wrote: >>>>> >>>>> > If you want to do arbitrary arithmetic, you will have to first >>>>> > generate the array using something like a "Calculator" filter and then >>>>> > color using the generated array. >>>>> >>>>> Oh, if I remember correctly I did look into this before, and found the >>>>> calculator filter too limited on the arithmetics that you could >>>>> perform. Is it still the case that you have a set of like ten >>>>> functions (add, multiply, sine, cosine,...) to mix and match? I need >>>>> to to something like >>>>> >>>>> for x in data_values: >>>>> if x[0] > 0 and x[1] > 0 >>>>> return bla >>>>> elseif ... >>>>> >>>>> -- atan2() that is. >>>>> >>>>> >>>>> > Yes, RGBPoints defines the mapping between scalar and color. It's a >>>>> > list of 4 tuples (scalar, r, g, b), repeated sequentially. >>>>> >>>>> Hm, I'll look into it. Where's the proper spot for documentation of this? >>>>> >>>>> Cheers, >>>>> Nico >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Wed, Jun 8, 2011 at 5:25 PM, Utkarsh Ayachit >>>>> <utkarsh.ayac...@kitware.com> wrote: >>>>> > Magnitude corresponds to the magnitude of a vector, so yes, it takes >>>>> > the square root. >>>>> > >>>>> > If you want to do arbitrary arithmetic, you will have to first >>>>> > generate the array using something like a "Calculator" filter and then >>>>> > color using the generated array. >>>>> > >>>>> > Yes, RGBPoints defines the mapping between scalar and color. It's a >>>>> > list of 4 tuples (scalar, r, g, b), repeated sequentially. >>>>> > >>>>> > Utkarsh >>>>> > >>>>> > On Wed, Jun 8, 2011 at 11:19 AM, Nico Schlömer >>>>> > <nico.schloe...@gmail.com> wrote: >>>>> >> Thanks for the hints. >>>>> >> >>>>> >> The Trace function in indeed quite useful in that it get you where you >>>>> >> want to be. When looking at the code there's still a lot of me to >>>>> >> understand though, the GetLookupTableForArray() call seems to be >>>>> >> crucial for example. >>>>> >> >>>>> >> * The VectorMode='Magnitude' parameter seems to be responsible for >>>>> >> merging the two components into one scalar, but I'm not quite sure how >>>>> >> this is done: with a sqrt() or without? Is is possible to customize >>>>> >> this? I'd like to have something like ATAN2 there as well. >>>>> >> >>>>> >> * Is the RGBPoints=[0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0], >>>>> >> parameter responsible for the colormap? >>>>> >> >>>>> >> Cheers, >>>>> >> Nico >>>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>> >> On Wed, Jun 8, 2011 at 3:13 PM, Utkarsh Ayachit >>>>> >> <utkarsh.ayac...@kitware.com> wrote: >>>>> >>> The following wiki page talks about how to color using arrays: >>>>> >>> >>>>> >>> http://www.paraview.org/Wiki/ParaView/Python_Scripting#Representations_and_Views >>>>> >>> >>>>> >>> The easiest way to figure out Python code equivalents is to use the >>>>> >>> Trace functionality to generate python trace files for actions >>>>> >>> performed in the GUI (accessible from Tools menu). You "Start Trace", >>>>> >>> do a set of actions and then "Stop Trace" and you should be able to >>>>> >>> view the resulting Python code. >>>>> >>> >>>>> >>> Utkarsh >>>>> >>> >>>>> >>> >>>>> >>> >>>>> >>> On Wed, Jun 8, 2011 at 9:05 AM, Nico Schlömer >>>>> >>> <nico.schloe...@gmail.com> wrote: >>>>> >>>> Hi, >>>>> >>>> >>>>> >>>> I'm just taking first steps with ParaView's Python interface and >>>>> >>>> figured out so far that >>>>> >>>> >>>>> >>>> ================ *snip* ================ >>>>> >>>> exodusReader = ExodusIIReader( FileName="solution.e" ) >>>>> >>>> Show( exodusReader ) >>>>> >>>> Render() >>>>> >>>> ================ *snap* ================ >>>>> >>>> >>>>> >>>> would plot the mesh that is stored in the ExodusII file solution.e, >>>>> >>>> and that can play around with GetActiveView() to adjust camera >>>>> >>>> angles >>>>> >>>> and such. >>>>> >>>> >>>>> >>>> What I haven't found out though is how to plot actual point data. I >>>>> >>>> get >>>>> >>>> >>>>> >>>> >>>>> >>>>>>> exodusReader.PointData[:] >>>>> >>>> [Array: GlobalNodeId, Array: PedigreeNodeId, Array: A, Array: psi, >>>>> >>>> Array: thickness] >>>>> >>>> >>>>> >>>> and l'm looking at the 2-component array "psi". For example, I'd >>>>> >>>> like >>>>> >>>> to do something like >>>>> >>>> >>>>> >>>> res = sqrt( component1**2 + component2**2 ) >>>>> >>>> >>>>> >>>> and have res[:] rendered on the mesh with a certain color map. >>>>> >>>> >>>>> >>>> Any hints? >>>>> >>>> >>>>> >>>> Cheers, >>>>> >>>> Nico >>>>> >>>> _______________________________________________ >>>>> >>>> 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