Python & Mayavi Problem

Andrea andrea.gavana at polymtl.ca
Thu Jun 17 16:54:19 CEST 2004


Hello NG,

      I'm trying to follow the mayavi documentation in order to run
mayavi from python. In "Chapter 4. Using MayaVi from Python", there is
a simple example like this:

# generate the data.
from Numeric import *
import scipy
x = (arange(50.0)-25)/2.0
y = (arange(50.0)-25)/2.0
r = sqrt(x[:,NewAxis]**2+y**2)
z = 5.0*scipy.special.j0(r)  # Bessel function of order 0
# now dump the data to a VTK file.
import pyvtk
# Flatten the 2D array data as per VTK's requirements.
z1 = reshape(transpose(z), (-1,))
point_data = pyvtk.PointData(pyvtk.Scalars(z1))
grid = pyvtk.StructuredPoints((50,50, 1), (-12.5, -12.5, 0), (0.5,
0.5, 1))
data = pyvtk.VtkData(grid, point_data)
data.tofile('test.vtk')

import mayavi
v = mayavi.mayavi() # create a MayaVi window.
d = v.open_vtk('test.vtk', config=0) # open the data file.
# The config option turns on/off showing a GUI control for the
data/filter/module.
# load the filters.
f = v.load_filter('WarpScalar', config=0) 
n = v.load_filter('PolyDataNormals', 0)
n.fil.SetFeatureAngle (45) # configure the normals.
# Load the necessary modules.
m = v.load_module('SurfaceMap', 0)
a = v.load_module('Axes', 0)
a.axes.SetCornerOffset(0.0) # configure the axes module.
o = v.load_module('Outline', 0)
v.Render() # Re-render the scene.

Everything goes fine, but at the end I obtain the mayavi window
completely red (without the expected surface/image), and when I click
on this window I get different errors depending on which Python editor
I run:

1) Pythonwin: Error: Microsoft Visual C++ Runtime Error. Everything
Crashes. After this, I get a vtkwindow coming up and showing me the
"always-present" error message from mayavi:

"Generic Warning: In 
/debian/stage/vtk-4.2.4/Rendering/vtkTkRenderWidget.cxx, line 638
A TkRenderWidget is being destroyed before it associated
vtkRenderWindow
is destroyed. This is very bad and usually due to the order in which 
objects are being destroyed. Always destroy the vtkRenderWindow before
destroying the user interface components"

I don't know why, but with mayavi this warning is EXTREMELY common...

2) IDLE for Python: All is frozen, nothing happen, I have to kill
Python;
3) Python Command Line: No windows appears, nothing happen.

Moreover, I would like to be able to compile my Python application to
a standalone EXE file by using py2exe, but py2exe complains about some
missing modules (either from mayavi and for scipy), and the created
EXE does not start.
I have installed Python using the Enthought Installer for Python (with
lots of site-packages inside), located at:

http://www.enthought.com/python/

I'm running Win2000, without administrator privileges (if this can
make differences).

Does anyone have an idea?

Thanks for every suggestion.

Andrea.



More information about the Python-list mailing list