pyvista.CompositeFilters.sample#
- CompositeFilters.sample(
- target: DataSet | _vtk.vtkDataSet,
- tolerance: float | None = None,
- pass_cell_data: bool = True,
- pass_point_data: bool = True,
- categorical: bool = False,
- progress_bar: bool = False,
- locator: Literal['cell', 'cell_tree', 'obb_tree', 'static_cell'] | _vtk.vtkAbstractCellLocator | None = 'static_cell',
- pass_field_data: bool = True,
- mark_blank: bool = True,
- snap_to_closest_point: bool = False,
渡されたメッシュからこのメッシュに配列データをリサンプルします.
mesh1.sample(mesh2) では, mesh2 の配列が mesh1 の点にサンプリングされます.この関数はセルを囲むように補間します.
pyvista.DataSetFilters.interpolate()
関数は,近傍の点に対して距離の重み付けを行います. セルのトポロジーがある場合は,通常 sample を使用します.点データ 'vtkValidPointMask' には,その点がサンプリングできたかどうかが格納されます.値が1であればサンプリング成功,0であれば失敗を意味します.
これは
vtk.vtkResampleWithDataSet
を使います.- パラメータ:
- target
pyvista.DataSet
サンプリング元のvtkデータオブジェクトと,このオブジェクトからのセル配列は,
dataset
メッシュのノードにサンプリングされます.- tolerance
float
,optional
ソース内のポイントが入力のセル内にあるかどうかを計算するために使用される許容値です.指定しない場合,公差は自動的に生成されます.
- pass_cell_databool, default:
True
ソースメッシュのオリジナルのセルデータ配列を保持する.
- pass_point_databool, default:
True
ソースメッシュのオリジナルのポイントデータ配列を保持する.
- categoricalbool, default:
False
ソースポイントデータをカテゴリとして扱うかどうかをコントロールします.データがカテゴリー化されている場合,得られるデータは,最近傍補間スキームによって決定されます.
- progress_barbool, default:
False
進行状況を示す進行状況バーを表示します.
- locator
vtkAbstractCellLocator
orstr
orNone
, default: 'static_cell' Prototype cell locator to perform the
FindCell()
operation. IfNone
, 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
ソースメッシュのオリジナルのフィールドデータ配列を保持します.
- mark_blankbool, default:
True
"vtkGhostType" の空白ポイントとセルをマークするかどうか.
- snap_to_closest_pointbool, default:
False
セルが見つからない場合,最も近いポイントにスナップするかどうか.頂点セルを持つデータからサンプリングする際に便利です.vtk >=9.3.0が必要です.
Added in version 0.43.
- target
- 戻り値:
pyvista.DataSet
リサンプリングされたデータを含みますデータセットです.
参考
pyvista.DataSetFilters.interpolate
Interpolate values from one mesh onto another.
pyvista.ImageDataFilters.resample()
Resample image data to modify its dimensions and spacing.
例
他のデータセットのデータを球体に再サンプルします.
>>> 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')
(n, 3)
形式のnumpy.ndarray
で表現される点の集合からサンプリングする場合,それらを PyVista DataSet に変換する必要があります,例えばまずpyvista.PolyData
.>>> 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])
このフィルターを使用したその他の例については, 詳細なリサンプリング を参照してください.