2017-03-07 11 views
1

私は次のように1レベル分割されないウェーブレットはpythonでパッケージpywaveletsから関数swtnを使用して3D numpyの配列に変換を適用しようとしてきた:ワンレベル

エラーを上昇
import numpy as np 
from pywavelts import swtn 

img = np.random.rand(4,4,5) 
WT = swtn(img, 'coif1', level = 1, start_level = 0) 

:0未満開始レベルの値がウェーブレット分解によって許可されていないので、

Traceback (most recent call last): 

    File "<ipython-input-60-1f6f4144a239>", line 1, in <module> 
    pywt.swtn(img, 'coif1', level=1, start_level =0, axes=None) 

    File "/usr/local/lib/python2.7/dist-packages/pywt/_swt.py", line 387, in swtn 
    axis=axis)[0] 

    File "pywt/_extensions/_swt.pyx", line 100, in pywt._extensions._swt.swt_axis (pywt/_extensions/_swt.c:6203) 

    File "pywt/_extensions/_swt.pyx", line 116, in pywt._extensions._swt.swt_axis (pywt/_extensions/_swt.c:5035) 

ValueError: start_level must be less than 0. 

しかし、これは私には意味がありません。誰かが見て、私が紛失しているものを私に指摘できますか?

答えて

0

同じエラーが発生しました。それは、使用する配列のサイズに起因している:それは2で割り切れないので、関数によって与えられるレベルの最大数は、:

pywt.swt_max_level 

これは、例えば0である。

img = np.random.rand(4,4,6) 
WT = swtn(img, 'coif1', level = 1, start_level = 0) 

は私のために働きます。