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:
extentSequence, default: (-10, 10, -10, 10, -10, 10)

Set/Get the extent of the whole output image.

centerlist, default: (0, 0, 0)

Center of the wavelet.

maximumfloat, default: 255

Maximum of the wavelet function.

x_freqfloat, default: 60

Natural frequency in the x direction.

y_freqfloat, default: 30

Natural frequency in the y direction.

z_freqfloat, default: 40

Natural frequency in the z direction.

x_magfloat, default: 10

Magnitude in the x direction.

y_magfloat, default: 18

Magnitude in the y direction.

z_magfloat, default: 5

Magnitude in the z direction.

stdfloat, default: 0.5

Standard deviation.

subsample_rateint, default: 1

The sub-sample rate.

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)
../../../_images/pyvista-Wavelet-1_00_00.png

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)
../../../_images/pyvista-Wavelet-1_01_00.png

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)
../../../_images/pyvista-Wavelet-1_02_00.png