
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "tutorial/06_vtk/b_create_vtk.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. note::
        :class: sphx-glr-download-link-note

        :ref:`Go to the end <sphx_glr_download_tutorial_06_vtk_b_create_vtk.py>`
        to download the full example code. or to run this example in your browser via Binder

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_tutorial_06_vtk_b_create_vtk.py:


Create VTK Objects
~~~~~~~~~~~~~~~~~~

This exercise walks through the creation of a few different types of VTK datasets.

.. GENERATED FROM PYTHON SOURCE LINES 7-17

.. code-block:: Python


    import numpy as np
    import pyvista as pv
    import vtk

    try:
        from vtkmodules.util.numpy_support import numpy_to_vtk
    except:  # noqa: E722
        from vtk.util.numpy_support import numpy_to_vtk








.. GENERATED FROM PYTHON SOURCE LINES 18-20

Create ``vtkImageData``
^^^^^^^^^^^^^^^^^^^^^^^

.. GENERATED FROM PYTHON SOURCE LINES 20-25

.. code-block:: Python

    image = vtk.vtkImageData()
    image.SetDimensions(10, 10, 2)
    image.SetSpacing(1, 2, 5)
    image.SetOrigin(-0.5, -3, 0)








.. GENERATED FROM PYTHON SOURCE LINES 26-27

Add point data

.. GENERATED FROM PYTHON SOURCE LINES 27-34

.. code-block:: Python

    values = np.arange(np.prod(image.GetDimensions()))
    # Convert numpy array to VTK array
    arr = numpy_to_vtk(values)
    arr.SetName("values")  # CRITICAL
    image.GetPointData().SetScalars(arr)
    image





.. rst-class:: sphx-glr-script-out

 .. code-block:: none


    <vtkmodules.vtkCommonDataModel.vtkImageData(0x561145c02b70) at 0x7f4fac534c40>



.. GENERATED FROM PYTHON SOURCE LINES 35-36

Plot with PyVista for simplicity

.. GENERATED FROM PYTHON SOURCE LINES 36-38

.. code-block:: Python

    pv.plot(image, show_edges=True)








.. tab-set::



   .. tab-item:: Static Scene



            
     .. image-sg:: /tutorial/06_vtk/images/sphx_glr_b_create_vtk_001.png
        :alt: b create vtk
        :srcset: /tutorial/06_vtk/images/sphx_glr_b_create_vtk_001.png
        :class: sphx-glr-single-img
     


   .. tab-item:: Interactive Scene



       .. offlineviewer:: /home/runner/work/pyvista-tutorial/pyvista-tutorial/doc/source/tutorial/06_vtk/images/sphx_glr_b_create_vtk_001.vtksz






.. GENERATED FROM PYTHON SOURCE LINES 39-41

Create ``vtkStructuredGrid``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. GENERATED FROM PYTHON SOURCE LINES 41-62

.. code-block:: Python


    # Define structured points with NumPy
    x = np.arange(-10, 10, 0.25)
    y = np.arange(-10, 10, 0.25)
    x, y = np.meshgrid(x, y)
    r = np.sqrt(x**2 + y**2)
    z = np.sin(r)

    # Join the points
    values = np.c_[x.ravel(), y.ravel(), z.ravel()]

    coords = numpy_to_vtk(values)

    points = vtk.vtkPoints()
    points.SetData(coords)

    grid = vtk.vtkStructuredGrid()
    grid.SetDimensions(*z.shape, 1)
    grid.SetPoints(points)
    grid





.. rst-class:: sphx-glr-script-out

 .. code-block:: none


    <vtkmodules.vtkCommonDataModel.vtkStructuredGrid(0x561137ca2320) at 0x7f4fac535600>



.. GENERATED FROM PYTHON SOURCE LINES 63-64

Add point data

.. GENERATED FROM PYTHON SOURCE LINES 64-69

.. code-block:: Python

    arr = numpy_to_vtk(z.ravel())
    arr.SetName("z")  # CRITICAL
    grid.GetPointData().SetScalars(arr)






.. rst-class:: sphx-glr-script-out

 .. code-block:: none


    0



.. GENERATED FROM PYTHON SOURCE LINES 70-71

Plot with PyVista for simplicity

.. GENERATED FROM PYTHON SOURCE LINES 71-73

.. code-block:: Python

    pv.plot(grid, show_edges=True)








.. tab-set::



   .. tab-item:: Static Scene



            
     .. image-sg:: /tutorial/06_vtk/images/sphx_glr_b_create_vtk_002.png
        :alt: b create vtk
        :srcset: /tutorial/06_vtk/images/sphx_glr_b_create_vtk_002.png
        :class: sphx-glr-single-img
     


   .. tab-item:: Interactive Scene



       .. offlineviewer:: /home/runner/work/pyvista-tutorial/pyvista-tutorial/doc/source/tutorial/06_vtk/images/sphx_glr_b_create_vtk_002.vtksz






.. GENERATED FROM PYTHON SOURCE LINES 74-81

.. raw:: html

    <center>
      <a target="_blank" href="https://colab.research.google.com/github/pyvista/pyvista-tutorial/blob/gh-pages/notebooks/tutorial/06_vtk/b_create_vtk.ipynb">
        <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/ width="150px">
      </a>
    </center>


.. rst-class:: sphx-glr-timing

   **Total running time of the script:** (0 minutes 0.570 seconds)


.. _sphx_glr_download_tutorial_06_vtk_b_create_vtk.py:

.. only:: html

  .. container:: sphx-glr-footer sphx-glr-footer-example

    .. container:: binder-badge

      .. image:: images/binder_badge_logo.svg
        :target: https://mybinder.org/v2/gh/pyvista/pyvista-tutorial/gh-pages?urlpath=lab/tree/notebooks/tutorial/06_vtk/b_create_vtk.ipynb
        :alt: Launch binder
        :width: 150 px

    .. container:: sphx-glr-download sphx-glr-download-jupyter

      :download:`Download Jupyter notebook: b_create_vtk.ipynb <b_create_vtk.ipynb>`

    .. container:: sphx-glr-download sphx-glr-download-python

      :download:`Download Python source code: b_create_vtk.py <b_create_vtk.py>`

    .. container:: sphx-glr-download sphx-glr-download-zip

      :download:`Download zipped: b_create_vtk.zip <b_create_vtk.zip>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
