PyWavelets documentation has moved to pywavelets.readthedocs.io. You will be automatically redirected there in 10 seconds.
Thresholding functions¶
The thresholding
helper module implements the most popular signal
thresholding functions.
Thresholding¶

pywt.
threshold
(data, value, mode='soft', substitute=0)¶ Thresholds the input data depending on the mode argument.
In
soft
thresholding, the data values where their absolute value is less than the value param are replaced with substitute. From the data values with absolute value greater or equal to the thresholding value, a quantity of(signum * value)
is subtracted.In
hard
thresholding, the data values where their absolute value is less than the value param are replaced with substitute. Data values with absolute value greater or equal to the thresholding value stay untouched.In
greater
thresholding, the data is replaced with substitute where data is below the thresholding value. Greater data values pass untouched.In
less
thresholding, the data is replaced with substitute where data is above the thresholding value. Less data values pass untouched.Parameters: data : array_like
Numeric data.
value : scalar
Thresholding value.
mode : {‘soft’, ‘hard’, ‘greater’, ‘less’}
Decides the type of thresholding to be applied on input data. Default is ‘soft’.
substitute : float, optional
Substitute value (default: 0).
Returns: output : array
Thresholded array.
Examples
>>> import numpy as np >>> import pywt >>> data = np.linspace(1, 4, 7) >>> data array([ 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. ]) >>> pywt.threshold(data, 2, 'soft') array([ 0. , 0. , 0. , 0.5, 1. , 1.5, 2. ]) >>> pywt.threshold(data, 2, 'hard') array([ 0. , 0. , 2. , 2.5, 3. , 3.5, 4. ]) >>> pywt.threshold(data, 2, 'greater') array([ 0. , 0. , 2. , 2.5, 3. , 3.5, 4. ]) >>> pywt.threshold(data, 2, 'less') array([ 1. , 1.5, 2. , 0. , 0. , 0. , 0. ])