<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi, Pat.<br>
<br>
Here is an example that recreates the problem. Using this as a CSV
file:<br>
<br>
AAA,BBB,CCC,DDD<br>
0.0,1.0,2.0,3.0<br>
0.0,2.0,4.0,8.0<br>
0.0,3.5,2.5,1.5<br>
<br>
and this (modified python trace) as a script run from the python
shell in paraview:<br>
----------------------------------------------------------------<br>
try: paraview.simple<br>
except: from paraview.simple import *<br>
paraview.simple._DisableFirstRenderCameraReset()<br>
<br>
test_csv = CSVReader( FileName=['test.csv'] )<br>
<br>
AnimationScene1 = GetAnimationScene()<br>
RenderView1 = GetRenderView()<br>
Delete(RenderView1)<br>
SpreadSheetView1 = CreateRenderView()<br>
SpreadSheetView1.ViewTime = 0.0<br>
<br>
AnimationScene1.ViewModules = SpreadSheetView1<br>
<br>
PlotData1 = PlotData()<br>
<br>
XYChartView1 = CreateXYPlotView()<br>
XYChartView1.ViewTime = 0.0<br>
<br>
DataRepresentation2 = Show()<br>
DataRepresentation2.XArrayName = 'AAA'<br>
DataRepresentation2.AttributeType = 'Row Data'<br>
DataRepresentation2.SeriesVisibility = ['vtkOriginalIndices', '0']<br>
<br>
AnimationScene1.ViewModules = [ SpreadSheetView1, XYChartView1 ]<br>
<br>
Render()<br>
<br>
p = DataRepresentation2.SMProxy.GetProperty("SeriesNamesInfo")<br>
series_names = [p.GetElement(i) for i in
xrange(p.GetNumberOfElements())]<br>
print "series_names:", series_names<br>
----------------------------------------------------------------<br>
<br>
I get back <br>
<br>
series_names: []<br>
<br>
Thanks for any suggestions.<br>
<br>
Greg<br>
<br>
<br>
On 10/06/2011 12:46 PM, Greg Schussman wrote:
<blockquote cite="mid:4E8E0585.1080104@slac.stanford.edu"
type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
Hi, Pat.<br>
<br>
On further checking, there's still some sort of problem.<br>
<br>
When I use your example below, it works in ParaView's Python
Shell, if the PlotData filter was created via the ParaView gui.
However, if it was created in the macro (using the text from a
python trace of how it was created via the gui), then your example
produces an empty list. The PlotData filter created in the macro
does show up on the screen and look correct; but the series names
aren't accessible.<br>
<br>
Does this provide any useful clues?<br>
<br>
Thanks.<br>
<br>
Greg<br>
<br>
On 10/06/2011 11:49 AM, pat marion wrote:
<blockquote
cite="mid:CAMetC=RUYJwVDcYKgzUHQvtGT+zJG2Kj_zRVQDqE_GFOazY24w@mail.gmail.com"
type="cite">Hi Greg,<br>
<br>
I think I found a bug, or else I don't quite understand what is
happening. It seems that under certain circumstances the python
layer fails to wrap all the properties of a proxy. I look into
this, but for now you can work around the issue by accessing the
c++ api:<br>
<br>
<style type="text/css">
p, li { white-space: pre-wrap; }
</style>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size: 13pt; color:
rgb(0, 0, 0);">>>> p =<br>
rep.SMProxy.GetProperty("SeriesNamesInfo")</span></p>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size: 13pt; color:
rgb(0, 0, 0);">>>> series_names = [p.GetElement(i)
for i in<br>
xrange(p.GetNumberOfElements())]</span></p>
<br>
<br>
Pat<br>
<br>
<div class="gmail_quote">On Thu, Oct 6, 2011 at 2:34 PM, Greg
Schussman <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:schussman@slac.stanford.edu">schussman@slac.stanford.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000"> Hi, Pat.<br>
<br>
I tried plotting directly from the CSVReader, and then it
all works. But when my programmable filter is in
between, there's a problem. When I apply the plot filter
(via ParaView's GUI) to my programmable filter, the plot
works fine in the gui, but the
GetProperty("SeriesNameInfo") returns None. However, if
I skip the programmable filter, and plot the CSV reader
directly, then GetProperty("SeriesNameInfo") does what you
say it should.<br>
<br>
Anyway, I think I can skip my programmable filter for now,
and get this working dircetly.<br>
<br>
Thanks so much for what you've provided.
<div class="im"><br>
<br>
Greg<br>
<br>
<br>
On 10/06/2011 11:10 AM, pat marion wrote: </div>
<div>
<div class="h5">
<blockquote type="cite">Are you sure that the chart
view is the active view when you call
GetDisplayProperties(p)? If the render view is
active, you'll get the wrong representation. I
verified that this works for Wavelet --> Plot
Data filter using PV 3.10.1.<br>
<br>
Pat<br>
<br>
<div class="gmail_quote">On Thu, Oct 6, 2011 at 2:03
PM, Greg Schussman <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:schussman@slac.stanford.edu"
target="_blank">schussman@slac.stanford.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt
0pt 0pt 0.8ex; border-left: 1px solid rgb(204,
204, 204); padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000">
<div> On 10/06/2011 07:33 AM, pat marion
wrote:
<blockquote type="cite">series_names = [name
for name in
d.GetProperty("SeriesNamesInfo")]</blockquote>
</div>
<font size="+1"><font face="Droid Serif"><br>
Hi, Pat.<br>
<br>
Thanks for the helpful pointers. <br>
<br>
After setting everything up in ParaView
(3.10.1, 64-bit), I'm not getting
results. Here is what I did from the
ParaView Python Shell:<br>
<br>
</font></font>
<div>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier';
font-size: 10pt; color: rgb(0, 0, 0);">>>>
p<br>
=<br>
<br>
FindSource("PlotData1")</span></p>
</div>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size:
10pt; color: rgb(0, 0, 0);">>>>
rep<br>
=<br>
<br>
GetDisplayProperties(p)</span></p>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size:
10pt; color: rgb(0, 0, 0);">>>><br>
<br>
rep.GetProperty("SeriesNamesInfo")</span></p>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size:
10pt; color: rgb(0, 150, 0);">None</span></p>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size:
10pt; color: rgb(0, 0, 0);">>>> </span></p>
<font size="+1"><font face="Droid Serif"><br>
While, at the same time, the Object
Inspector shows 27 series, each with the
correct name.<br>
<br>
Does something need to be updated or
refreshed first? I notice in the pvblot
script, there is a <br>
<br>
rep.Update()<br>
<br>
but when I try that in ParaView's python
shell (after getting the representation
the way I showed above), it tells me:<br>
</font></font>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size:
10pt; color: rgb(0, 0, 0);">>>><br>
rep.Update()</span></p>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size:
10pt; color: rgb(255, 0, 0);">Traceback<br>
(most recent call last):</span></p>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size:
10pt; color: rgb(255, 0, 0);"> File<br>
"<console>", line 1, in<br>
<br>
<module></span></p>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size:
10pt; color: rgb(255, 0, 0);"> File<br>
<br>
"/usr/lib64/paraview/site-packages/paraview/servermanager.py",<br>
<br>
line 370, in __getattr__</span></p>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size:
10pt; color: rgb(255, 0, 0);"> return<br>
getattr(self.SMProxy, name)</span></p>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size:
10pt; color: rgb(255, 0, 0);">AttributeError:<br>
Update</span></p>
<p style="margin: 0px; text-indent: 0px;"><span
style="font-family: 'Courier'; font-size:
10pt; color: rgb(0, 0, 0);">>>> </span></p>
<br>
<font size="+1"><font face="Droid Serif">Thanks!<br>
<font color="#888888"> <br>
Greg<br>
<br>
<br>
</font></font></font> </div>
</blockquote>
</div>
<br>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>