def glyph(): """The script itself. We needn't have defined a function but having a function makes this more reusable. """ # 'mayavi' is always defined on the interpreter. # Create a new VTK scene. mayavi.new_scene() # Read a VTK (old style) data file. r = VTKXMLFileReader() r.initialize(join(dirname(enthought.mayavi.__file__), 'examples', 'data', 'fire_ug.vtu')) mayavi.add_source(r) # Create an outline and a vector cut plane. mayavi.add_module(Outline()) v = VectorCutPlane() mayavi.add_module(v) v.glyph.color_mode = 'color_by_scalar' # Now mask the points and show glyphs (we could also use # Vectors but glyphs are a bit more generic) m = MaskPoints() m.filter.set(on_ratio=10, random_mode=True) mayavi.add_filter(m) g = Glyph() mayavi.add_module(g) # Note that this adds the module to the filtered output. g.glyph.scale_mode = 'scale_by_vector' # Use arrows to view the scalars. g.glyph.glyph_source = g.glyph.glyph_list[1]
def setup_data(fname): """Given a VTK XML file name `fname`, this creates a mayavi2 reader for it and adds it to the pipeline. It returns the reader created. """ mayavi.new_scene() r = VTKXMLFileReader() r.initialize(fname) mayavi.add_source(r) return r
def contour(): """The script itself. We needn't have defined a function but having a function makes this more reusable. """ # 'mayavi' is always defined on the interpreter. # Create a new scene. mayavi.new_scene() # Read a VTK (old style) data file. r = VTKFileReader() r.initialize(join(dirname(enthought.mayavi.__file__), 'examples', 'data', 'heart.vtk')) mayavi.add_source(r) # Create an outline for the data. o = Outline() mayavi.add_module(o) # Create three simple grid plane modules. # First normal to 'x' axis. gp = GridPlane() mayavi.add_module(gp) # Second normal to 'y' axis. gp = GridPlane() mayavi.add_module(gp) gp.grid_plane.axis = 'y' # Third normal to 'z' axis. gp = GridPlane() mayavi.add_module(gp) gp.grid_plane.axis = 'z' # Create one ContourGridPlane normal to the 'x' axis. cgp = ContourGridPlane() mayavi.add_module(cgp) # Set the position to the middle of the data. cgp.grid_plane.position = 15 # Another with filled contours normal to 'y' axis. cgp = ContourGridPlane() mayavi.add_module(cgp) # Set the axis and position to the middle of the data. cgp.grid_plane.axis = 'y' cgp.grid_plane.position = 15 cgp.contour.filled_contours = True # An isosurface module. iso = IsoSurface(compute_normals=True) mayavi.add_module(iso) iso.contour.contours = [220.0] # An interactive scalar cut plane. cp = ScalarCutPlane() mayavi.add_module(cp) cp.implicit_plane.normal = 0,0,1
def view_numpy(): """Example showing how to view a 3D numpy array in mayavi2. """ # 'mayavi' is always defined on the interpreter. mayavi.new_scene() # Make the data and add it to the pipeline. data = make_data() src = ArraySource(transpose_input_array=False) src.scalar_data = data mayavi.add_source(src) # Visualize the data. o = Outline() mayavi.add_module(o) ipw = ImagePlaneWidget() mayavi.add_module(ipw) ipw.module_manager.scalar_lut_manager.show_scalar_bar = True ipw_y = ImagePlaneWidget() mayavi.add_module(ipw_y) ipw_y.ipw.plane_orientation = 'y_axes'
"""Add a TVTK data object `tvtk_data` to the mayavi pipleine. """ d = VTKDataSource() d.data = tvtk_data mayavi.add_source(d) def surf_regular(): """Now visualize the data as done in mlab. """ w = WarpScalar() mayavi.add_filter(w) o = Outline() s = Surface() mayavi.add_module(o) mayavi.add_module(s) if __name__ == '__main__': mayavi.new_scene() d = make_data() add_data(d) surf_regular() # <markdowncell> # ![](files/MayaVi(2f)examples_attachments/surf_regular_mlab.png # # * * * * * # # CategoryCookbook #