Re: [Paraview] calculator filter via python

2009-01-07 Thread Utkarsh Ayachit
Alas there's no way for the python programmable filter to ask for a
particular timestep currently. This should be remedied soon. Feel free
to add a bug report at:
www.paraview.org/Bug

Thanks
Utkarsh

On Fri, Jan 2, 2009 at 4:00 PM, Peter Brady petertbr...@gmail.com wrote:
 I don't think I can do what I originally intended via the calculator
 filter due to the need to access the data in center[i][k] which is a
 data array in my script but the function parser won't know what to do
 with it.  I was able to make some good progress using the programmable
 filter and the information on the wiki.

 My main question at this point is how do I access the time data from
 the programmable filter?  I am using multiblockdatasets.

 Thanks,
 Peter.

 On Fri, Jan 2, 2009 at 11:04 AM, Peter Brady petertbr...@gmail.com wrote:
 Hello all,

 I am trying to do calculations based on coordinate locations.  In the
 GUI I can simply select 'coordsX', 'coordsY', 'coordsZ'.  From python
 things seem to be more complicated.  I've tried the snippet below with
 several variations and keep getting errors

 calc_radius = servermanager.filters.Calculator(Input=g_cont)
 calc_radius.AddCoordinateScalarVariable('coordsX', 0)
 calc_radius.Function =
 'sqrt((coordsX-center[i][0])^2+(coordsY-center[i][1])^2+(coordsZ-center[i][2])^2)'
 calc_radius.UpdatePipeline()

 I've also tried
 calc_radius.AddCoordinateScalarVariable('coordsX')
 but I get the error:
 calc_radius.AddCoordinateScalarVariable('coordsX')
 TypeError: __call__() takes exactly 1 argument (2 given)

 I've also tried using the scalar array name ('G' in this case) in
 place of coordsX but have met the same error message.

 What is the correct way of doing this?

 Also, I've tried using the PV-Dump.py script that was suggested to me
 previously but am met with the error:

 Traceback (most recent call last):
  File console, line 1, in module
  File string, line 33, in allToPython
  File string, line 48, in proxiesToPython
  File string, line 149, in __orderProxies
 AttributeError: 'NoneType' object has no attribute 'groups'

 The offending lines are:
 def __orderProxies( proxies ):
Returns an array, where each entry contains the names of the proxies 
 that
depend on the previous array entry.
patternName   = re.compile(' *XMLName: *(.*)')
patternValues = re.compile(' *Values: *(.*)')
patternHex= re.compile('^0x[0-9a-f]+$')
pmanager  = servermanager.ProxyManager()

dependencies  = {}# COLLECT DEPS
for group in proxies: # For each proxy
  for name in proxies[group]:
dependencies[group+':'+name] = {} # Init its 
 depend.
proxy = proxies[group][name]

for prop in proxy:
 148  match = patternName.search( str(prop) )
 149  propName  = match.groups()[0]

 I was hoping that this script would be very helpful.  Anyone else have
 similar problems?

 Thanks in advance for your help,
 Peter.

 ___
 ParaView mailing list
 ParaView@paraview.org
 http://www.paraview.org/mailman/listinfo/paraview

___
ParaView mailing list
ParaView@paraview.org
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] calculator filter via python

2009-01-02 Thread Peter Brady
I don't think I can do what I originally intended via the calculator
filter due to the need to access the data in center[i][k] which is a
data array in my script but the function parser won't know what to do
with it.  I was able to make some good progress using the programmable
filter and the information on the wiki.

My main question at this point is how do I access the time data from
the programmable filter?  I am using multiblockdatasets.

Thanks,
Peter.

On Fri, Jan 2, 2009 at 11:04 AM, Peter Brady petertbr...@gmail.com wrote:
 Hello all,

 I am trying to do calculations based on coordinate locations.  In the
 GUI I can simply select 'coordsX', 'coordsY', 'coordsZ'.  From python
 things seem to be more complicated.  I've tried the snippet below with
 several variations and keep getting errors

 calc_radius = servermanager.filters.Calculator(Input=g_cont)
 calc_radius.AddCoordinateScalarVariable('coordsX', 0)
 calc_radius.Function =
 'sqrt((coordsX-center[i][0])^2+(coordsY-center[i][1])^2+(coordsZ-center[i][2])^2)'
 calc_radius.UpdatePipeline()

 I've also tried
 calc_radius.AddCoordinateScalarVariable('coordsX')
 but I get the error:
 calc_radius.AddCoordinateScalarVariable('coordsX')
 TypeError: __call__() takes exactly 1 argument (2 given)

 I've also tried using the scalar array name ('G' in this case) in
 place of coordsX but have met the same error message.

 What is the correct way of doing this?

 Also, I've tried using the PV-Dump.py script that was suggested to me
 previously but am met with the error:

 Traceback (most recent call last):
  File console, line 1, in module
  File string, line 33, in allToPython
  File string, line 48, in proxiesToPython
  File string, line 149, in __orderProxies
 AttributeError: 'NoneType' object has no attribute 'groups'

 The offending lines are:
 def __orderProxies( proxies ):
Returns an array, where each entry contains the names of the proxies 
 that
depend on the previous array entry.
patternName   = re.compile(' *XMLName: *(.*)')
patternValues = re.compile(' *Values: *(.*)')
patternHex= re.compile('^0x[0-9a-f]+$')
pmanager  = servermanager.ProxyManager()

dependencies  = {}# COLLECT DEPS
for group in proxies: # For each proxy
  for name in proxies[group]:
dependencies[group+':'+name] = {} # Init its 
 depend.
proxy = proxies[group][name]

for prop in proxy:
 148  match = patternName.search( str(prop) )
 149  propName  = match.groups()[0]

 I was hoping that this script would be very helpful.  Anyone else have
 similar problems?

 Thanks in advance for your help,
 Peter.

___
ParaView mailing list
ParaView@paraview.org
http://www.paraview.org/mailman/listinfo/paraview