Metadata-Version: 2.4
Name: eventdisplay-ml
Version: 0.1.1
Summary: A machine learning toolkit for Eventdisplay
Author-email: Gernot Maier <gernot.maier@desy.de>
License-Expression: BSD-3-Clause
Project-URL: bug tracker, https://github.com/Eventdisplay/Eventdisplay-ML/issues
Project-URL: documentation, https://github.com/Eventdisplay/Eventdisplay-ML
Project-URL: repository, https://github.com/Eventdisplay/Eventdisplay-ML
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Astronomy
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: awkward
Requires-Dist: awkward-pandas
Requires-Dist: joblib
Requires-Dist: matplotlib
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: tabulate
Requires-Dist: uproot
Requires-Dist: xgboost
Provides-Extra: dev
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pylint; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: shellcheck; extra == "dev"
Requires-Dist: towncrier; extra == "dev"
Provides-Extra: tests
Requires-Dist: pytest; extra == "tests"
Requires-Dist: pytest-cov; extra == "tests"
Requires-Dist: pytest-mock; extra == "tests"
Requires-Dist: pytest-profiling; extra == "tests"
Requires-Dist: pytest-random-order; extra == "tests"
Requires-Dist: pytest-repeat; extra == "tests"
Requires-Dist: pytest-retry; extra == "tests"
Requires-Dist: pytest-xdist; extra == "tests"
Dynamic: license-file

# Machine learning for Eventdisplay

[![LICENSE](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://github.com/Eventdisplay/Eventdisplay-ML/blob/main/LICENSE)
[![release](https://img.shields.io/github/v/release/eventdisplay/eventdisplay-ml)](https://github.com/Eventdisplay/Eventdisplay-ML/releases)
[![pypi](https://badge.fury.io/py/eventdisplay-ml.svg)](https://badge.fury.io/py/eventdisplay-ml)

Toolkit to interface and run machine learning methods together with the Eventdisplay software package for gamma-ray astronomy data analysis.

Provides examples on how to use e.g., scikit-learn or XGBoost regression trees to estimate event direction, energies, and gamma/hadron separators.

Introduces a Python environment and a scripts directory to support training and inference.

## Direction and energy reconstruction using XGBoost

Stereo analysis methods implemented in Eventdisplay provide direction / energies per event resp telescope image. The machine learner implemented Eventdisplay-ML uses XGB Boost regression trees. Features are all estimators (e.g. DispBDT or intersection method results) plus additional features (mostly image parameters) to get a better estimator for directions and energies.

Input is provided through the `mscw` output (`data` trees).

Output is a single ROOT tree called `StereAnalysis` with the same number of events as the input tree.


## Citing this Software

Please cite this software if it is us
ed for a publication, see the Zenodo record and [CITATION.cff](CITATION.cff) for details.
