PyWavelets / pywt

PyWavelets - Wavelet Transforms in Python
http://pywavelets.readthedocs.org
MIT License
1.97k stars 460 forks source link

Inconsistent size returned from waverec2 #725

Open landmanbester opened 3 months ago

landmanbester commented 3 months ago

The output of waverec2 is not always consistent with the input of wavedec2. For example, the following

import numpy as np
import pywt
nx = 129
ny = 255
data = np.random.randn(nx, ny)
alpha = pywt.wavedec2(data, 'db1', mode='zero', level=1)
xrec = pywt.waverec2(alpha, 'db1', mode='zero')
print(data.shape, xrec.shape)
print(np.abs(data - xrec[0:data.shape[0],0:data.shape[1]]).max())

produces

(129, 255) (130, 256)
1.7763568394002505e-15

They do at least seem to be consistent within the overlap region. Is this the expected behaviour?