MCPcopy Create free account
hub / github.com/PyWavelets/pywt / test_data_reconstruction_delete_nodes_nd

Function test_data_reconstruction_delete_nodes_nd

pywt/tests/test_wpnd.py:89–124  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

87
88
89def test_data_reconstruction_delete_nodes_nd():
90 x = np.array([[1, 2, 3, 4, 5, 6, 7, 8]] * 8, dtype=np.float64)
91 wp = pywt.WaveletPacketND(data=x, wavelet='db1', mode='symmetric')
92
93 # The user must supply either data or axes
94 assert_raises(ValueError, pywt.WaveletPacketND, data=None, wavelet='db1',
95 axes=None)
96
97 new_wp = pywt.WaveletPacketND(data=None, wavelet='db1', mode='symmetric',
98 axes=range(x.ndim))
99
100 new_wp['ad'+'da'] = wp['ad'+'da'].data
101 new_wp['ad'*2] = wp['ad'+'da'].data
102 new_wp['ad'+'dd'] = np.zeros((2, 2), dtype=np.float64)
103 new_wp['aa'] = [[3.0, 7.0, 11.0, 15.0]] * 4
104 new_wp['dd'] = np.zeros((4, 4), dtype=np.float64)
105 new_wp['da'] = wp['da'] # all zeros
106
107 assert_allclose(new_wp.reconstruct(update=False),
108 np.array([[1.5, 1.5, 3.5, 3.5, 5.5, 5.5, 7.5, 7.5]] * 8),
109 rtol=1e-12)
110
111 new_wp['ad'+'aa'] = wp['ad'+'aa'].data
112 assert_allclose(new_wp.reconstruct(update=False), x, rtol=1e-12)
113
114 del(new_wp['ad'+'aa'])
115 # TypeError on accessing deleted node
116 assert_raises(TypeError, lambda: new_wp['ad'+'aa'])
117
118 new_wp['ad'+'aa'] = wp['ad'+'aa'].data
119 assert_(new_wp.data is None)
120
121 assert_allclose(new_wp.reconstruct(update=True), x, rtol=1e-12)
122 assert_allclose(new_wp.data, x, rtol=1e-12)
123
124 # TODO: decompose=True
125
126
127def test_wavelet_packet_dtypes():

Callers

nothing calls this directly

Calls 1

reconstructMethod · 0.95

Tested by

no test coverage detected