pyvista.ImageData#

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.

Parameters:
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.

Examples

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
True

Methods

ImageData.cast_to_rectilinear_grid()

Cast this uniform grid to a rectilinear grid.

ImageData.cast_to_structured_grid()

Cast this uniform grid to a structured grid.

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

Create a tetrahedral mesh structured grid.

Attributes

ImageData.extent

Return or set the extent of the ImageData.

ImageData.origin

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

ImageData.points

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

ImageData.spacing

Return or set the spacing for each axial direction.

ImageData.x

Return all the X points.

ImageData.y

Return all the Y points.

ImageData.z

Return all the Z points.