[Paraview] Insert text source into view in a script

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Thu Jul 16 10:34:19 EDT 2009


Marco,

Looks like Pat ran into this issue recently as well. He's investigating it.

Utkarsh

On Thu, Jul 16, 2009 at 5:12 AM, M. Nawijn<nawijn at gmail.com> wrote:
> I just found out the offending line that gives me the problem.
> Given the following code:
>
> from paraview.simple import *
>
> lt = MakeBlueToRedLT(-1.0, 1.0)
>
> bar = servermanager.rendering.ScalarBarWidgetRepresentation()
> bar.LookupTable = lt
> bar.LabelColor = [0.0, 1.0, 0.0]
> bar.Title      = r'W [mm]'
> bar.TitleColor = [0.0, 1.0, 0.0]
> bar.LabelFontSize = 14
> bar.AspectRatio   = 15.0
> bar.AutomaticLabelFormat = 0
>
> reader = XMLUnstructuredGridReader(FileName='disp-stage-%d.vtu' % 17)
>
> Show()
> Render()
>
> #UpdatePipeline()
>
> view = GetActiveView()
> view.Background = [0,0,0]
> ResetCamera(view)
> view.UseOffscreenRenderingForScreenshots = 0
>
> dp = GetDisplayProperties()
> dp.ColorArrayName = 'W'
>
> rep = GetRepresentation()
> rep.LookupTable = lt
>
> view.Representations.append(bar)
>
> # Don't know how to get this into the view
> text = Text()
> text.Text = "Hello"
>
> Show()
> Render()
>
> WriteImage('test.png')
>
> The code fails to add the text if I have the following line enabled:
>
>     view.Representations.append(bar)
>
> If I uncomment this line, the text is added to the view as expected.
> Does anybody have a clue why this is?
>
> I added the traceback below:
>
> vtkFileSeriesReader : [ ...........]
> vtkPVGeometryFilter : [ ...........]
> vtkPVCacheKeeper : [ ...........]
> vtkPainterPolyDataMapper : [ ...........]
> vtkPainterPolyDataMapper : [ ...........]
> vtkPainterPolyDataMapper : [ ...........]
> Traceback (most recent call last):
>  File "test3.py", line 42, in <module>
>    Show()
>  File "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py",
> line 112, in Show
>    rep = GetDisplayProperties(proxy, view)
>  File "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py",
> line 101, in GetDisplayProperties
>    return GetRepresentation(proxy, view)
>  File "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py",
> line 90, in GetRepresentation
>    rep = servermanager.GetRepresentation(proxy, view)
>  File "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/servermanager.py",
> line 1989, in GetRepresentation
>    if rep.Input == aProxy:
>  File "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/servermanager.py",
> line 357, in __getattr__
>    return getattr(self.SMProxy, name)
> AttributeError: Input
>
> Kind regards,
>
> Marco
>
>
>
> On Wed, Jul 15, 2009 at 10:33 PM, M. Nawijn<nawijn at gmail.com> wrote:
>> The script works. Somehow it seems like it does not work in
>> combination with my reader.
>>
>> Many thanks for your help. I have to go now, but I hope you have another idea.
>>
>> Kind regards,
>>
>> Marco
>>
>> On Wed, Jul 15, 2009 at 10:27 PM, Utkarsh
>> Ayachit<utkarsh.ayachit at kitware.com> wrote:
>>> Oops correction, I had a typo in the script:
>>> #=======================
>>> from paraview.simple import *
>>> Sphere()
>>> Show()
>>> Render()
>>>
>>> t = Text()
>>> t.Text = "Hello World"
>>> Show()
>>> Render()
>>> #=======================
>>>
>>>
>>>
>>> On Wed, Jul 15, 2009 at 4:25 PM, Utkarsh
>>> Ayachit<utkarsh.ayachit at kitware.com> wrote:
>>>> Does the following script work:
>>>> #=======================
>>>> from paraview.simple import *
>>>> Sphere()
>>>> Show()
>>>> Render()
>>>>
>>>> t = Text()
>>>> t.Text = "Hello World"
>>>> t.Show()
>>>> Render()
>>>> #=======================
>>>>
>>>> Utkarsh
>>>>
>>>>
>>>> On Wed, Jul 15, 2009 at 4:23 PM, M. Nawijn<nawijn at gmail.com> wrote:
>>>>> Hello Utkarsh,
>>>>>
>>>>> Thank you for the fast response. I tried this already before posting
>>>>> my question to the mailing list, however, when I inserted the Show(),
>>>>> I get the following error:
>>>>>
>>>>> vtkFileSeriesReader : [ ...........]
>>>>> vtkPainterPolyDataMapper : [ ...........]
>>>>> vtkPainterPolyDataMapper : [ ...........]
>>>>> Traceback (most recent call last):
>>>>>  File "test3.py", line 39, in <module>
>>>>>    Show()
>>>>>  File "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py",
>>>>> line 112, in Show
>>>>>    rep = GetDisplayProperties(proxy, view)
>>>>>  File "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py",
>>>>> line 101, in GetDisplayProperties
>>>>>    return GetRepresentation(proxy, view)
>>>>>  File "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py",
>>>>> line 90, in GetRepresentation
>>>>>    rep = servermanager.GetRepresentation(proxy, view)
>>>>>  File "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/servermanager.py",
>>>>> line 1989, in GetRepresentation
>>>>>    if rep.Input == aProxy:
>>>>>  File "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/servermanager.py",
>>>>> line 357, in __getattr__
>>>>>    return getattr(self.SMProxy, name)
>>>>> AttributeError: Input
>>>>>
>>>>>
>>>>> Any suggestions?
>>>>>
>>>>> On Wed, Jul 15, 2009 at 10:17 PM, Utkarsh
>>>>> Ayachit<utkarsh.ayachit at kitware.com> wrote:
>>>>>> "Text" is a data source similar to the reader. You need to  "Show" it
>>>>>> to add it to the active view.
>>>>>>
>>>>>> Just do:
>>>>>> load = 100.0
>>>>>> # Don't know how to get this into the view
>>>>>> text = Text()
>>>>>> text.Text = "Load %6.3f" % load
>>>>>> Show()
>>>>>>
>>>>>> Utkarsh
>>>>>>
>>>>>> On Wed, Jul 15, 2009 at 4:01 PM, M. Nawijn<nawijn at gmail.com> wrote:
>>>>>>> Hello,
>>>>>>>
>>>>>>> I am a newbie in Paraview Python scripting, so I apologize upfront if
>>>>>>> this is a trivial question.
>>>>>>>
>>>>>>> I am processing a set of datafiles obtained from an optical
>>>>>>> measurement system. I so far succeeded in loading the data file,
>>>>>>> adding a color legend and storing the resulting view in a image file.
>>>>>>> Sample code is posted below.
>>>>>>>
>>>>>>> What I would like to do next is add a text source to the view to
>>>>>>> provide some contextual information about the data (in particular the
>>>>>>> external load level at which the data was captured). I managed to add
>>>>>>> a text source to an "empty" view (so without first reading the data),
>>>>>>> but I cannot find a way to have the data and text source together.
>>>>>>>
>>>>>>> Can someone explain how I can add this to the view?
>>>>>>>
>>>>>>> Kind regards,
>>>>>>>
>>>>>>> Marco
>>>>>>>
>>>>>>> #==== What I have so far ===================================================
>>>>>>>
>>>>>>> from paraview.simple import *
>>>>>>>
>>>>>>> lt = MakeBlueToRedLT(-1.0, 1.0)
>>>>>>>
>>>>>>> bar = servermanager.rendering.ScalarBarWidgetRepresentation()
>>>>>>> bar.LookupTable = lt
>>>>>>> bar.LabelColor = [0.0, 1.0, 0.0]
>>>>>>> bar.Title      = r'W [mm]'
>>>>>>> bar.TitleColor = [0.0, 1.0, 0.0]
>>>>>>> bar.LabelFontSize = 14
>>>>>>> bar.AspectRatio   = 15.0
>>>>>>> bar.AutomaticLabelFormat = 0
>>>>>>>
>>>>>>> reader = XMLUnstructuredGridReader(FileName='disp-stage-%d.vtu' % 17)
>>>>>>>
>>>>>>> Show()
>>>>>>>
>>>>>>> #UpdatePipeline()
>>>>>>>
>>>>>>> view = GetActiveView()
>>>>>>> view.Background = [0,0,0]
>>>>>>> ResetCamera(view)
>>>>>>> view.UseOffscreenRenderingForScreenshots = 0
>>>>>>>
>>>>>>> dp = GetDisplayProperties()
>>>>>>> dp.ColorArrayName = 'W'
>>>>>>>
>>>>>>> rep = GetRepresentation()
>>>>>>> rep.LookupTable = lt
>>>>>>>
>>>>>>> view.Representations.append(bar)
>>>>>>>
>>>>>>> load = 100.0
>>>>>>> # Don't know how to get this into the view
>>>>>>> text = Text()
>>>>>>> text.Text = "Load %6.3f" % load
>>>>>>>
>>>>>>> # Image does not show the text
>>>>>>> WriteImage('test.png')
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


More information about the ParaView mailing list