Как я могу применить непрерывное вейвлет-преобразование для массива из 22 строк и 546304 столбцов? - PullRequest
2 голосов
/ 15 марта 2020

Я хочу применить непрерывное вейвлет-преобразование для массива из 22 строк и 546304 столбцов (сигнал временного ряда), чтобы подать скелограммы в CNN. Я получил ошибку Traceback (most recent call last): File "E:/physionet/wavelet.py", line 144, in create_cwt_image sig = data[ii, :, jj] IndexError: too many indices for array Я не знаю, правильно ли я использую CWT или нет, и мой код верен или нет.

Буду признателен всем, кто может дать некоторую информацию.

def create_cwt_image(data):
    scales = range(1,128)
    wavelet_name = 'morl'
    #n_samples = data.shape[0] 
    #n_signals = data.shape[0] 
    scales = range(1,128)
    data_cwt = np.ndarray(shape=(22,127,127, 9))
    for ii in range(0,22):
         if ii % 1000 == 0:
             print(ii)
             for jj in range(0,9):
                 sig = data[ii, :, jj]
                 coeffs, freqs = pywt.cwt(sig, scales, wavelet_name)
                 rescale_coeffs = resize(coeffs, (128, 128), mode = 'constant')
                 data_cwt[ii,:,:,jj] = rescale_coeffs
    return data_cwt
...