emd.sift.get_next_imf_mask#

emd.sift.get_next_imf_mask(X, z, amp, nphases=4, nprocesses=1, imf_opts=None, envelope_opts=None, extrema_opts=None)[source]#

Compute the next IMF from a data set a mask sift.

This is a helper function used within the more general sifting functions.

Parameters:
Xndarray

1D input array containing the time-series data to be decomposed

zfloat

Mask frequency as a proportion of the sampling rate, values between 0->z->.5

ampfloat

Mask amplitude

nphasesint > 0

The number of separate sinusoidal masks to apply for each IMF, the phase of masks are uniformly spread across a 0<=p<2pi range (Default=4).

nprocessesint

Integer number of parallel processes to compute. Each process computes an IMF from the signal plus a mask. nprocesses should be less than or equal to nphases, no additional benefit from setting nprocesses > nphases (Default value = 1)

Returns:
proto_imfndarray

1D vector containing the next IMF extracted from X

continue_siftbool

Boolean indicating whether the sift can be continued beyond this IMF

Other Parameters:
imf_optsdict

Optional dictionary of keyword arguments to be passed to emd.get_next_imf

envelope_optsdict

Optional dictionary of keyword options to be passed to emd.interp_envelope

extrema_optsdict

Optional dictionary of keyword options to be passed to emd.get_padded_extrema