Pith. sign in

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 →

arxiv 2506.07793 v1 pith:RQHA2T7A submitted 2025-06-09 q-bio.QM

classification q-bio.QM
keywords continuouswavelettransformEEGreal-timeanalysisGPGPUbrain-machineinterfaceMorletGeneralizedMorseportablecomputers
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

This paper reports that a compact Python/C wavelet library, ninwavelets, can perform continuous wavelet transforms on 64-channel EEG data fast enough for real-time use on ordinary portable computers. On a laptop GPU, ten seconds of 2048 Hz data are transformed ten times within one second, and a small ARM-based board can process one second of data about four times per second. The outputs are shown to match those of widely used reference analysis software to within about one ten-thousandth of a standard deviation in the real and imaginary parts, with a phase error of 1.18 percent. The point of the work is that CWT-based brain-machine interfaces do not need large fixed workstations: the same offline analysis methods could run on small, inexpensive devices.

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.

Watch

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

Editorial extensions of the paper, not claims the author makes directly.

  • 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.
Share X Bluesky LinkedIn Reddit HN

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

4 major / 5 minor

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)
  1. [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.
  2. [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.
  3. [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.
  4. [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)
  1. [Abstract and Discussion] The abstract says 'enable' where 'enables' is needed, and the Discussion contains the typo 'sanpling frequency' for 'sampling frequency.'
  2. [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.
  3. [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.
  4. [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).
  5. [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

0 steps flagged · score 0.0 of 10

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 3 free parameters · 4 assumptions · 0 invented entities

The paper introduces no new physical entities or scientific constants. Its central claims rest on standard wavelet mathematics, the FFT algorithm, and benchmark assumptions. The main free parameters are user-chosen wavelet and threshold settings, none of which are fitted to make the real-time claim work.

free parameters (3)
  • Morlet wavelet sigma = 7.0
    Set to 7.0 for the precision and speed benchmarks. This is a hand-chosen standard parameter for EEG CWT, not fitted to any outcome, but it influences the computation and results.
  • Generalized Morse wavelet parameters beta, gamma = beta=17.5, gamma=3
    Adjusted so that the GMW waveform is similar to the Morlet wavelet, as stated in the Precision section. This is a hand-tuned choice for visual comparison, not a fitted value for the main claim.
  • Error threshold 1e-5 SD = 1e-5
    An arbitrary threshold used to define 'errors' when comparing ninwavelets and MNE-python. It is chosen by the authors and not derived from any principle.
assumptions (4)
  • standard math Cyclic convolution theorem: iFFT(FFT(f) * FFT(wavelet)) equals cyclic convolution of f and wavelet.
    The entire FFT-based speedup relies on this theorem. It is a standard mathematical result and is stated in the Materials and Methods section.
  • standard math Fourier-transformed formulas for Morlet and Generalized Morse wavelets are correct and can be evaluated directly in the frequency domain.
    The paper uses direct formulas for the wavelets in the frequency domain, citing Morlet and GMW definitions. These formulas are standard but are asserted without derivation.
  • domain assumption MNE-python provides a sufficiently accurate reference implementation for validating ninwavelets.
    The precision comparison treats MNE-python as the ground truth. If MNE-python has its own errors, the measured differences do not establish ninwavelets' correctness.
  • domain assumption Synthetic random EEG data has the same computational cost as real EEG data for CWT.
    Speed benchmarks use generated data, and the paper assumes that real EEG does not introduce additional overhead in the CWT computation itself. This is reasonable for pure computation but not verified.

how reviews work

0 comments
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.

Discussion (0). Sign in to comment.

Reference graph

Works this paper leans on

17 extracted references · 15 canonical work pages

  1. [1]

    For example, in the field of neuroscience research, CWT is performed to analyze electroencephalograms (EEG) and calculate the index of brain activity

    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...

  2. [2]

    Recently, BMI has been actively studied, and considerable efforts have been made to design better real-time decoding algorithms (Lebedev and Nicolelis 2017)

    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...

  3. [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...

  4. [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...

  5. [10]

    doi:10.1535/itj Efitorov, Alexander, Irina Knyazeva, Boytsova Yulia, and Sergey Danko

  6. [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...

  7. [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

  8. [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

Show all 17 references
  1. [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...

  2. [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

  3. [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 ...

  4. [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...

  5. [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...

  6. [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...

  7. [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...

  8. [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...

  9. [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...

Pith tools

Reviewed August 7, 2026 · model on record in the stance chip above.