IRIS-PSE-Detection
Python port of IRIS - Electronic Arts' photosensitive epilepsy risk detection library.
IRIS analyzes video content to detect flash patterns that may trigger seizures in people with photosensitive epilepsy, based on guidelines from W3C WCAG and ISO 9241-391.
Installation
pip install iris-pse-detection
Or for development:
git clone https://github.com/tokoroten/iris-pse-detection
cd iris-pse-detection
uv sync
Usage
iris video.mp4
Or with Python:
from iris_pse_detection import VideoAnalyser, Configuration
config = Configuration()
analyser = VideoAnalyser(config)
result = analyser.analyse_video("video.mp4")
print(result.overall_result)
Features
- Luminance flash detection
- Red saturation flash detection
- Transition tracking with 1-second sliding window
- Extended failure detection (4+ seconds)
- Pattern detection (optional)
Note on Accuracy
Due to floating-point precision differences between C++ and Python/NumPy, results may vary slightly from the original IRIS implementation. These differences are minimal and occur at boundary conditions where values are very close to detection thresholds.
Acknowledgments
This project is a Python port of IRIS by Electronic Arts Inc., originally released under the BSD 3-Clause License.
License
MIT License - see LICENSE for details.
Metadata
Release files for iris-pse-detection 1.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iris_pse_detection-1.1.2.tar.gz | 76.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iris_pse_detection-1.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 105.7 kB
Release files / iris_pse_detection-1.1.2.tar.gz
| Download URL | iris_pse_detection-1.1.2.tar.gz |
|---|---|
| Size | 76.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f8779deb7a7f78d825f00482379d9851f511bee9dda6a0a382852ce4a22cd28b
|
|
BLAKE2b-256 checksum How to use checksums |
a4f0a01597b20250cb61ddfe191d86df05b4624875209476c2d893fb9f0141ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 22, 2026.
Transparency logRelease files / iris_pse_detection-1.1.2-py3-none-any.whl
| Download URL | iris_pse_detection-1.1.2-py3-none-any.whl |
|---|---|
| Size | 29.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
633517f6a24dde5288bbdce59b7bed3eba3e9d9a115a7f9a9e7323f13e15fdef
|
|
BLAKE2b-256 checksum How to use checksums |
bbb48c2d5887bc9b59b043ebf826aca538147452526faf5f49a08cc321516a34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 22, 2026.
Transparency log