[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