{"id":19454136,"url":"https://github.com/ultralytics/wave","last_synced_at":"2025-04-25T04:31:06.506Z","repository":{"id":103258400,"uuid":"132654580","full_name":"ultralytics/wave","owner":"ultralytics","description":"WAveform Vector Exploitation (WAVE): Machine Learning for particle physics detectors.","archived":false,"fork":false,"pushed_at":"2025-03-28T00:55:44.000Z","size":957,"stargazers_count":18,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-28T01:28:32.747Z","etag":null,"topics":["deep-neural-networks","machine-learning","physics-analysis","scintillation","sipm","time-of-flight"],"latest_commit_sha":null,"homepage":"https://ultralytics.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ultralytics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"glenn-jocher","patreon":"ultralytics","open_collective":"ultralytics"}},"created_at":"2018-05-08T19:20:29.000Z","updated_at":"2025-03-28T00:55:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"8bc23503-c5a2-445a-9d1b-cb8ae2bb11dc","html_url":"https://github.com/ultralytics/wave","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultralytics%2Fwave","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultralytics%2Fwave/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultralytics%2Fwave/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultralytics%2Fwave/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ultralytics","download_url":"https://codeload.github.com/ultralytics/wave/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250754659,"owners_count":21481850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-neural-networks","machine-learning","physics-analysis","scintillation","sipm","time-of-flight"],"created_at":"2024-11-10T17:08:07.892Z","updated_at":"2025-04-25T04:31:06.493Z","avatar_url":"https://github.com/ultralytics.png","language":"Python","funding_links":["https://github.com/sponsors/glenn-jocher","https://patreon.com/ultralytics","https://opencollective.com/ultralytics"],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://www.ultralytics.com/\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/ultralytics/assets/main/logo/Ultralytics_Logotype_Original.svg\" width=\"320\" alt=\"Ultralytics logo\"\u003e\u003c/a\u003e\n\n# 🌊 Introduction\n\nWelcome 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). 🎉\n\nHere, we introduce **WA**veform **V**ector **E**xploitation (WAVE), a novel approach leveraging [Deep Learning](https://www.ultralytics.com/glossary/deep-learning-dl) 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.\n\n[![Ultralytics Actions](https://github.com/ultralytics/wave/actions/workflows/format.yml/badge.svg)](https://github.com/ultralytics/wave/actions/workflows/format.yml)\n[![Ultralytics Discord](https://img.shields.io/discord/1089800235347353640?logo=discord\u0026logoColor=white\u0026label=Discord\u0026color=blue)](https://discord.com/invite/ultralytics)\n[![Ultralytics Forums](https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com\u0026logo=discourse\u0026label=Forums\u0026color=blue)](https://community.ultralytics.com/)\n[![Ultralytics Reddit](https://img.shields.io/reddit/subreddit-subscribers/ultralytics?style=flat\u0026logo=reddit\u0026logoColor=white\u0026label=Reddit\u0026color=blue)](https://reddit.com/r/ultralytics)\n\n## 🚀 Project Objectives\n\nThe primary goal of this project is to develop and share advanced [Machine Learning](https://www.ultralytics.com/glossary/machine-learning-ml) 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.\n\n## 🌟 Key Features\n\n- **Framework Flexibility**: Implementation of WAVE using both [PyTorch](https://pytorch.org/) and [TensorFlow](https://www.tensorflow.org/).\n- **User-Friendly Codebase**: Designed for ease of use and adaptability to various research needs.\n- **Cloud Integration**: Support for running WAVE experiments on [Google Cloud Platform (GCP)](https://cloud.google.com/).\n- **Visualization Examples**: Sample images illustrating waveform analysis and training progress.\n\n## 🔧 Requirements\n\nBefore diving into waveform vector exploitation with WAVE, ensure your environment meets the following prerequisites:\n\n- [Python](https://www.python.org/) 3.7 or later.\n- Essential Python packages installed via `pip3 install -U -r requirements.txt`:\n  - `numpy`\n  - `scipy`\n  - `torch` (version 0.4.0 or later)\n  - `tensorflow` (version 1.8.0 or later)\n  - `plotly` (optional, for enhanced visualization)\n\nYou can easily install these packages using [pip](https://pip.pypa.io/en/stable/), the Python package installer.\n\n## 🏃 Run Instructions\n\nExecute the WAVE models using the provided scripts:\n\n- **PyTorch Implementation**: Run `wave_pytorch.py` for the [PyTorch](https://pytorch.org/)-based model.\n- **TensorFlow Implementation**: Use `wave_tf.py` if you prefer [TensorFlow](https://www.tensorflow.org/).\n- **Google Cloud Deployment**: Explore `gcp/wave_pytorch_gcp.py` for running on [Google Cloud Platform](https://cloud.google.com/).\n\nVisualize the intricacies of waveform signals and the training process with these example images:\n\n![Waveform Signals](https://raw.githubusercontent.com/ultralytics/wave/main/data/waveforms.png)\n![Training Visualization](https://raw.githubusercontent.com/ultralytics/wave/main/data/wave.png)\n\n## 📜 Citation\n\nIf you utilize this code or the WAVE methodology in your research, please cite the original paper:\n\n- 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](https://arxiv.org/abs/1811.05875).\n\n## 🤝 Contribute\n\nWe 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](https://docs.ultralytics.com/help/contributing/). We also encourage you to share your feedback through our [Survey](https://www.ultralytics.com/survey?utm_source=github\u0026utm_medium=social\u0026utm_campaign=Survey). A huge thank you 🙏 to all our contributors!\n\n[![Ultralytics open-source contributors](https://raw.githubusercontent.com/ultralytics/assets/main/im/image-contributors.png)](https://github.com/ultralytics/ultralytics/graphs/contributors)\n\n## 📄 License\n\nUltralytics provides two licensing options to suit different needs:\n\n- **AGPL-3.0 License**: This [OSI-approved](https://opensource.org/license) [open-source license](https://github.com/ultralytics/wave/blob/main/LICENSE) is ideal for students and researchers, promoting open collaboration and knowledge sharing. See the [LICENSE](https://github.com/ultralytics/wave/blob/main/LICENSE) file for details.\n- **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](https://www.ultralytics.com/license) for more information.\n\n## 📬 Contact Us\n\nFor bug reports, feature requests, and contributions, please use [GitHub Issues](https://github.com/ultralytics/wave/issues). For broader questions and discussions about the WAVE project or other Ultralytics initiatives, join our vibrant community on [Discord](https://discord.com/invite/ultralytics)!\n\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/ultralytics\"\u003e\u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-social-github.png\" width=\"3%\" alt=\"Ultralytics GitHub\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png\" width=\"3%\" alt=\"space\"\u003e\n  \u003ca href=\"https://www.linkedin.com/company/ultralytics/\"\u003e\u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-social-linkedin.png\" width=\"3%\" alt=\"Ultralytics LinkedIn\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png\" width=\"3%\" alt=\"space\"\u003e\n  \u003ca href=\"https://twitter.com/ultralytics\"\u003e\u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-social-twitter.png\" width=\"3%\" alt=\"Ultralytics Twitter\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png\" width=\"3%\" alt=\"space\"\u003e\n  \u003ca href=\"https://youtube.com/ultralytics\"\u003e\u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-social-youtube.png\" width=\"3%\" alt=\"Ultralytics YouTube\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png\" width=\"3%\" alt=\"space\"\u003e\n  \u003ca href=\"https://www.tiktok.com/@ultralytics\"\u003e\u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png\" width=\"3%\" alt=\"Ultralytics TikTok\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png\" width=\"3%\" alt=\"space\"\u003e\n  \u003ca href=\"https://ultralytics.com/bilibili\"\u003e\u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-social-bilibili.png\" width=\"3%\" alt=\"Ultralytics BiliBili\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png\" width=\"3%\" alt=\"space\"\u003e\n  \u003ca href=\"https://discord.com/invite/ultralytics\"\u003e\u003cimg src=\"https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png\" width=\"3%\" alt=\"Ultralytics Discord\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultralytics%2Fwave","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fultralytics%2Fwave","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultralytics%2Fwave/lists"}