REVIEW 4 major objections 5 minor 17 references
Novel software for continuous wavelet analysis enable EEG real-time analysis on portable computers
T0 review · 4 major / 5 minor · reviewed 2026-08-07 · deepseek-v4-flash
Pith's one-line read The paper reports that a compact Python/C wavelet library called ninwavelets enables continuous wavelet analysis of 64-channel EEG data in real time on ordinary portable computers.
desk verdict A useful software demo: real-time CWT on a Raspberry Pi looks real, but the timings cover only the CWT kernel in short bursts, not the full streaming pipeline. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The mechanism is the convolution theorem applied to the continuous wavelet transform: the CWT at each scale is computed as the inverse FFT of the product of the signal's FFT and the analytic Fourier transform of the wavelet, instead of by direct convolution. For Morlet and Gabor wavelets the Fourier transform is known in closed form, and for the Generalized Morse wavelet the wavelet is defined directly in the Fourier domain, which avoids one FFT per scale and sidesteps arbitrary edge handling of the wavelet. Performance is carried by memory-transfer discipline, with wavelets generated directly in GPU memory and results transferred only once, and by multi-threading rather than multi-processing, which the paper reports to be very slow because of inter-process communication. Data lengths are padded to the nearest number whose prime factors are only 2, 3, 5, and 7, matching what the underlying low-level FFT library handles efficiently.
What would settle it
Measure the end-to-end time for a full loop on the same laptop and single-board computer: acquire 10 seconds of real 64-channel EEG at 2048 Hz, run the same 30 to 90 Hz wavelet transform, add filtering, artifact rejection, classification, and display, and check whether a new block can be processed every second. If the CWT-only benchmark is reproduced but the full loop exceeds one second per block, the software's real-time claim for brain-machine interfaces is not established.
Extended reading notes
Core claim
The central claim is that real-time continuous wavelet analysis of multichannel EEG no longer requires a large computer. With ninwavelets, the continuous wavelet transform of 64-channel EEG at a 2048 Hz sampling rate, covering 30 to 90 Hz in 1 Hz increments with a Morlet wavelet, can be computed on a laptop GPU at roughly ten times real time. On an ARM single-board computer, one second of data can be processed about four times per second. The implementation works largely in the Fourier domain, using analytic formulas for the mother wavelet transform so that one of the two FFTs per scale can be skipped, and it pads signal lengths to smooth numbers rather than powers of two. The reported precision is close to established analysis software: the largest difference in the real part is 7.00e-6 standard deviations of the reference output, the largest difference in the imaginary part is 5.14e-6 standard deviations, and the mean phase difference is 1.56e-6 radians with an error rate of 1.18 percent for phase points.
Load-bearing premise
The timing numbers come from synthetic random EEG and cover only the continuous wavelet transform itself, not the rest of a brain-machine-interface pipeline, so the real-time budget depends on the CWT step being the dominant and representative workload.
Editorial extensions
If this is right
- CWT-based real-time brain-machine interfaces could be built on portable computers and small single-board devices without modifying the offline wavelet analysis methods used in EEG research.
- On the tested laptop GPU, a 64-channel, 2048 Hz stream with 30-90 Hz resolution leaves a large margin: ten 10-second blocks can be transformed per second, leaving room in the real-time budget for additional processing stages.
- Wavelet generation takes only milliseconds, so parameters such as frequency range, wavelet type, and time window could be reconfigured during a session for closed-loop brain-machine interface use.
- Because the continuous wavelet transform is a general mathematical tool, the speed improvement could extend beyond EEG to other continuous-wavelet applications, though the paper only demonstrates EEG.
- The parity with established analysis software in real and imaginary parts suggests that offline CWT findings could transfer directly to real-time implementations, accelerating development of portable BMI systems.
Reading between the lines
- The benchmarks use synthetic random EEG and measure only the CWT stage, not acquisition, filtering, artifact rejection, classification, or rendering, so a full brain-machine-interface loop still needs an end-to-end latency test before the whole system can be called real-time.
- Matching a reference implementation to within 10-5 standard deviations for Morlet wavelets says little about performance on nonstationary, artifact-laden clinical EEG, so the comparison could be extended to real recordings and to a wider range of wavelet parameters.
- The near-linear scaling with waveform length and the insensitivity to prime lengths suggest that memory movement, rather than FFT arithmetic, dominates the computation time at these problem sizes; profiling memory bandwidth on the target hardware would sharpen the portability claim.
- If the Fourier-domain approach truly avoids the edge-padding ambiguity of time-domain wavelet generation, that would be a distinct advantage for short analysis windows, and it could be tested against time-domain wavelet implementations at short signal lengths.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The manuscript presents ninwavelets, a Python/C library for continuous wavelet transform (CWT) that evaluates wavelets in the Fourier domain, supports CPU multithreading and NVIDIA GPUs, and targets portable hardware. It reports precision of the implementation by comparing Morlet CWT outputs to MNE-python on synthetic EEG-like data (Table 1), and speed benchmarks on a laptop with an RTX 4060 and on a Raspberry Pi 5 (Figures 2-4). The main claim is that the CWT kernel can process 64-channel, 2048 Hz EEG data in real time on portable computers, with flexibility for Morlet and Generalized Morse wavelets. The paper is explicitly scoped in the Conclusion to basic waveform-analysis software rather than a complete BMI system.
Significance. If the speed measurements are reproducible, the contribution is practically useful: it demonstrates that FFT-based CWT on commodity and low-cost ARM hardware can keep up with real-time EEG rates for the CWT stage, and the numerical agreement with MNE-python (real and imaginary parts within roughly 1e-5 standard deviations) is a useful sanity check. The software is open-source and the paper is honest that the full BMI pipeline is not addressed. The main weaknesses are the CWT-only nature of the real-time benchmark, the absence of variance estimates for timings, and underspecified wavelet formulas; these are fixable without changing the core contribution.
major comments (4)
- [Results/Discussion, Performance; Conclusion] The central real-time claim is supported only by short-burst timings of the CWT kernel on synthetic data; no sustained streaming loop or full analysis pipeline (acquisition, filtering, artifact rejection, feature extraction, classification, visualization, CPU-GPU transfer) is measured. Since the abstract and Discussion state that real-time analysis of 64-electrode EEG data is demonstrated, the load-bearing inference that the CWT kernel dominates total latency is not established. The Conclusion's caveat ('focused not on the entire BMI system but on basic software') narrows the claim, but the abstract should be reworded accordingly, or a sustained end-to-end benchmark should be added.
- [Materials and Methods, Comparison between devices and software; Results, Figures 2-4] Speed results are reported as means only, without standard deviations, confidence intervals, or the number of repetitions used for each bar. The methods text states 50 trials for the speed comparison and 100 for wavelength flexibility, but Figure 4 says 100 times and Figures 2-3 do not state n; no error bars are shown. Because the paper's central claim is that ninwavelets is fast enough (and faster than MNE-python), variability across runs and conditions must be reported, including CPU pinning, warm-up, and whether the reported times include data transfer to and from the GPU.
- [Materials and Methods, Fourier transformed formula] The wavelet definitions are underspecified. In the Morlet formula, sigma appears as a frequency offset in the Gaussian (sigma - omega), while the text calls sigma a parameter of the time-domain Morlet wavelet; no scale parameter or mapping from sigma to the analysis frequencies 30-90 Hz is given. Similarly, the GMW formula is written with sign(omega) rather than a unit step, which is standard for analytic wavelets, and the normalization constant is not explicitly defined. As written, the equations describe a windowed Fourier atom rather than a scaled mother wavelet. Please provide the time-domain mother wavelets, the scale-to-frequency mapping used, and the exact discretized formulas implemented, so the reader can verify that the software computes a CWT rather than an STFT-like transform.
- [Materials and Methods, Precision; Results, Table 1] The precision evaluation compares ninwavelets to MNE-python on a single synthetic random segment and declares a point an error when the absolute difference exceeds 1e-5 SD. This threshold is arbitrary and not justified relative to any downstream EEG feature, such as phase or power estimates used in BMI. The 1.18% phase error rate is reported without stating the threshold in radians used to define a phase error, and there is no comparison against an analytic result. I recommend either justifying the threshold, reporting agreement with an analytic CWT for a signal with known time-frequency content, or softening the claim to 'close numerical agreement with MNE-python.'
minor comments (5)
- [Abstract and Discussion] The abstract says 'enable' where 'enables' is needed, and the Discussion contains the typo 'sanpling frequency' for 'sampling frequency.'
- [Table 2 and Materials and Methods] Table 2's caption states a 1000 Hz sampling frequency, while the text says the mother wavelets were generated at 2048 Hz; please reconcile the two values.
- [Code and reproducibility] The GitHub URL is given, but no versioned release, commit hash, or archived copy (e.g., Zenodo) is provided, and dependency versions are not listed; this makes the speed and precision numbers difficult to reproduce exactly.
- [Figure captions] Figure 2's caption says 'All the sensors of 64 channel EEG data' instead of 'All 64 channels of EEG data,' and Figures 1 and 4 use inconsistent notation for the Morlet parameter (Sigma versus sigma).
- [Precision test scope] The precision test uses only random data and one parameter set (sigma = 7); a small parameter sweep over sigma values and frequency ranges would better support the claimed flexibility of the software.
Circularity Check
No circular reasoning found; speed and precision claims are supported by external benchmarks and direct measurements.
full rationale
The paper's central claims are empirical performance measurements and a numerical comparison against an external reference implementation, MNE-python. The real-time claim is supported by direct timing of CWT computations on a laptop GPU and an ARM single-board computer, using synthetic EEG-shaped data; this is not a fitted-input-called-prediction pattern because no parameter is calibrated to a target outcome and then reported as a validated prediction. The precision check subtracts ninwavelets results from MNE-python results and counts deviations beyond a threshold, which is an external, independently implemented benchmark rather than a self-referential definition. The statement that GMW parameters were 'adjusted so that waveform was similar to that of Morlet' is a choice made for visual comparison of wavelet shapes, not a fitted parameter that determines the paper's main speed or accuracy conclusions. There are no load-bearing self-citations: the cited prior works provide standard mathematical background (FFT, wavelet definitions, MNE-python as a library) and do not supply the paper's conclusions. Consequently, no circular step is exhibited in the derivation chain, and the appropriate score is 0.
Assumptions & free parameters
free parameters (3)
- Morlet wavelet sigma =
7.0
- Generalized Morse wavelet parameters beta, gamma =
beta=17.5, gamma=3
- Error threshold 1e-5 SD =
1e-5
assumptions (4)
- standard math Cyclic convolution theorem: iFFT(FFT(f) * FFT(wavelet)) equals cyclic convolution of f and wavelet.
- standard math Fourier-transformed formulas for Morlet and Generalized Morse wavelets are correct and can be evaluated directly in the frequency domain.
- domain assumption MNE-python provides a sufficiently accurate reference implementation for validating ninwavelets.
- domain assumption Synthetic random EEG data has the same computational cost as real EEG data for CWT.
Cite this review
Pith. "Pith review of Novel software for continuous wavelet analysis enable EEG real-time analysis on portable computers." pith.science (2026). https://pith.science/paper/RQHA2T7A
@misc{pith2026250607793,
author = {Pith},
title = {Pith review of: Novel software for continuous wavelet analysis enable EEG real-time analysis on portable computers},
year = {2026},
howpublished = {\url{https://pith.science/paper/RQHA2T7A}},
note = {Machine review of arXiv:2506.07793}
}
read the original abstract
Continuous Wavelet Transform (CWT) is frequently used for waveform analysis. For example, in the field of neuroscience research, CWT is performed to analyze electroencephalograms (EEG) and calculate the index of brain activity. Recent advancements in computer technology, such as general-purpose computing on Graphics Processing Units (GPGPU), have enabled the application of CWT to real-time waveform analysis. However, the computational complexity of CWT is large, and it is challenging to employ CWT as a real-time analysis method, such as in brain-machine interfaces (BMI), which require small size and cost. Therefore, a fast calculation method suitable for small and lightweight computers is desired. In this study, Python-based software for the CWT was developed and tested on portable computers. Using this software, real-time analysis of 64-electrode EEG data based on CWT was simulated and demonstrated adequate speed for the real-time analysis. Furthermore, it exhibited flexibility in performing CWT with various parameters. This software can contribute to the development of compact and lightweight BMI devices. Since CWT is a mathematical method, it may be used as a tool for other purposes.
Reference graph
Works this paper leans on
-
[1]
Novel software for continuous wavelet analysis enable EEG real-time analysis on portable computers Shoichiro Nakanishi Department of Neuropsychiatry, Graduate School of Medical Sciences, Kyushu University, Fukuoka, Japan Abstract Continuous Wavelet Transform (CWT) is frequently used for waveform analysis. For example, in the field of neuroscience research...
work page 1999
-
[2]
The continuous wavelet transform (CWT) is a kind of wavelet transform that can analyze the frequency axis in detail and is used in EEG and MEG studies to analyze brain activity (Tallon-Baudry and Bertrand 1999, Cohen 2014). Recently, BMI has been actively studied, and considerable efforts have been made to design better real-time decoding algorithms (Lebe...
work page 1999
-
[4]
CPU showed unstable speed on both the laptop computer and SBC compared to GPU on the laptop computer
GPU exhibited a faster speed than CPU. CPU showed unstable speed on both the laptop computer and SBC compared to GPU on the laptop computer. It did not show much high speed when the wavelength was 2 and was almost linear to the wavelength. The time spent to make Fourier transformed 1 second mother wavelets (sampling frequency = 2048 Hz) from 30 Hz to 90 H...
-
[8]
1 Plots of GMW and Morlet wavelets were calculated using ninwavelets and MNE-python
Figure. 1 Plots of GMW and Morlet wavelets were calculated using ninwavelets and MNE-python. Σof Morlet wavelet was set to 7.0. 1 second wave was transformed from 30 Hz to 90 Hz in 1 Hz increments. The sampling frequency was set to 2048 Hz. Table. 1 Maximum difference Mean difference Error rate (times/test) Real part 7.00 x 10-6 (SD) 1.49 x 10-6 (SD) 0 Im...
work page 2025
-
[10]
doi:10.1535/itj Efitorov, Alexander, Irina Knyazeva, Boytsova Yulia, and Sergey Danko
-
[13]
Brain-Machine Interfaces: From Basic Science to Neuroprostheses and Neurorehabilitation
“Brain-Machine Interfaces: From Basic Science to Neuroprostheses and Neurorehabilitation.” Physiological Reviews. Liang Dong, Shaohua Zhang, Tiansiyu Gan, Yan Qiu, Qinfeng Song, Yongtao Zhao. "Frequency characteristics analysis of pipe-to-soil potential under metro stray current interference using continuous wavelet transform method." Construction and Bui...
work page 2023
-
[15]
Discrete Fourier Transforms When the Number of Data Samples Is Prime
“Discrete Fourier Transforms When the Number of Data Samples Is Prime.” Proceedings of the IEEE 56 (6): 1107–8. Guido van Rossum and Jelke de Boer, "Interactively Testing Remote Servers Using the Python Programming Language", CWI Quarterly, Volume 4, Issue 4 (December 1991), Amsterdam, pp 283--303. Su, Yang, and Zhijie Xu
work page 1991
-
[16]
Parallel Implementation of Wavelet-Based Image Denoising on Programmable Pc-Grade Graphics Hardware
“Parallel Implementation of Wavelet-Based Image Denoising on Programmable Pc-Grade Graphics Hardware.” Signal Processing 90 (8): 2396–2411. P.N. Swarztrauber, Vectorizing the FFTs, in Parallel Computations (G. Rodrigue, ed.), Academic Press, 1982, pp. 51--83. Tallon-Baudry Catherine, and Olivier Bertrand
work page 1982
Show all 17 references
-
[41]
A Small, Portable, Battery- Powered Brain-Computer Interface System for Motor Rehabilitation
McCrimmon, Colin M, Ming Wang, Lucas Silva Lopes, Po T Wang, Alireza Karimi-Bidhendi, Charles Y Liu, Payam Heydari, Zoran Nenadic, and An H Do. “A Small, Portable, Battery- Powered Brain-Computer Interface System for Motor Rehabilitation.” In 2016 38th Annual International Con...
2025
-
[109]
Application of continuous wavelet transforms for simultaneous estimation of domperidone and lansoprazole in capsule formulations
Zehra Ceren Ertekin, Zehra Ceren, Elif Varhan Oral, Erdal Dinç. "Application of continuous wavelet transforms for simultaneous estimation of domperidone and lansoprazole in capsule formulations." Measurement 242 (2025): 116287
2025
-
[267]
Thresholding and continuous wavelet transform (CWT) analysis of Ground Penetrating Radar (GPR) data for estimation of potato biomass
Harris, C.R., Millman, K.J., van der Walt, S.J. et al. Array programming with NumPy. Nature 585, 357–362 (2020). DOI: 10.1038/s41586-020-2649-2 Henry Ruiz-Guzman, Tyler Adams, Afolabi Agbona, Matthew Wolfe, Mark Everett, Jean- Francois Chamberland, Dirk B. Hays. "Thresholding ...
2020 doi
-
[1968]
This shows that FFT is a flexible method
can perform FFT on waves whose length is a prime number. This shows that FFT is a flexible method. Cooley-Tukey FFT algorithm is very fast and can be used as a method for rapid cyclic convolution. It is possible to transform the padded waveform to compute the cyclic convolutio...
1982
-
[1991]
CWT was performed on an x86 architecture laptop computer and a small single-board computer, which is an ARM-based architecture
and C language, which can work on x86, x64, arm architecture CPU, and nvidia GPU optionally. CWT was performed on an x86 architecture laptop computer and a small single-board computer, which is an ARM-based architecture. To confirm the flexibility and robust computation of the...
2013
-
[2010]
In recent years, parallel computation techniques have been developed, which may provide a solution to the problem of computational complexity
and this feature is a major limitation for CWT as a method of BMI (Wang, Veluvolu, and Lee 2013). In recent years, parallel computation techniques have been developed, which may provide a solution to the problem of computational complexity. For example, multi- threading and mu...
2013
-
[2017]
(Deng et al. 2012). In the case of GPGPU, transferring data between the main memory and GPU memory can limit performance. Size, cost, and complexity are the problems associated with BMI (McCrimmon et al. 2016). Regardless of its high computational complexity, BMI systems based...
2012
-
[2018]
GPU-Based High-Performance Computing of Multichannel Eeg Phase Wavelet Synchronization
“GPU-Based High-Performance Computing of Multichannel Eeg Phase Wavelet Synchronization.” Procedia Computer Science 123: 128–33. G Pfurtscheller 1 , F H Lopes da Silva. Event-related EEG/MEG synchronization and desynchronization: basic principles. Clin Neurophysiol. 1999 Nov;1...
1999 doi
-
[2025]
Analyzing Neural Time Series Data: Theory and Practice
and metro stray (Dong 2023). Ninwavelets is a simple mathmatical software for wavelet transform and can be used for signal processing in various fields. Conclusion CWT based real-time analysis was available by previous studies. In this study, performance and flexibility of CWT...
2023
Reviewed August 7, 2026 · model on record in the stance chip above.
Discussion (0). Sign in to comment.