pyvista.Wavelet

目次

pyvista.Wavelet#

Wavelet(
extent: VectorLike[float] = (-10, 10, -10, 10, -10, 10),
center: VectorLike[float] = (0.0, 0.0, 0.0),
maximum: float = 255.0,
x_freq: float = 60.0,
y_freq: float = 30.0,
z_freq: float = 40.0,
x_mag: float = 10.0,
y_mag: float = 18.0,
z_mag: float = 5.0,
std: float = 0.5,
subsample_rate: int = 1,
) ImageData[ソース]#

ウェーブレットを作成します.

Maximum*Gaussian*x_mag*sin(x_freq*x)*sin(y_freq*y)*cos(z_freq*z) で決まるピクセル値の画像を生成します.

値は "RTData" という名前のポイントデータ上のフロートスカラーです.

パラメータ:
extentsequence[int], default: (-10, 10, -10, 10, -10, 10)

出力画像全体の範囲を設定/返します.

centersequence[float], default: (0.0, 0.0, 0.0)

ウェーブレットの中心.

maximumfloat, default: 255.0

ウェーブレット関数の最大値.

x_freqfloat, default: 60.0

x方向の固有振動数.

y_freqfloat, default: 30.0

y方向の固有振動数.

z_freqfloat, default: 40.0

z方向の固有振動数.

x_magfloat, default: 10.0

x方向の大きさ.

y_magfloat, default: 18.0

y方向の大きさ.

z_magfloat, default: 5.0

z方向の大きさ.

stdfloat, default: 0.5

標準偏差.

subsample_rateint, default: 1

サブサンプルレート.

戻り値:
pyvista.ImageData

ウェーブレットメッシュ.

>>> import pyvista as pv
>>> wavelet = pv.Wavelet(
...     extent=(0, 50, 0, 50, 0, 10),
...     x_freq=20,
...     y_freq=10,
...     z_freq=1,
...     x_mag=100,
...     y_mag=100,
...     z_mag=1000,
... )
>>> wavelet.plot(show_scalar_bar=False)
../../../_images/pyvista-Wavelet-1_00_00.png

ウェーブレットの低評価セルを抽出し,そこからサーフェスを作成します.

>>> thresh = wavelet.threshold(800).extract_surface()
>>> thresh.plot(show_scalar_bar=False)
../../../_images/pyvista-Wavelet-1_01_00.png

滑らかにして "波" を作ります

>>> waves = thresh.smooth(n_iter=100, relaxation_factor=0.1)
>>> waves.plot(color='white', smooth_shading=True, show_edges=True)
../../../_images/pyvista-Wavelet-1_02_00.png