Research Group CAMMA / University of Strasbourg / IHU Strasbourg
Endoshare is a cross-platform, source-available desktop application that merges, standardizes, and de-identifies surgical videos for research, education, and clinical quality improvement.
It was developed at the University of Strasbourg – ICube Laboratory and IHU Strasbourg to address the lack of accessible, privacy-preserving tools for managing endoscopic recordings.
The application is distributed under the PolyForm Noncommercial License 1.0.0, ensuring open access for research and educational purposes while restricting commercial use.
Endoshare follows a three-layer architecture:
-
Presentation Layer –
A PyQt5-based GUI allowing clinicians to perform all operations without coding.
Functions include:- Case selection
- Video merging
- Out-of-body detection and removal
- Filename pseudonymization
- Batch processing with progress indicators
-
Application Layer –
Implements the processing pipeline in Python, integrating:- FFmpeg and VidGear for format standardization and merging
- OpenCV for frame manipulation
- TensorFlow (MobileNetV2 + LSTM) for automatic out-of-body (OoB) detection
- Dual processing modes:
- Fast Mode – minimal re-encoding for speed
- Advanced Mode – full re-encoding and parameter control
-
Data Layer –
Manages I/O and ensures data integrity and confidentiality.- All metadata is removed using FFmpeg.
- Filenames are replaced by pseudonyms (UUIDs).
- A local CSV log securely maps patient IDs to pseudonyms for traceability.
-
🧠 AI-based Out-of-Body Scene Detection
Identifies and blurs non-endoscopic frames using a MobileNetV2-LSTM network. -
🔒 Privacy-by-Design De-Identification
Automatic removal of metadata and identifiers; local storage of pseudonym mappings. -
💻 Cross-Platform Availability
Runs on macOS, Windows, and Linux — from laptops to high-performance servers. -
⚡ Dual Processing Modes
Fast vs. Advanced, balancing efficiency and full control. -
🔁 Multithreaded Batch Execution
Enables unattended overnight processing with progress monitoring. -
🧾 Transparent and Reproducible
Full source code and documentation released under a noncommercial license.
Pre-compiled builds are available for:
- macOS (.dmg)
- Windows (.exe)
- Linux (.AppImage or .tar.gz)
Simply download the appropriate version from the official release page, extract, and launch Endoshare.
# 1. Clone the repository
git clone https://github.com/CAMMA-public/Endoshare_code.git
cd Endoshare_code
# 2. Install Python dependencies
pip install -r requirements.txt
# 3. Download model weights (OOBNet)
# Create the checkpoint directory and download weights into it
cd endoshare/resources
mkdir -p ckpt
cd ckpt
wget https://s3.unistra.fr/camma_public/github/oobnet_detection/ckpt/oobnet_weights.h5
cd ../../../
# 4. Install FFmpeg binaries
# The FFmpeg executable must be placed inside: endoshare/resources/Externals/ffmpeg/
# ── macOS / Linux ────────────────────────────────
# Create the folder and download the static build
mkdir -p endoshare/resources/Externals/ffmpeg
cd endoshare/resources/Externals/ffmpeg
wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
tar -xf ffmpeg-release-amd64-static.tar.xz
mv ffmpeg-*-static/ffmpeg .
cd ../../../..
# ── Windows ─────────────────────────────────────
# 1. Go to https://www.gyan.dev/ffmpeg/builds/
# 2. Download "ffmpeg-git-full.7z"
# 3. Extract it and copy the ffmpeg.exe binary into:
# endoshare\\resources\\Externals\\ffmpeg\\ffmpeg.exe
# 5. Launch Endoshare
python main.pyRequirements:
- Python ≥ 3.11
- FFmpeg, OpenCV, TensorFlow, PyQt5, loguru, tqdm, psutil
- Load Cases – Select a folder containing endoscopic video segments.
- Merge Videos – Automatically concatenates clips from the same case.
- De-Identify – Detects and removes out-of-body scenes; strips metadata.
- Export – Produces anonymized videos with consistent format and naming.
- Review – Preview results directly in the GUI.
- External survey of 10 surgeons
→ Perceived usefulness 5.07 ± 1.75 / 7
→ Ease of use 5.15 ± 1.71 / 7
→ Recommendation likelihood 9.2 ± 0.79 / 10 - Processing time was significantly affected by:
- Mode (Fast vs. Advanced)
- Video duration (p ≤ 0.001)
- Machine computational power (p = 0.041)
Endoshare is research and educational software. It is not a medical device and is not certified for clinical or diagnostic use; manual review is recommended for privacy assurance.
- Integration with surgical data lakes and PACS systems
- Multi-user network mode
- Compliance audit logging
- Optional cloud-based anonymization queue
Lorenzo Arboit, Dennis N. Schneider, Britty Baby, Vinkle Srivastav, Pietro Mascagni, Nicolas Padoy
University of Strasbourg, ICube, INSERM, IHU Strasbourg, and Fondazione Policlinico Universitario Agostino Gemelli IRCCS.
This software is distributed under the PolyForm Noncommercial License 1.0.0.
You may use, copy, and modify this software for noncommercial purposes only.
See the full text in LICENSE.