class ImageData(uinput=None, *args, dimensions=None, spacing=(1.0, 1.0, 1.0), origin=(0.0, 0.0, 0.0), deep=False, **kwargs)[source]#

Models datasets with uniform spacing in the three coordinate directions.

Can be initialized in one of several ways:

  • Create empty grid

  • Initialize from a vtk.vtkImageData object

  • Initialize based on dimensions, cell spacing, and origin.

Changed in version 0.33.0: First argument must now be either a path or vtk.vtkImageData. Use keyword arguments to specify the dimensions, spacing, and origin of the uniform grid.

Changed in version 0.37.0: The dims parameter has been renamed to dimensions.

uinputstr, vtk.vtkImageData, pyvista.ImageData, optional

Filename or dataset to initialize the uniform grid from. If set, remainder of arguments are ignored.

dimensionssequence[int], optional

Dimensions of the uniform grid.

spacingsequence[float], default: (1.0, 1.0, 1.0)

Spacing of the uniform grid in each dimension. Must be positive.

originsequence[float], default: (0.0, 0.0, 0.0)

Origin of the uniform grid.

deepbool, default: False

Whether to deep copy a vtk.vtkImageData object. Keyword only.


Create an empty ImageData.

>>> import pyvista as pv
>>> grid = pv.ImageData()

Initialize from a vtk.vtkImageData object.

>>> import vtk
>>> vtkgrid = vtk.vtkImageData()
>>> grid = pv.ImageData(vtkgrid)

Initialize using just the grid dimensions and default spacing and origin. These must be keyword arguments.

>>> grid = pv.ImageData(dimensions=(10, 10, 10))

Initialize using dimensions and spacing.

>>> grid = pv.ImageData(
...     dimensions=(10, 10, 10),
...     spacing=(2, 1, 5),
... )

Initialize using dimensions, spacing, and an origin.

>>> grid = pv.ImageData(
...     dimensions=(10, 10, 10),
...     spacing=(2, 1, 5),
...     origin=(10, 35, 50),
... )

Initialize from another ImageData.

>>> grid = pv.ImageData(
...     dimensions=(10, 10, 10),
...     spacing=(2, 1, 5),
...     origin=(10, 35, 50),
... )
>>> grid_from_grid = pv.ImageData(grid)
>>> grid_from_grid == grid



Cast this uniform grid to a rectilinear grid.


Cast this uniform grid to a structured grid.

ImageData.to_tetrahedra([tetra_per_cell, ...])

Create a tetrahedral mesh structured grid.



Return or set the extent of the ImageData.


Return the origin of the grid (bottom southwest corner).


Build a copy of the implicitly defined points as a numpy array.


Return or set the spacing for each axial direction.


Return all the X points.


Return all the Y points.


Return all the Z points.