(This repository is a work in progress. Please check back for updates or reach out to [email protected].)
TokEye is a open-source Python-based application for automatic classification and localization of fluctuating signals. It is designed to be used in the context of plasma physics, but can be used for any type of fluctuating signal.
Check out this poster from APS DPP 2025 for more information.
Expected processing time:
- A100: < 0.5 seconds on any size spectrogram after warmup.
- CPU: not yet tested.
- DIII-D Fast Magnetics (cite)
- DIII-D CO2 Interferometer (cite)
- DIII-D Electron Cyclotron Emission (cite)
- DIII-D Beam Emission Spectroscopy (cite)
With more data, comes better models. Please contribute to the project!
uv (recommended)
git clone [email protected]:PlasmaControl/TokEye.git
cd TokEye
uv syncpip (from source)
git clone [email protected]:PlasmaControl/TokEye.git
cd TokEye
python3 -m venv .venv
source venv/bin/activate
pip install uv
uv syncpip (from PyPI)
pip install tokeyeComing soon.
Containerized installation (Docker) Coming soon.
python -m TokEye.appThis will start a web app on http://localhost:8888.
If you are on a remote server, you can use SSH port forwarding to access the web app on your local machine:
ssh -L 8888:localhost:7860 user@remote_serverThen open your web browser and navigate to http://localhost:8888.
Pre-trained models are available at this link.
Copy them into the models/ directory after downloading them.
Right now, keep all data as 1d numpy float arrays. No need to normalize or preprocess them.
Copy them into the data/ directory.
If you use this code in your research, please cite:
@article{NaN,
title={Paper not yet published},
author={Nathaniel Chen},
year={2025}
}
