Wave
WAveform Vector Exploitation (WAVE): Machine Learning for particle physics detectors.
Welcome to the [Ultralytics WAVE repository](https://github.com/ultralytics/wave)! This repository hosts the cutting-edge solution for the [machine learning](https://www.ultralytics.com/glossary/machine-learning-ml)-driven analysis and interpretation of waveform data, particularly tailored for applications in [particle physics](https://en.wikipedia.org/wiki/Particle_physics). ๐ The project is written primarily in Python, distributed under the GNU Affero General Public License v3.0 license, first published in 2018. Key topics include: deep-neural-networks, machine-learning, physics-analysis, scintillation, sipm.
<a href="https://www.ultralytics.com/"><img src="https://raw.githubusercontent.com/ultralytics/assets/main/logo/Ultralytics_Logotype_Original.svg" width="320" alt="Ultralytics logo"></a>
๐ Introduction
Welcome to the Ultralytics WAVE repository! This repository hosts the cutting-edge solution for the machine learning-driven analysis and interpretation of waveform data, particularly tailored for applications in particle physics. ๐
Here, we introduce WAveform Vector Exploitation (WAVE), a novel approach leveraging Deep Learning to readout and reconstruct signals from particle physics detectors. This open-source codebase aims to foster collaboration and innovation at the exciting intersection of ML and physics.
๐ Project Objectives
The primary goal of this project is to develop and share advanced Machine Learning techniques applicable to full-waveform time-of-flight detectors. These methods are designed to enhance signal processing and interpretation, pushing the boundaries of particle physics research.
๐ Key Features
- Framework Flexibility: Implementation of WAVE using both PyTorch and TensorFlow.
- User-Friendly Codebase: Designed for ease of use and adaptability to various research needs.
- Cloud Integration: Support for running WAVE experiments on Google Cloud Platform (GCP).
- Visualization Examples: Sample images illustrating waveform analysis and training progress.
๐ง Requirements
Before diving into waveform vector exploitation with WAVE, ensure your environment meets the following prerequisites:
-
A Python environment compatible with the PyTorch and TensorFlow examples.
-
Essential Python packages installed from
requirements.txt:bashpython -m pip install -U -r requirements.txtnumpyscipytorchtensorflow(thetrain_tf.pyexample uses TensorFlow 1.x APIs)plotly(optional, for enhanced visualization)
You can easily install these packages using pip, the Python package installer.
๐ Run Instructions
Execute the WAVE models using the provided scripts:
- PyTorch Implementation: Run
python train.py --epochs 5000 --var 3for the PyTorch-based model. The script downloadswavedata25ns.matintodata/if it is missing. - TensorFlow Implementation: Use
python train_tf.pyin a TensorFlow 1.x environment if you prefer TensorFlow. - Google Cloud Deployment: Explore
gcp/wave_pytorch_gcp.pyand the helper scripts ingcp/for running on Google Cloud Platform.
Visualize the intricacies of waveform signals and the training process with these example images:


๐ Citation
If you utilize this code or the WAVE methodology in your research, please cite the original paper:
- Jocher, G., Nishimura, K., Koblanski, J. and Li, V. (2018). WAVE: Machine Learning for Full-Waveform Time-Of-Flight Detectors. arXiv preprint arXiv:1811.05875. Available at: https://arxiv.org/abs/1811.05875.
๐ค Contribute
We highly value community contributions and invite you to participate in advancing this pioneering ML approach for physics! Whether it's fixing bugs, proposing new features, or improving documentation, your input is welcome. Learn how to contribute by reading our Contributing Guide. We also encourage you to share your feedback through our Survey. A huge thank you ๐ to all our contributors!
๐ License
Ultralytics provides two licensing options to suit different needs:
- AGPL-3.0 License: This OSI-approved open-source license is ideal for students and researchers, promoting open collaboration and knowledge sharing. See the LICENSE file for details.
- Enterprise License: Designed for commercial applications, this license allows for the integration of Ultralytics software and AI models into commercial products and services. Visit Ultralytics Licensing for more information.
๐ฌ Contact Us
For bug reports, feature requests, and contributions, please use GitHub Issues. For broader questions and discussions about the WAVE project or other Ultralytics initiatives, join our vibrant community on Discord!
<br> <div align="center"> <a href="https://github.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-github.png" width="3%" alt="Ultralytics GitHub"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space"> <a href="https://www.linkedin.com/company/ultralytics/"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-linkedin.png" width="3%" alt="Ultralytics LinkedIn"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space"> <a href="https://twitter.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-twitter.png" width="3%" alt="Ultralytics Twitter"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space"> <a href="https://youtube.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-youtube.png" width="3%" alt="Ultralytics YouTube"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space"> <a href="https://www.tiktok.com/@ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="3%" alt="Ultralytics TikTok"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space"> <a href="https://ultralytics.com/bilibili"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-bilibili.png" width="3%" alt="Ultralytics BiliBili"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space"> <a href="https://discord.com/invite/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png" width="3%" alt="Ultralytics Discord"></a> </div>Contributors
Showing top 3 contributors by commit count.

