# Examples from pyvista.ImageDataFilters.slice_index
# ==================================================

# Create a `ImageData` mesh and give it some point data.
import pyvista as pv
mesh = pv.ImageData(dimensions=(10, 10, 10))
mesh['data'] = range(mesh.n_points)

# Extract a single slice along the k-axis.
sliced = mesh.slice_index(k=5)
sliced.dimensions

# Equivalently:
sliced2 = mesh[:, :, 5]
sliced == sliced2

# Extract a volume of interest.
sliced = mesh.slice_index(i=[1, 3], j=[2, 5], k=[5, 10])
sliced.dimensions

# Equivalently:
sliced2 = mesh[1:3, 2:5, 5:10]
sliced == sliced2

# Use `None` to implicitly define the start and/or stop indices.
sliced = mesh.slice_index(i=[None, 3], j=[2, None], k=None)
sliced.dimensions

# Equivalently:
sliced2 = mesh[:3, 2:, :]
sliced == sliced2

# ----------------------------------------------------------------------
# Generated by sphinx-examples-as-code https://github.com/pyvista/sphinx-examples-as-code
