wavelets icon indicating copy to clipboard operation
wavelets copied to clipboard

Make wavelet_transform a writable attribute.

Open swillscsumb opened this issue 7 years ago • 0 comments

That allows, for instance, reconstruction to be used with an altered wavelet_transform.

Example usage:

def get_wt_nmfd(wav_path, wav_prefix, plot_prefix):
    fs, x = wavfile.read(wav_path)
    dt = 1.0/fs
    dj = 1.0/16.0
    eps = np.spacing(1)
    do_nmfd = True
    wav_max = 2.0**15 - 1.0

    wa = WaveletAnalysis(x, wavelet=Morlet(), dt=dt, dj=dj, unbias=False)
    # wavelet power spectrum
    power = wa.wavelet_power
    wt = copy.deepcopy(wa.wavelet_transform)
    xi = wa.reconstruction()

    nmfd = None
    if do_nmfd:
        nmfd = nmfdkl.NMFDKL(power, 5, 2*power.shape[0]/3)
        new_v = nmfd.nmfdkl(20, 10)
        denom = 1.0 / (new_v[:, :, -1] + eps)
        for r in xrange(new_v.shape[2] - 1):
            wa.wavelet_transform = copy.deepcopy(wt)
            wa.wavelet_transform *= new_v[:, :, r]*denom
            xi = wa.reconstruction()

swillscsumb avatar Oct 11 '17 13:10 swillscsumb