pyvista.DataSetFilters.interpolate#

DataSetFilters.interpolate(target, sharpness=2.0, radius=1.0, strategy='null_value', null_value=0.0, n_points=None, pass_cell_data=True, pass_point_data=True, progress_bar=False)[ソース]#

特定のデータセットからこのメッシュに値を補間します.

ターゲット データセットは通常,点群です. ターゲット メッシュの点データのみが,このメッシュの点上に補間されます.このメッシュの既存の点データとセルデータを出力に保持するかどうかは, pass_point_datapass_cell_data パラメータでカスタマイズすることができます.

これはGauss補間カーネルを使用します. sharpnessradius パラメータを使ってこのカーネルを調整します.このカーネルをN個の最近接ポイントを使用するように切り替えることもできます.

セルのトポロジーが,離散化されたFEMやCFDシミュレーションなどからの補間により有用な場合は,代わりに pyvista.DataSetFilters.sample() を使用してください.

パラメータ:
targetpyvista.DataSet

サンプリング元のvtkデータオブジェクト.このオブジェクトのポイント配列とセル配列がこのメッシュに補間されます.

sharpnessfloat, default: 2.0

Gauss分布のシャープネス(つまり,減衰)を設定します.シャープさが増すと,遠方のポイントの効果は減少します.

radiusfloat, optional

基準点を配置する半径を指定します.

strategystr, default: "null_value"

補間処理中に "null" ポイントに遭遇した場合に使用するストラテジーを指定します.ヌルポイントは,ローカル近隣(近くの点が内挿する)が空の場合に発生します.ストラテジが 'mask_points' に設定されている場合,ポイントを有効 (=1) またはnull (無効=0)としてマークする出力配列が作成される(NullValueも設定されます.).ストラテジが 'null_value' に設定されている場合,出力データ値()は null_value に設定される(出力点データに指定されている).最後に,戦略 'closest_point' は,単に補間を実行するために最も近い点を使用することである.

null_valuefloat, default: 0.0

NULL点の値を指定します.NULLポイントが検出されると,各NULLタプルのすべてのコンポーネントがこの値に設定されます.

n_pointsint, optional

指定した場合,補間ベースを形成するために使用される最も近いポイントの数を指定します.これにより,N個の最近接ポイントを使用する代わりに,radius引数が無効になります.通常,この方法では結果が悪くなります.

pass_cell_databool, default: True

入力メッシュのオリジナルのセルデータ配列を保持.

pass_point_databool, default: True

入力メッシュのオリジナルのポイントデータ配列を保持.

progress_barbool, default: False

進行状況を示す進行状況バーを表示します.

戻り値:
pyvista.DataSet

補間されたデータセット. 戻り値のタイプは入力と一致します.

5点の値をサンプル平面に補間します.

>>> import pyvista as pv
>>> import numpy as np
>>> np.random.seed(7)
>>> point_cloud = np.random.random((5, 3))
>>> point_cloud[:, 2] = 0
>>> point_cloud -= point_cloud.mean(0)
>>> pdata = pv.PolyData(point_cloud)
>>> pdata['values'] = np.random.random(5)
>>> plane = pv.Plane()
>>> plane.clear_data()
>>> plane = plane.interpolate(pdata, sharpness=3)
>>> pl = pv.Plotter()
>>> _ = pl.add_mesh(
...     pdata, render_points_as_spheres=True, point_size=50
... )
>>> _ = pl.add_mesh(plane, style='wireframe', line_width=5)
>>> pl.show()
../../../_images/pyvista-DataSetFilters-interpolate-1_00_00.png

このフィルターを使用したその他の例については, 補間 を参照してください.