[Paraview] unknown properties returned by ListProperties?

Cory Quammen cory.quammen at kitware.com
Tue Mar 27 10:18:46 EDT 2018


Hi Roman,

I'm sorry I haven't had a chance to look at this further. Have you made any
more progress on this? I apologize for thinking it would be easy to hack
ParaView to better support loading multiple state files - it appears to be
more difficult than expected after all.

Best regards,
Cory

On Tue, Mar 20, 2018 at 12:13 PM, Grothausmann, Roman Dr. <
grothausmann.roman at mh-hannover.de> wrote:

> Many thanks Cory for your feedback. Not adding empty (None) properties did
> not help (http://github.com/romangrothausmann/ParaView_scripts/
> commit/d3af645dd1af2a). Anyway, "ForceUseCache" has a vector of value 0
> so it seems to me the actual problem still is that ListProperties() returns
> properties that are not part of the specific object that is calling
> ListProperties(). E.g. help(repr) does not list a property called
> "ForceUseCache" but e.g. "Visibility"
>
> So I decided to only restore the property "Visibility" for a start:
> http://github.com/romangrothausmann/ParaView_scripts/commit/
> d1c63f2682e834e
> Even though there is no error on execution any more, the resulting PVSM
> has only the visibilities set for the last loaded PVSM, i.e. the setting of
> the "Visibility" of representations loaded from former PVSMs did not have
> any effect.
> Is there a need to call some kind of Update() to make the property setting
> have any effect? I tried some rendering (http://github.com/romangrotha
> usmann/ParaView_scripts/commit/294ff85a0cc7a), but that did not help
> either.
>
>
> On 20/03/18 06:12, Cory Quammen wrote:
>
>> Roman,
>>
>> Looking at your original problem with the error:
>>
>>
>>     File "/opt/paraview-5.3.0_GL1/lib/paraview-5.3/site-packages/paraview/servermanager.py",
>> line 375, in SetPropertyWithName
>>       prop.SetData(arg)
>>     File "/opt/paraview-5.3.0_GL1/lib/paraview-5.3/site-packages/paraview/servermanager.py",
>> line 1296, in SetData
>>       self.SMProperty.AddProxy(value_proxy)
>> TypeError: AddProxy argument 1: method requires a VTK object
>>
>>
>> You are hitting this when attempting to set the DataAxesGrid, which is a
>> ProxyProperty. In your dictionary, this entry has value 'None', but it
>> looks like setting a property to value 'None' is not handled correctly in
>> servermanager.py. As a workaround, I suggest filtering out properties from
>> your dictionary that have 'None' as a value, i.e., do not add those
>> property values to your dictionary.
>>
>> HTH,
>> Cory
>>
>> On Mon, Mar 19, 2018 at 12:12 PM, Grothausmann, Roman Dr. <
>> grothausmann.roman at mh-hannover.de <mailto:grothausmann.roman at mh-
>> hannover.de>> wrote:
>>
>>     Hi Cory,
>>
>>
>>     Trying to find out what causes the former problems, I inserted a line
>> that
>>     just sets the property that got collected so far:
>>     https://github.com/romangrothausmann/ParaView_scripts/
>> commit/b8058f774535398da3767048219df12d6354e6c5#diff-2804420
>> 278bfff084788b82c715c452eR59
>>     <https://github.com/romangrothausmann/ParaView_scripts/
>> commit/b8058f774535398da3767048219df12d6354e6c5#diff-2804420
>> 278bfff084788b82c715c452eR59>
>>     It already aborts on the first property encountered (ForceUseCache):
>>
>>     <paraview.servermanager.GeometryRepresentation object at
>> 0x7f7b591fc250>
>>     ForceUseCache 0
>>     Traceback (most recent call last):
>>        File "/net/home/paraview/scripts/pvsm-multi.py", line 91, in
>> <module>
>>          main()
>>        File "/net/home/paraview/scripts/pvsm-multi.py", line 59, in main
>>          pvs.SetProperties(repr, **d)
>>        File
>>     "/opt/paraview-5.3.0_GL1/lib/paraview-5.3/site-packages/para
>> view/simple.py",
>>     line 567, in SetProperties
>>          raise AttributeError("object has no property %s" % param)
>>     AttributeError: object has no property ForceUseCache
>>
>>     Is ListProperties() returning properties that are not part of the
>> specific
>>     object that is calling ListProperties()?
>>
>>     Many thanks for any help or hints,
>>     Roman
>>
>>     On 21/12/17 16:06, Grothausmann, Roman Dr. wrote:
>>
>>         Hi Cory,
>>
>>         On 06/12/17 23:06, Cory Quammen wrote:
>>
>>             Sorry I failed to follow up. Did you find a solution to this
>> problem?
>>
>>
>>         Many thanks for your reply. No, and I'm still stuck. I tried Your
>>         suggestion to remove [0]
>>         (https://github.com/romangrothausmann/ParaView_scripts/
>> commit/e40d1016d698ee363500bb9bf04f29add89b99dd
>>         <https://github.com/romangrothausmann/ParaView_scripts/
>> commit/e40d1016d698ee363500bb9bf04f29add89b99dd>),
>>
>>         which changed the reported error from:
>>
>>             File
>>         "/opt/paraview-5.3.0_GL1/lib/paraview-5.3/site-packages/para
>> view/servermanager.py",
>>         line 375, in SetPropertyWithName
>>               prop.SetData(arg)
>>             File
>>         "/opt/paraview-5.3.0_GL1/lib/paraview-5.3/site-packages/para
>> view/servermanager.py",
>>         line 803, in SetData
>>               raise RuntimeError("This property requires %d values." %
>>         self.GetNumberOfElements())
>>         RuntimeError: This property requires 3 values.
>>
>>         to:
>>
>>             File
>>         "/opt/paraview-5.3.0_GL1/lib/paraview-5.3/site-packages/para
>> view/servermanager.py",
>>         line 375, in SetPropertyWithName
>>               prop.SetData(arg)
>>             File
>>         "/opt/paraview-5.3.0_GL1/lib/paraview-5.3/site-packages/para
>> view/servermanager.py",
>>         line 1296, in SetData
>>               self.SMProperty.AddProxy(value_proxy)
>>         TypeError: AddProxy argument 1: method requires a VTK object
>>
>>         Any ideas on this?
>>         Would You say it is a general problem in the py-code or could it
>> be
>>         caused by the content of the PVSMs I'm trying to combine?
>>
>>         Many thanks for looking into this.
>>         Roman
>>
>>
>>             This line in your script looks funny to me:
>>
>>             d[props] = pvs.GetProperty(repr, props[0])
>>
>>             Shouldn't props[0] just be props?
>>
>>             Thanks,
>>             Cory
>>
>>             On Fri, Nov 10, 2017 at 10:28 AM, Grothausmann, Roman Dr.
>>             <grothausmann.roman at mh-hannover.de
>>             <mailto:grothausmann.roman at mh-hannover.de>> wrote:
>>
>>                 Dear Cory,
>>
>>                 On 15/09/17 15:27, Grothausmann, Roman Dr. wrote:
>>
>>
>>                     On 15/09/17 15:14, Cory Quammen wrote:
>>
>>
>>                         Put a ** in front of reppro[i], e.g.,
>>
>>                         pvs.SetProperties(repr, **reppro[i])
>>
>>
>>                     Hm, I now get:
>>                     TypeError: SetProperties() argument after ** must be a
>>                     mapping, not list
>>                     Do I have to store the dict of object properties in
>> another
>>                     dict instead
>>                     of a list?
>>
>>
>>
>>                 With a dict of dicts
>>                 https://github.com/romangrothausmann/ParaView_scripts/
>> commit/3b309cc603433f02afc3e50656bd99f8b7cd0aa8#diff-2804420
>> 278bfff084788b82c715c452e
>>                 <https://github.com/romangrothausmann/ParaView_scripts/
>> commit/3b309cc603433f02afc3e50656bd99f8b7cd0aa8#diff-2804420
>> 278bfff084788b82c715c452e>
>>
>>                 I get:
>>
>>                     File "/net/home/grothama/paraview/s
>> cripts/pvsm-multi.py",
>>                 line 64, in main
>>                       pvs.SetProperties(repr, **reppro[i]);
>>                     File
>>                 "/opt/paraview-5.3.0_GL1/lib/p
>> araview-5.3/site-packages/paraview/simple.py",
>>                 line 568, in SetProperties
>>                       setattr(proxy, param, params[param])
>>                     File
>>                 "/opt/paraview-5.3.0_GL1/lib/p
>> araview-5.3/site-packages/paraview/servermanager.py",
>>
>>                 line 317, in __setattr__
>>                       setter(self, value)
>>                     File
>>                 "/opt/paraview-5.3.0_GL1/lib/p
>> araview-5.3/site-packages/paraview/servermanager.py",
>>
>>                 line 2528, in setProperty
>>                       return self.SetPropertyWithName(propName, value)
>>                     File
>>                 "/opt/paraview-5.3.0_GL1/lib/p
>> araview-5.3/site-packages/paraview/servermanager.py",
>>
>>                 line 375, in SetPropertyWithName
>>                       prop.SetData(arg)
>>                     File
>>                 "/opt/paraview-5.3.0_GL1/lib/p
>> araview-5.3/site-packages/paraview/servermanager.py",
>>
>>                 line 803, in SetData
>>                       raise RuntimeError("This property requires %d
>> values." %
>>                 self.GetNumberOfElements())
>>                 RuntimeError: This property requires 3 values.
>>
>>                 Any ideas what could still be wrong?
>>
>>
>>                             On 07/09/17 23:37, Cory Quammen wrote:
>>
>>
>>
>>                                 Hi Roman,
>>
>>                                 It turns out ParaView was not designed
>> for this
>>                                 use case because of
>>                                 certain difficulties discussed here:
>>
>>                                 https://gitlab.kitware.com/par
>> aview/paraview/issues/17442
>>                                 <https://gitlab.kitware.com/pa
>> raview/paraview/issues/17442>
>>
>>                                 In your Python script, you could manually
>> cash
>>                                 all the properties of
>>                                 the existing representations and restore
>> them
>>                                 after loading the most
>>                                 recent state file.
>>
>>                                 The functions
>>
>>                                 reprs = GetRepresentations()
>>                                 repr = reprs.values()[0]
>>                                 props = repr.ListProperties()
>>                                 GetProperty(repr, props[0])
>>
>>                                 would be helpful for this.
>>
>>                                 Cory
>>
>>
>>                                 On Mon, Sep 4, 2017 at 8:42 AM,
>> Grothausmann,
>>                                 Roman Dr.
>>                                 <grothausmann.roman at mh-hannover.de
>>                                 <mailto:grothausmann.roman at mh-hannover.de>>
>> wrote:
>>
>>
>>
>>                                     Dear mailing list members,
>>
>>
>>                                     It seems that PV (and
>>                                     paraview.simple.LoadState) by default
>> hides
>>                                     already
>>                                     loaded objects (and resets e.g. their
>>                                     coloring) when another
>>                                     state-file
>>                                     is
>>                                     loaded.
>>                                     Is there a way to load multiple
>> state-files
>>                                     after one another without
>>                                     hiding
>>                                     and resetting already existent
>> objects? I.e.
>>                                     a way to concatenate
>>                                     multiple
>>                                     state-files and leave their objects
>> in the
>>                                     state as they got loaded
>>                                     (e.g.
>>                                     colored, hidden/visible)?
>>                                     I do understand that loading a new
>>                                     state-file will reset the camera,
>>                                     but
>>                                     not
>>                                     the rest.
>>                                     Here's my initial attempt to achieve
>> this
>>                                     with pvpython:
>>
>>
>>                                     https://github.com/romangrotha
>> usmann/ParaView_scripts/blob/90eb4ca8499070bed941d50b89ebea8
>> 2fd6a9e23/pvsm-multi.py
>>                                     <https://github.com/romangroth
>> ausmann/ParaView_scripts/blob/90eb4ca8499070bed941d50b89ebea
>> 82fd6a9e23/pvsm-multi.py>
>>
>>
>>                                     Any help or hints are very much
>> appreciated
>>                                     Roman
>>
>>                                     --
>>  Dr. Roman Grothausmann
>>
>>                                     Tomographie und Digitale
>> Bildverarbeitung
>>                                     Tomography and Digital Image Analysis
>>
>>                                     Medizinische Hochschule Hannover
>>                                     Institut für Funktionelle und
>> Angewandte
>>                                     Anatomie
>>                                     OE 4120, Carl-Neuberg-Str. 1, 30625
>>                                     Hannover, Deutschland
>>
>>                                     Tel. +49 511 532-2900
>>                                     <tel:%2B49%20511%20532-2900>
>>                                     grothausmann.roman at mh-hannover.de
>>                                     <mailto:grothausmann.roman at mh-
>> hannover.de>
>>                                     http://www.mh-hannover.de/anat
>> omie.html
>>                                     <http://www.mh-hannover.de/ana
>> tomie.html>
>>                                     ______________________________
>> _________________
>>                                     Powered by www.kitware.com
>>                                     <http://www.kitware.com>
>>
>>                                     Visit other Kitware open-source
>> projects at
>>                                     http://www.kitware.com/opensou
>> rce/opensource.html
>>                                     <http://www.kitware.com/openso
>> urce/opensource.html>
>>
>>                                     Please keep messages on-topic and
>> check the
>>                                     ParaView Wiki at:
>>                                     http://paraview.org/Wiki/ParaView
>>                                     <http://paraview.org/Wiki/ParaView>
>>
>>                                     Search the list archives at:
>>                                     http://markmail.org/search/?q=
>> ParaView
>>                                     <http://markmail.org/search/?q
>> =ParaView>
>>
>>                                     Follow this link to
>> subscribe/unsubscribe:
>>                                     http://public.kitware.com/mail
>> man/listinfo/paraview
>>                                     <http://public.kitware.com/mai
>> lman/listinfo/paraview>
>>
>>
>>
>>
>>
>>
>>
>>                             --                             Dr. Roman
>> Grothausmann
>>
>>                             Tomographie und Digitale Bildverarbeitung
>>                             Tomography and Digital Image Analysis
>>
>>                             Medizinische Hochschule Hannover
>>                             Institut für Funktionelle und Angewandte
>> Anatomie
>>                             OE 4120, Carl-Neuberg-Str. 1, 30625 Hannover,
>>                             Deutschland
>>
>>                             Tel. +49 511 532-2900
>> <tel:%2B49%20511%20532-2900>
>>                             grothausmann.roman at mh-hannover.de
>>                             <mailto:grothausmann.roman at mh-hannover.de>
>>                             http://www.mh-hannover.de/anatomie.html
>>                             <http://www.mh-hannover.de/anatomie.html>
>>
>>
>>
>>
>>
>>
>>
>>                 --                 Dr. Roman Grothausmann
>>
>>                 Tomographie und Digitale Bildverarbeitung
>>                 Tomography and Digital Image Analysis
>>
>>                 Medizinische Hochschule Hannover
>>                 Institut für Funktionelle und Angewandte Anatomie
>>                 OE 4120, Carl-Neuberg-Str. 1, 30625 Hannover, Deutschland
>>
>>                 Tel. +49 511 532-2900 <tel:%2B49%20511%20532-2900>
>>                 grothausmann.roman at mh-hannover.de
>>                 <mailto:grothausmann.roman at mh-hannover.de>
>>                 http://www.mh-hannover.de/anatomie.html
>>                 <http://www.mh-hannover.de/anatomie.html>
>>
>>
>>
>>
>>
>>
>>     --     Dr. Roman Grothausmann
>>
>>     Tomographie und Digitale Bildverarbeitung
>>     Tomography and Digital Image Analysis
>>
>>     Medizinische Hochschule Hannover
>>     Institut für Funktionelle und Angewandte Anatomie
>>     OE 4120, Carl-Neuberg-Str. 1, 30625 Hannover, Deutschland
>>
>>     Tel. +49 511 532-2900 <tel:%2B49%20511%20532-2900>
>>     grothausmann.roman at mh-hannover.de <mailto:grothausmann.roman at mh-
>> hannover.de>
>>     http://www.mh-hannover.de/anatomie.html
>>     <http://www.mh-hannover.de/anatomie.html>
>>
>>
>>
>>
>> --
>> Cory Quammen
>> Staff R&D Engineer
>> Kitware, Inc.
>>
>
> --
> Dr. Roman Grothausmann
>
> Tomographie und Digitale Bildverarbeitung
> Tomography and Digital Image Analysis
>
> Medizinische Hochschule Hannover
> Institut für Funktionelle und Angewandte Anatomie
> OE 4120, Carl-Neuberg-Str. 1, 30625 Hannover, Deutschland
>
> Tel. +49 511 532-2900
> grothausmann.roman at mh-hannover.de
> http://www.mh-hannover.de/anatomie.html
>



-- 
Cory Quammen
Staff R&D Engineer
Kitware, Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/paraview/attachments/20180327/b62a6e8a/attachment.html>


More information about the ParaView mailing list