Metadata-Version: 2.4
Name: phepex
Version: 0.1.0
Summary: Photo-electron pulse extraction: fast PMT/SiPM waveform charge & timing extraction for Python.
Keywords: waveform,charge-extraction,PMT,SiPM,Cherenkov,signal-processing,DSP
Author: Max-Planck-Institut für Kernphysik
Author-Email: Felix Werner <felix.werner@mpi-hd.mpg.de>
License-Expression: MPL-2.0
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: C++
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Project-URL: Homepage, https://github.com/phepex/phepex
Project-URL: Documentation, https://phepex.github.io/phepex
Project-URL: Repository, https://github.com/phepex/phepex
Project-URL: Issues, https://github.com/phepex/phepex/issues
Requires-Python: >=3.10
Requires-Dist: numpy
Provides-Extra: bench
Requires-Dist: ctapipe>=0.31; extra == "bench"
Description-Content-Type: text/markdown

# phepex — photo-electron pulse extraction

Fast numeric kernels for extracting charge and timing from digitised PMT/SiPM
waveforms (e.g. Cherenkov telescopes or Water Cherenkov Detectors): pole-zero
deconvolution + upsampling, neighbour-sum peak finding, soft clipping, window
integration and leading-edge timing — plus a fast waveform generator for testing.

The heavy lifting runs in a compiled extension; `import phepex` needs only numpy.

## Install

```bash
pip install phepex
```

## Usage

```python
import phepex
# phepex.deconvolve, phepex.pos_soft_clip, phepex.neighbor_peak_indices,
# phepex.extract_around_peak, phepex.adaptive_centroid, phepex.generate_waveforms
```

The ctapipe-integrated `phepex.extractor.FastFlashCamExtractor` — a drop-in
accelerating ctapipe's `FlashCamExtractor` (typically ~5× faster end-to-end, with
bit-exact / ~1e-7 agreement on signal pixels) — lives in a separate submodule
imported on demand. It needs the `bench` extra:

```bash
pip install phepex[bench]      # pulls in ctapipe
```

## Documentation

Full API documentation is published to **https://phepex.github.io/phepex/**.

## License

phepex is licensed under the **Mozilla Public License 2.0**.
Copyright © 2026 Max-Planck-Institut für Kernphysik.
