This commit introduces the necessary infrastructure for integrating pupil segmentation into the mono camera pipelines. Key changes include: - Modifying `gstreamer_pipeline.py` to add a tee element to split mono camera streams, creating a dedicated branch for segmentation output with a placeholder `videoconvert` element and `appsink`. This also includes new callbacks and data structures to handle the segmentation frames. - Adding a new Flask route `/segmentation_feed/<int:stream_id>` to `app.py` to serve the segmentation video stream to the frontend. - Updating `index.html` to display the new segmentation feed and implementing cache-busting for all video streams. - Introducing `test_segmentation.py` to verify the functionality of the new segmentation feed. - Refine existing UI and visual tests by updating locators and fixing indentation errors to accommodate the new segmentation feature and maintain test stability. |
||
|---|---|---|
| src | ||
| tests | ||
| .gitignore | ||
| GEMINI.md | ||
| README.md | ||
| requirements.txt | ||
| run_tests.sh | ||
| run.ps1 | ||
| run.sh | ||
Pupilometer
Introduction
This repository houses programs and documents related to Pupilometer project by Vietnam Academy of Science and Technology. The project aims to introduce a benchmark and researches into the interaction between light intensity and temperature to the eye strain disorder.
Dependencies
Python Dependencies
The Python dependencies are listed in the requirements.txt file. You can install them using pip:
pip install -r requirements.txt
NVIDIA DeepStream
For running the pupil segmentation on a Jetson Orin AGX or a Windows machine with an NVIDIA GPU, this project uses NVIDIA DeepStream. DeepStream is a complex dependency and cannot be installed via pip.
Please follow the official NVIDIA documentation to install DeepStream for your platform:
- Jetson: DeepStream for Jetson
- Windows: DeepStream for Windows
You will also need to install GStreamer and the Python bindings (PyGObject). These are usually installed as part of the DeepStream installation.
Additionally, the pyds library, which provides Python bindings for DeepStream metadata structures, is required. This library is also included with the DeepStream SDK and may need to be installed manually.