Welcome to the Ultralytics WAVE repository! This directory contains innovative code developed by Ultralytics for WAveform Vector Exploitation, focusing on particle physics detector readout and reconstruction. Our work leverages cutting-edge Machine Learning (ML) and Deep Neural Networks (DNNs) to enhance data analysis.
This software is available for use and redistribution under the AGPL-3.0 license. For a comprehensive overview of our projects and solutions, please visit Ultralytics.
The Ultralytics WAVE repository offers a novel approach to particle physics detector readout and reconstruction through WAveform Vector Exploitation. By utilizing advanced ML and DNN techniques, WAVE aims to improve the precision and efficiency of interpreting complex waveform data from Time-Of-Flight detectors, contributing to advancements in AI research.
To get started with WAVE, you'll need Python 3.7 or newer. The necessary libraries can be easily installed using pip
and the provided requirements.txt
file:
pip3 install -U -r requirements.txt
Key package requirements include:
numpy
: Fundamental package for numerical computation.scipy
: Used for scientific and technical computing tasks.torch
(version 0.4.0+): An open-source ML framework for building and training neural networks.tensorflow
(version 1.8.0+): A comprehensive ecosystem for ML, offering tools, libraries, and community resources.plotly
(optional): For creating interactive data visualizations.
You can find more information about these tools on their respective websites: NumPy, SciPy, PyTorch, TensorFlow, and Plotly.
Several scripts are available to execute the WAVE models:
- PyTorch Implementation: Use
wave_pytorch.py
for models developed with the PyTorch framework. - TensorFlow Implementation: Run
wave_tf.py
for models based on TensorFlow. - PyTorch on Google Cloud Platform: Deploy
wave_pytorch_gcp.py
for running PyTorch models within the Google Cloud Platform (GCP) environment.
Here are some example visualizations showcasing waveforms processed by WAVE and the training progress of the models:
If you utilize this project in your research or publications, we appreciate it if you cite our work. Please use the following citation format:
@misc{jocher2018wave,
title={WAVE: Machine Learning for Full-Waveform Time-Of-Flight Detectors},
author={Glenn Jocher and Kurt Nishimura and Jacob Koblanski and Victor Li},
year={2018},
eprint={1811.05875},
archivePrefix={arXiv},
primaryClass={physics.ins-det}
}
You can acce 8000 ss the paper on ArXiv.org.
We actively welcome contributions from the open-source community! Whether it's fixing bugs, adding new features, or improving documentation, your help is valuable. Please see our Contributing Guide for more details on how to get started.
We also encourage you to share your experiences with Ultralytics projects by filling out our Survey. Your feedback helps us improve. A huge π thank you to all our contributors!
Ultralytics provides two licensing options to accommodate different use cases:
- AGPL-3.0 License: This OSI-approved open-source license is ideal for students, researchers, and enthusiasts who wish to collaborate and share knowledge openly. See the LICENSE file for full details.
- Enterprise License: Designed for commercial applications, this license permits the integration of Ultralytics software and AI models into commercial products and services without the open-source requirements of AGPL-3.0. If your project requires an Enterprise License, please contact us through Ultralytics Licensing.
For bug reports, feature requests, and contributions, please visit GitHub Issues. For broader questions and discussions about WAVE or other Ultralytics projects, join our vibrant community on Discord!