Hướng dẫn discrete wavelet transform python - Python biến đổi wavelet rời rạc

Biến đổi wavelet gần đây đã trở thành một sự phổ biến rất phổ biến khi phân tích, khử nhiễu và nén các tín hiệu và hình ảnh. Phần này mô tả các chức năng được sử dụng để thực hiện các biến đổi wavelet riêng biệt đơn và đa cấp.

Cấp duy nhất ________ 6¶

pywt.dwt [dữ liệu, wavelet, mode = 'symmetric', axis = -1] ¶dwt[data, wavelet, mode='symmetric', axis=-1]

Biến đổi wavelet rời rạc một cấp.

Parametersdataarray_likedataarray_like

Tín hiệu đầu vào

Đối tượng hoặc tên WaveletWaveletWavelet object or name

Wavelet để sử dụng

Modestr, tùy chọnstr, optional

Chế độ mở rộng tín hiệu, xem chế độ.Modes.

Trục: int, tùy chọn

Trục để tính toán DWT. Nếu không được đưa ra, trục cuối cùng được sử dụng.

Trả lại [CA, CD] tuple[cA, cD]tuple

Các hệ số xấp xỉ và chi tiết.

Ghi chú

Độ dài của các hệ số mảng phụ thuộc vào chế độ đã chọn. Đối với tất cả các chế độ ngoại trừ định kỳ:

len[cA] == len[cD] == floor[[len[data] + wavelet.dec_len - 1] / 2]

Cho chế độ định kỳ ["mỗi"]:

len[cA] == len[cD] == ceil[len[data] / 2]

Ví dụ

>>> import pywt
>>> [cA, cD] = pywt.dwt[[1, 2, 3, 4, 5, 6], 'db1']
>>> cA
array[[ 2.12132034,  4.94974747,  7.77817459]]
>>> cD
array[[-0.70710678, -0.70710678, -0.70710678]]

Xem phần Chế độ mở rộng tín hiệu để biết danh sách các tùy chọn có sẵn và chức năng dwt_coeff_len[] để biết thông tin về việc có được độ dài kết quả dự kiến.signal extension modes section for the list of available options and the dwt_coeff_len[] function for information on getting the expected result length.

Biến đổi có thể được thực hiện trên một trục của dữ liệu đa chiều. Theo mặc định, đây là trục cuối cùng. Đối với các biến đổi đa chiều, hãy xem phần biến đổi 2D.2D transforms section.

Phân hủy đa cấp bằng cách sử dụng ________ 10¶

pywt.wavedec [dữ liệu, wavelet, mode = 'symmetric', level = none, axis = -1] ¶wavedec[data, wavelet, mode='symmetric', level=None, axis=-1]

Biến đổi wavelet rời rạc đa cấp của dữ liệu.

Tham sốData: Array_likedata: array_like

Dữ liệu đầu vào

WaveletWavelet Đối tượng hoặc chuỗi tênWavelet object or name string

Wavelet để sử dụng

Modestr, tùy chọnstr, optional

Chế độ mở rộng tín hiệu, xem chế độ.Modes.

Trục: int, tùy chọnint, optional

Trục để tính toán DWT. Nếu không được đưa ra, trục cuối cùng được sử dụng.

Trục: int, tùy chọn

Trục để tính toán DWT. Nếu không được đưa ra, trục cuối cùng được sử dụng.

Trả lại [CA, CD] tuple[cA_n, cD_n, cD_n-1, …, cD2, cD1]list

Các hệ số xấp xỉ và chi tiết.

Ví dụ

>>> from pywt import wavedec
>>> coeffs = wavedec[[1,2,3,4,5,6,7,8], 'db1', level=2]
>>> cA2, cD2, cD1 = coeffs
>>> cD1
array[[-0.70710678, -0.70710678, -0.70710678, -0.70710678]]
>>> cD2
array[[-2., -2.]]
>>> cA2
array[[  5.,  13.]]

Xem phần Chế độ mở rộng tín hiệu để biết danh sách các tùy chọn có sẵn và chức năng dwt_coeff_len[] để biết thông tin về việc có được độ dài kết quả dự kiến.

Biến đổi có thể được thực hiện trên một trục của dữ liệu đa chiều. Theo mặc định, đây là trục cuối cùng. Đối với các biến đổi đa chiều, hãy xem phần biến đổi 2D.downcoef[part, data, wavelet, mode='symmetric', level=1]

Phân hủy đa cấp bằng cách sử dụng ________ 10¶

pywt.wavedec [dữ liệu, wavelet, mode = 'symmetric', level = none, axis = -1] ¶

Biến đổi wavelet rời rạc đa cấp của dữ liệu.partstr

Tham sốData: Array_like

  • Dữ liệu đầu vào

  • WaveletWavelet Đối tượng hoặc chuỗi tên

dataarray_likearray_like

Cấp độ, tùy chọn

Đối tượng hoặc tên WaveletWaveletWavelet object or name

Wavelet để sử dụng

Modestr, tùy chọnstr, optional

Chế độ mở rộng tín hiệu, xem chế độ.Modes.

Trục: int, tùy chọnint, optional

Trục để tính toán DWT. Nếu không được đưa ra, trục cuối cùng được sử dụng.

Trả lại [CA, CD] tuplecoeffsndarray

Các hệ số xấp xỉ và chi tiết.

Ghi chú

Độ dài của các hệ số mảng phụ thuộc vào chế độ đã chọn. Đối với tất cả các chế độ ngoại trừ định kỳ:dwt_max_level[data_len, filter_len]

