C implementation of 1D/2D wavelet transforms including DWT, SWT, MODWT, wavelet packet transforms, and continuous wavelet transforms.
wavelib is a C library that implements various wavelet transform algorithms including Discrete Wavelet Transform (DWT), Stationary Wavelet Transform (SWT), Maximal Overlap DWT (MODWT), Wavelet Packet Transform, and Continuous Wavelet Transform (CWT). It provides efficient signal and image processing capabilities for analyzing data at multiple scales and resolutions.
Signal processing researchers, data scientists, engineers, and developers working on time-series analysis, image processing, data compression, denoising, or feature extraction applications.
wavelib offers a comprehensive, efficient implementation of multiple wavelet transform algorithms in pure C, with support for both 1D and 2D transforms, making it suitable for embedded systems and performance-critical applications where MATLAB or Python libraries might be too heavy.
C Implementation of 1D and 2D Wavelet Transforms (DWT,SWT and MODWT) along with 1D Wavelet packet Transform and 1D Continuous Wavelet Transform.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements DWT, SWT, MODWT, CWT, and 2D transforms, covering a wide range of signal and image processing needs as detailed in the README.
Uses fast algorithms with implicit signal extension and up/downsampling for decimated transforms, providing periodic and symmetric options for optimized performance.
Pure C library with no external dependencies mentioned, making it suitable for embedded systems and cross-platform applications where lightweight code is critical.
Includes a GitHub wiki and live demos for 1D transforms, aiding in understanding and implementation beyond the basic README.
Lacks built-in bindings for other languages, requiring significant effort for integration into Python, Java, or web projects, which limits accessibility for data scientists.
Focused solely on wavelet transforms, so users must handle other signal processing tasks with additional libraries, increasing project complexity and setup time.
While efficient, the library doesn't emphasize real-time optimizations or streaming capabilities, which may be a drawback for applications with strict latency requirements.