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_data
とpass_cell_data
パラメータでカスタマイズすることができます.これはGauss補間カーネルを使用します.
sharpness
とradius
パラメータを使ってこのカーネルを調整します.このカーネルをN個の最近接ポイントを使用するように切り替えることもできます.セルのトポロジーが,離散化されたFEMやCFDシミュレーションなどからの補間により有用な場合は,代わりに
pyvista.DataSetFilters.sample()
を使用してください.- パラメータ:
- target
pyvista.DataSet
サンプリング元のvtkデータオブジェクト.このオブジェクトのポイント配列とセル配列がこのメッシュに補間されます.
- sharpness
float
, default: 2.0 Gauss分布のシャープネス(つまり,減衰)を設定します.シャープさが増すと,遠方のポイントの効果は減少します.
- radius
float
,optional
基準点を配置する半径を指定します.
- strategy
str
, default: "null_value" 補間処理中に "null" ポイントに遭遇した場合に使用するストラテジーを指定します.ヌルポイントは,ローカル近隣(近くの点が内挿する)が空の場合に発生します.ストラテジが
'mask_points'
に設定されている場合,ポイントを有効 (=1) またはnull (無効=0)としてマークする出力配列が作成される(NullValueも設定されます.).ストラテジが'null_value'
に設定されている場合,出力データ値()はnull_value
に設定される(出力点データに指定されている).最後に,戦略'closest_point'
は,単に補間を実行するために最も近い点を使用することである.- null_value
float
, default: 0.0 NULL点の値を指定します.NULLポイントが検出されると,各NULLタプルのすべてのコンポーネントがこの値に設定されます.
- n_points
int
,optional
指定した場合,補間ベースを形成するために使用される最も近いポイントの数を指定します.これにより,N個の最近接ポイントを使用する代わりに,radius引数が無効になります.通常,この方法では結果が悪くなります.
- pass_cell_databool, default:
True
入力メッシュのオリジナルのセルデータ配列を保持.
- pass_point_databool, default:
True
入力メッシュのオリジナルのポイントデータ配列を保持.
- progress_barbool, default:
False
進行状況を示す進行状況バーを表示します.
- target
- 戻り値:
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()
このフィルターを使用したその他の例については, 補間 を参照してください.