Hướng dẫn wavelet packet transform python - chuyển đổi gói wavelet python

Pywavelets là phần mềm biến đổi wavelet nguồn mở cho Python. Nó kết hợp một giao diện cấp cao đơn giản với hiệu suất C và Cython thấp.

Pywavelets rất dễ sử dụng và bắt đầu với. Chỉ cần cài đặt gói, mở vỏ tương tác Python và loại:

>>> import pywt
>>> cA, cD = pywt.dwt([1, 2, 3, 4], 'db1')

Voilà! Máy tính biến đổi wavelet chưa bao giờ đơn giản như vậy :)

Dưới đây là một ví dụ liên quan hơn một chút về việc áp dụng biến đổi wavelet kỹ thuật số cho hình ảnh:

import numpy as np
import matplotlib.pyplot as plt

import pywt
import pywt.data


# Load image
original = pywt.data.camera()

# Wavelet transform of image, and plot approximation and details
titles = ['Approximation', ' Horizontal detail',
          'Vertical detail', 'Diagonal detail']
coeffs2 = pywt.dwt2(original, 'bior1.3')
LL, (LH, HL, HH) = coeffs2
fig = plt.figure(figsize=(12, 3))
for i, a in enumerate([LL, LH, HL, HH]):
    ax = fig.add_subplot(1, 4, i + 1)
    ax.imshow(a, interpolation="nearest", cmap=plt.cm.gray)
    ax.set_title(titles[i], fontsize=10)
    ax.set_xticks([])
    ax.set_yticks([])

fig.tight_layout()
plt.show()

Hướng dẫn wavelet packet transform python - chuyển đổi gói wavelet python

Những đặc điểm chính¶

Các tính năng chính của pywavelet là:

  • 1D, 2D và ND Chuyển đổi chuyển đổi rời rạc và nghịch đảo (DWT và IDWT)

  • 1D, 2D và ND đa cấp DWT và IDWT

  • Biến đổi wavelet đứng yên 1D, 2D và ND (biến đổi sóng con không quyết định)

  • Phân tách gói và tái thiết gói 1D và 2D

  • Biến đổi sóng con liên tục 1D

  • Tính toán xấp xỉ của wavelet và các chức năng tỷ lệ

  • Hơn 100 bộ lọc wavelet tích hợp và hỗ trợ cho các sóng con tùy chỉnh

  • Tính toán chính xác đơn và kép

  • Tính toán thực và phức tạp

  • Kết quả tương thích với Hộp công cụ Wavelet MATLAB (TM)

Tìm sự giúp đỡ¶

Sử dụng các vấn đề của GitHub, Stackoverflow hoặc nhóm thảo luận pywavelet để đăng bình luận hoặc câu hỏi của bạn.

Giấy phép¶

Pywavelets là một phần mềm nguồn mở miễn phí được phát hành theo giấy phép MIT.

Trích dẫn¶

Nếu bạn sử dụng pywavelet trong một ấn phẩm khoa học, chúng tôi sẽ đánh giá cao các trích dẫn của dự án thông qua ấn phẩm Joss sau:

Gregory R. Lee, Ralf Gommers, Filip Wasilewski, Kai Wohlfahrt, Aaron O hèLeary (2019). Pywavelets: Gói Python để phân tích sóng con. Tạp chí Phần mềm nguồn mở, 4 (36), 1237, https://doi.org/10.21105/joss.01237.

Các bản phát hành cụ thể cũng có thể được trích dẫn thông qua Zenodo. DOI dưới đây sẽ tương ứng với bản phát hành gần đây nhất. Dois cho các phiên bản trong quá khứ có thể được tìm thấy bằng cách theo liên kết trong huy hiệu dưới đây với Zenodo:

Nội dung

  • Cài đặt
  • Tham khảo API
  • Ví dụ sử dụng
  • Đóng góp
  • Hướng dẫn phát triển
  • Phát hành ghi chú