PyRIID
ML-based radioisotope identification and estimation from gamma spectra in Python.
Install / Use
/learn @sandialabs/PyRIIDREADME
PyRIID is a Python package providing modeling and data synthesis utilities for machine learning-based research and development of radioisotope-related detection, identification, and quantification.
Installation
Requirements:
- Python version: 3.10 to 3.12
- Note: we recommended the highest Python version you can manage as anecdotally, we have noticed that everything just tends to get faster.
- Operating systems: Windows, Mac, or Ubuntu
Tests and examples are run via Actions on many combinations of Python version and operating system. You can verify support for your platform by checking the workflow files.
For Use
To use the latest version on PyPI, run:
pip install riid
Note that changes are slower to appear on PyPI, so for the latest features, run:**
pip install git+https://github.com/sandialabs/pyriid.git@main
For Development
If you are developing PyRIID, clone this repository and run:
pip install -e ".[dev]"
If you encounter Pylance issues, try:
pip install -e ".[dev]" --config-settings editable_mode=compat
Examples
Examples for how to use this package can be found here.
Tests
Unit tests for this package can be found here.
Run all unit tests with the following:
python -m unittest tests/*.py -v
You can also run one of the run_tests.* scripts, whichever is appropriate for your platform.
Docs
API documentation can be found here.
Docs can be built locally with the following:
pip install -r pdoc/requirements.txt
pdoc riid -o docs/ --html --template-dir pdoc
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate and adhere to our code of conduct.
Contacts
Maintainers and authors can be found here.
Copyright
Full copyright details can be found here.
Acknowledgements
Thank you to the U.S. Department of Energy, National Nuclear Security Administration,
Office of Defense Nuclear Nonproliferation Research and Development (DNN R&D) for funding that has led to versions 2.0 and 2.1.
Additionally, thank you to the following individuals who have provided invaluable subject-matter expertise:
- Paul Thelen (also an author)
- Ben Maestas
- Greg Thoreson
- Michael Enghauser
- Elliott Leonard
Citing
When citing PyRIID, please reference the U.S. Department of Energy Office of Science and Technology Information (OSTI) record here: 10.11578/dc.20221017.2
Related Reports, Publications, and Projects
- Alan Van Omen, "A Semi-Supervised Model for Multi-Label Radioisotope Classification and Out-of-Distribution Detection." Diss. 2023. doi: 10.7302/7200.
- Tyler Morrow, "Questionnaire for Radioisotope Identification and Estimation from Gamma Spectra using PyRIID v2." United States: N. p., 2023. Web. doi: 10.2172/2229893.
- Aaron Fjeldsted, Tyler Morrow, and Douglas Wolfe, "Identifying Signal-to-Noise Ratios Representative of Gamma Detector Response in Realistic Scenarios," 2023 IEEE Nuclear Science Symposium, Medical Imaging Conference and International Symposium on Room-Temperature Semiconductor Detectors (NSS MIC RTSD), Vancouver, BC, Canada, 2023. doi: 10.1109/NSSMICRTSD49126.2023.10337860.
- Alan Van Omen and Tyler Morrow, "A Semi-supervised Learning Method to Produce Explainable Radioisotope Proportion Estimates for NaI-based Synthetic and Measured Gamma Spectra." United States: N. p., 2024. Web. doi: 10.2172/2335904.
- Alan Van Omen and Tyler Morrow, "Controlling Radioisotope Proportions When Randomly Sampling from Dirichlet Distributions in PyRIID." United States: N. p., 2024. Web. doi: 10.2172/2335905.
- Alan Van Omen, Tyler Morrow, et al., "Multilabel Proportion Prediction and Out-of-distribution Detection on Gamma Spectra of Short-lived Fission Products." Annals of Nuclear Energy 208 (2024): 110777. doi: 10.1016/j.anucene.2024.110777.
- Aaron Fjeldsted, Tyler Morrow, et al., "A Novel Methodology for Gamma-Ray Spectra Dataset Procurement over Varying Standoff Distances and Source Activities," Nuclear Instruments and Methods in Physics Research Section A (2024): 169681. doi: 10.1016/j.nima.2024.169681.
Related Skills
claude-opus-4-5-migration
112.2kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
model-usage
354.2kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
TrendRadar
51.4k⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。
mcp-for-beginners
15.8kThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.