Cho chế độ định kỳ ["mỗi"]:

Parametersdata_lenintdata_lenint

Ví dụ

Xem phần Chế độ mở rộng tín hiệu để biết danh sách các tùy chọn có sẵn và chức năng dwt_coeff_len[] để biết thông tin về việc có được độ dài kết quả dự kiến.int, str or Wavelet

Biến đổi có thể được thực hiện trên một trục của dữ liệu đa chiều. Theo mặc định, đây là trục cuối cùng. Đối với các biến đổi đa chiều, hãy xem phần biến đổi 2D.

Returnsmax_levelintmax_levelint

Phân hủy đa cấp bằng cách sử dụng ________ 10¶

Ghi chú

Độ dài của các hệ số mảng phụ thuộc vào chế độ đã chọn. Đối với tất cả các chế độ ngoại trừ định kỳ:

Cho chế độ định kỳ ["mỗi"]:

Ví dụ

>>> import pywt
>>> w = pywt.Wavelet['sym5']
>>> pywt.dwt_max_level[data_len=1000, filter_len=w.dec_len]
6
>>> pywt.dwt_max_level[1000, w]
6
>>> pywt.dwt_max_level[1000, 'sym5']
6

Xem phần Chế độ mở rộng tín hiệu để biết danh sách các tùy chọn có sẵn và chức năng dwt_coeff_len[] để biết thông tin về việc có được độ dài kết quả dự kiến.dwtn_max_level[shape, wavelet, axes=None]

Biến đổi có thể được thực hiện trên một trục của dữ liệu đa chiều. Theo mặc định, đây là trục cuối cùng. Đối với các biến đổi đa chiều, hãy xem phần biến đổi 2D.

Phân hủy đa cấp bằng cách sử dụng ________ 10¶

pywt.wavedec [dữ liệu, wavelet, mode = 'symmetric', level = none, axis = -1] ¶shapesequence of ints

Biến đổi wavelet rời rạc đa cấp của dữ liệu.

Tham sốData: Array_likeWavelet object or name string, or tuple of wavelets

Dữ liệu đầu vào

WaveletWavelet Đối tượng hoặc chuỗi tênsequence of ints, optional

Cấp độ, tùy chọn

Mức phân hủy [phải là> = 0]. Nếu cấp độ không có [mặc định] thì nó sẽ được tính toán bằng hàm
>>> from pywt import wavedec
>>> coeffs = wavedec[[1,2,3,4,5,6,7,8], 'db1', level=2]
>>> cA2, cD2, cD1 = coeffs
>>> cD1
array[[-0.70710678, -0.70710678, -0.70710678, -0.70710678]]
>>> cD2
array[[-2., -2.]]
>>> cA2
array[[  5.,  13.]]
1.levelint

Phân hủy đa cấp bằng cách sử dụng ________ 10¶

Ghi chú

Độ dài của các hệ số mảng phụ thuộc vào chế độ đã chọn. Đối với tất cả các chế độ ngoại trừ định kỳ:

Ví dụ

>>> import pywt
>>> pywt.dwtn_max_level[[64, 32], 'db2']
3

Xem phần Chế độ mở rộng tín hiệu để biết danh sách các tùy chọn có sẵn và chức năng dwt_coeff_len[] để biết thông tin về việc có được độ dài kết quả dự kiến.

Biến đổi có thể được thực hiện trên một trục của dữ liệu đa chiều. Theo mặc định, đây là trục cuối cùng. Đối với các biến đổi đa chiều, hãy xem phần biến đổi 2D.dwt_coeff_len[data_len, filter_len, mode='symmetric']

Phân hủy đa cấp bằng cách sử dụng ________ 10¶

Parametersdata_lenintdata_lenint

pywt.wavedec [dữ liệu, wavelet, mode = 'symmetric', level = none, axis = -1] ¶

filter_lenintint

Biến đổi wavelet rời rạc đa cấp của dữ liệu.

Modestr, tùy chọnstr, optional

Chế độ mở rộng tín hiệu, xem chế độ.Modes.

Tham sốData: Array_likelenint

Dữ liệu đầu vào

Ghi chú

Độ dài của các hệ số mảng phụ thuộc vào chế độ đã chọn. Đối với tất cả các chế độ ngoại trừ định kỳ:

len[cA] == len[cD] == floor[[len[data] + wavelet.dec_len - 1] / 2]

Cho chế độ định kỳ ["mỗi"]:

len[cA] == len[cD] == ceil[len[data] / 2]

Ví dụsignal extension mode, the dwt_coeff_len[] function calculates the length of the resulting coefficients arrays that would be created while performing

>>> import pywt
>>> w = pywt.Wavelet['sym5']
>>> pywt.dwt_max_level[data_len=1000, filter_len=w.dec_len]
6
>>> pywt.dwt_max_level[1000, w]
6
>>> pywt.dwt_max_level[1000, 'sym5']
6
9 transform.

>>> import pywt
>>> w = pywt.Wavelet['sym5']
>>> pywt.dwt_max_level[data_len=1000, filter_len=w.dec_len]
6
>>> pywt.dwt_max_level[1000, w]
6
>>> pywt.dwt_max_level[1000, 'sym5']
6
7 có thể là một đối tượng
>>> import pywt
>>> pywt.dwtn_max_level[[64, 32], 'db2']
3
1 hoặc
>>> import pywt
>>> pywt.dwtn_max_level[[64, 32], 'db2']
3
2 để thuận tiện.

Bài Viết Liên Quan

Chủ Đề