.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/01_introductory/viz_surfaces.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_01_introductory_viz_surfaces.py: ================== Visualize surfaces ================== Here is a simple tutorial that shows how to visualize surfaces using DIPY. It also shows how to load/save, get/set and update ``PolyData`` and show surfaces. ``PolyData`` is a structure used by VTK to represent surfaces and other data structures. Here we show how to visualize a simple cube but the same idea should apply for any surface. .. GENERATED FROM PYTHON SOURCE LINES 14-21 .. code-block:: Python import numpy as np from fury import utils, window from fury.io import load_polydata, save_polydata from fury.lib import PolyData .. GENERATED FROM PYTHON SOURCE LINES 22-23 Import useful functions .. GENERATED FROM PYTHON SOURCE LINES 26-27 Create an empty ``PolyData`` .. GENERATED FROM PYTHON SOURCE LINES 27-30 .. code-block:: Python my_polydata = PolyData() .. GENERATED FROM PYTHON SOURCE LINES 31-32 Create a cube with vertices and triangles as numpy arrays .. GENERATED FROM PYTHON SOURCE LINES 32-65 .. code-block:: Python my_vertices = np.array( [ [0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 1.0, 0.0], [0.0, 1.0, 1.0], [1.0, 0.0, 0.0], [1.0, 0.0, 1.0], [1.0, 1.0, 0.0], [1.0, 1.0, 1.0], ] ) # the data type is needed to mention here, numpy.int64 my_triangles = np.array( [ [0, 6, 4], [0, 2, 6], [0, 3, 2], [0, 1, 3], [2, 7, 6], [2, 3, 7], [4, 6, 7], [4, 7, 5], [0, 4, 5], [0, 5, 1], [1, 5, 7], [1, 7, 3], ], dtype="i8", ) .. GENERATED FROM PYTHON SOURCE LINES 66-67 Set vertices and triangles in the ``PolyData`` .. GENERATED FROM PYTHON SOURCE LINES 67-71 .. code-block:: Python utils.set_polydata_vertices(my_polydata, my_vertices) utils.set_polydata_triangles(my_polydata, my_triangles) .. GENERATED FROM PYTHON SOURCE LINES 72-73 Save the ``PolyData`` .. GENERATED FROM PYTHON SOURCE LINES 73-78 .. code-block:: Python file_name = "my_cube.vtk" save_polydata(my_polydata, file_name) print("Surface saved in " + file_name) .. GENERATED FROM PYTHON SOURCE LINES 79-80 Load the ``PolyData`` .. GENERATED FROM PYTHON SOURCE LINES 80-83 .. code-block:: Python cube_polydata = load_polydata(file_name) .. GENERATED FROM PYTHON SOURCE LINES 84-85 add color based on vertices position .. GENERATED FROM PYTHON SOURCE LINES 85-93 .. code-block:: Python cube_vertices = utils.get_polydata_vertices(cube_polydata) colors = cube_vertices * 255 utils.set_polydata_colors(cube_polydata, colors) print("new surface colors") print(utils.get_polydata_colors(cube_polydata)) .. GENERATED FROM PYTHON SOURCE LINES 94-95 Visualize surfaces .. GENERATED FROM PYTHON SOURCE LINES 95-108 .. code-block:: Python # get Actor cube_actor = utils.get_actor_from_polydata(cube_polydata) # Create a scene scene = window.Scene() scene.add(cube_actor) scene.set_camera(position=(10, 5, 7), focal_point=(0.5, 0.5, 0.5)) scene.zoom(3) # display # window.show(scene, size=(600, 600), reset_camera=False) window.record(scene, out_path="cube.png", size=(600, 600)) .. _sphx_glr_download_auto_examples_01_introductory_viz_surfaces.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: viz_surfaces.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: viz_surfaces.py ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_