pyvista.DataSetFilters.sample#
- DataSetFilters.sample(
- target,
- tolerance=None,
- pass_cell_data=True,
- pass_point_data=True,
- categorical=False,
- progress_bar=False,
- locator=None,
- pass_field_data=True,
- mark_blank=True,
- snap_to_closest_point=False,
Resample array data from a passed mesh onto this mesh.
For mesh1.sample(mesh2), the arrays from mesh2 are sampled onto the points of mesh1. This function interpolates within an enclosing cell. This contrasts with :function`pyvista.DataSetFilters.interpolate` that uses a distance weighting for nearby points. If there is cell topology, sample is usually preferred.
The point data ‘vtkValidPointMask’ stores whether the point could be sampled with a value of 1 meaning successful sampling. And a value of 0 means unsuccessful.
This uses
vtk.vtkResampleWithDataSet
.- Parameters:
- target
pyvista.DataSet
The vtk data object to sample from - point and cell arrays from this object are sampled onto the nodes of the
dataset
mesh.- tolerance
float
,optional
Tolerance used to compute whether a point in the source is in a cell of the input. If not given, tolerance is automatically generated.
- pass_cell_databool, default:
True
Preserve source mesh’s original cell data arrays.
- pass_point_databool, default:
True
Preserve source mesh’s original point data arrays.
- categoricalbool, default:
False
Control whether the source point data is to be treated as categorical. If the data is categorical, then the resultant data will be determined by a nearest neighbor interpolation scheme.
- progress_barbool, default:
False
Display a progress bar to indicate progress.
- locator
vtkAbstractCellLocator
orstr
,optional
Prototype cell locator to perform the
FindCell()
operation. Default uses the DataSetFindCell
method. Valid strings with mapping to vtk cell locators are‘cell’ - vtkCellLocator
‘cell_tree’ - vtkCellTreeLocator
‘obb_tree’ - vtkOBBTree
‘static_cell’ - vtkStaticCellLocator
- pass_field_databool, default:
True
Preserve source mesh’s original field data arrays.
- mark_blankbool, default:
True
Whether to mark blank points and cells in “vtkGhostType”.
- snap_to_closest_pointbool, default:
False
Whether to snap to cell with closest point if no cell is found. Useful when sampling from data with vertex cells. Requires vtk >=9.3.0.
Added in version 0.43.
- target
- Returns:
pyvista.DataSet
Dataset containing resampled data.
See also
Examples
Resample data from another dataset onto a sphere.
>>> import pyvista as pv >>> from pyvista import examples >>> mesh = pv.Sphere(center=(4.5, 4.5, 4.5), radius=4.5) >>> data_to_probe = examples.load_uniform() >>> result = mesh.sample(data_to_probe) >>> result.plot(scalars="Spatial Point Data")
If sampling from a set of points represented by a
(n, 3)
shapednumpy.ndarray
, they need to be converted to a PyVista DataSet, e.g.pyvista.PolyData
, first.>>> import numpy as np >>> points = np.array([[1.5, 5.0, 6.2], [6.7, 4.2, 8.0]]) >>> mesh = pv.PolyData(points) >>> result = mesh.sample(data_to_probe) >>> result["Spatial Point Data"] pyvista_ndarray([ 46.5 , 225.12])
See Resampling for more examples using this filter.