Wavelet#
- Wavelet(extent=(-10, 10, -10, 10, -10, 10), center=(0, 0, 0), maximum=255, x_freq=60, y_freq=30, z_freq=40, x_mag=10, y_mag=18, z_mag=5, std=0.5, subsample_rate=1)[source]#
Create a wavelet.
Produces images with pixel values determined by
Maximum*Gaussian*x_mag*sin(x_freq*x)*sin(y_freq*y)*cos(z_freq*z)
Values are float scalars on point data with name
"RTData"
.- Parameters:
- extent
Sequence
, default: (-10, 10, -10, 10, -10, 10) Set/Get the extent of the whole output image.
- center
list
, default: (0, 0, 0) Center of the wavelet.
- maximum
float
, default: 255 Maximum of the wavelet function.
- x_freq
float
, default: 60 Natural frequency in the x direction.
- y_freq
float
, default: 30 Natural frequency in the y direction.
- z_freq
float
, default: 40 Natural frequency in the z direction.
- x_mag
float
, default: 10 Magnitude in the x direction.
- y_mag
float
, default: 18 Magnitude in the y direction.
- z_mag
float
, default: 5 Magnitude in the z direction.
- std
float
, default: 0.5 Standard deviation.
- subsample_rate
int
, default: 1 The sub-sample rate.
- extent
- Returns:
pyvista.PolyData
Wavelet mesh.
Examples
>>> import pyvista >>> wavelet = pyvista.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)
Extract lower valued cells of the wavelet and create a surface from it.
>>> thresh = wavelet.threshold(800).extract_surface() >>> thresh.plot(show_scalar_bar=False)
Smooth it to create “waves”
>>> waves = thresh.smooth(n_iter=100, relaxation_factor=0.1) >>> waves.plot(color='white', smooth_shading=True, show_edges=True)