Zuckerwatte (zcwt): An open-source C++ library for standardizing computation and post-processing of the continuous wavelet transform
Nicolai Spicher, Markus Kukuk · 2021
In this work we introduce the open-source C++ library zcwt - Zuckerwatte (german for cotton candy) for facilitating working with zero-crossings of the continuous wavelet transform. The software library allows for fully automatic i) computation of the continuous wavelet transform with Gaussian wavelets up to order 8, ii) zero-crossing detection in all calculated scales, and iii) concatenation of zero-crossings to form continuous lines across all scales. This allows to compute zero-crossing lines in a standardized and transparent way with well-defined parameters, enabling reproducible research. Furthermore, as an example application demonstrating the use of these lines we provide an implementation of the iv) multi-scale parameter estimation method and apply it to real-world problems. The library is based on the linear algebra software library Armadillo and has, apart from that, only little dependencies and is easily extensible; e.g., we provide a class for easy definition of other wavelets. We provide a CMake file for simple installation across all operating systems. The library is freely available at: https://github.com/nspi/zcwt.