Ophora-160K: Ophthalmic Surgical Video Instruction Dataset
160,185 video clip-instruction pair samples from 9,819 ophthalmic surgical videos, covering multiple procedure types. Designed for text-guided surgical video generation and understanding. Published at MICCAI 2025.
At a glance
| Field | Value |
|---|---|
| Short name | ophora |
| Full name | Ophora-160K: Ophthalmic Surgical Video Instruction Dataset |
| Primary category | surgical_video |
| Contained modalities | surgical_video, text |
| Tasks | classification, phase_recognition |
| Samples | 160,185 |
| Classes | Not reported (Not reported) |
| Splits | train |
| Size | 500.0 GB |
| Source-stated terms | Unknown — no license stated |
| Normalized terms | unknown |
| Descriptive screening label | Unknown or unclear; do not assume permission |
| Terms scope | unknown |
| Access friction | self_service_authenticated |
| Route backend | HuggingFace Hub |
| Availability | available (checked 2026-07-21) |
| Acquisition support | standard_platform_supported |
| Legacy sample-loader status | Standard loader included |
Notes
162,185 video clip-instruction pairs from 9,819 source videos (avg clip length ~5.5 s). Estimated ~500 GB total. Video clip-instruction pair dataset for text-guided surgical video generation. May require HF_TOKEN for gated access. Set in .env.
Access preflight and acquisition
- CLI
- Python
# Read-only preflight
eyehub download ophora --data-dir ./data --dry-run --json
# Explicit transfer, only when preflight reports supported behavior
eyehub download ophora --data-dir ./data
from eyedatahub.acquisition import preflight_dataset
from eyedatahub.datasets.registry import REGISTRY
ds = REGISTRY.get_dataset('ophora')
print(preflight_dataset(ds, './data')) # no transfer
Upstream page: huggingface.co/datasets
Source-term evidence: huggingface.co/datasets
Loader example
This entry includes a standard DatasetSample loader.
from pathlib import Path
from eyedatahub.datasets.registry import REGISTRY
data_dir = Path('~/.eyedatahub/data').expanduser()
ds = REGISTRY.get_dataset('ophora')
samples = ds.load(data_dir, split='train')
for s in samples[:5]:
print(s.sample_id, s.label, s.image_path)
Citation
- BibTeX
- Plain text
@misc{ophora,
title = { Ophora-160K: Ophthalmic Surgical Video Instruction Dataset },
note = { Ophora: Text-Guided Ophthalmic Surgical Video Generation. MICCAI 2025. arXiv:2505.07449. HuggingFace: https://huggingface.co/datasets/General-Medical-AI/Ophora-160K — GitHub: https://github.com/uni-medical/Ophora },
year = { 2025 },
url = { https://huggingface.co/datasets/General-Medical-AI/Ophora-160K },
}
Ophora: Text-Guided Ophthalmic Surgical Video Generation. MICCAI 2025. arXiv:2505.07449. HuggingFace: https://huggingface.co/datasets/General-Medical-AI/Ophora-160K — GitHub: https://github.com/uni-medical/Ophora
Source-stated terms
- Raw source string: Unknown — no license stated
- Normalized category:
unknown - Apparent scope:
unknown - Descriptive screening label: Unknown or unclear; do not assume permission
⚠️ Source-stated terms, scope, and normalized labels are curation metadata, not legal advice or a permission finding. Review the current official source before transfer or reuse.
Related datasets with shared modalities
- lmod_plus: LMOD+ Multimodal Ophthalmology Benchmark (32,633 records,
unknown) - lmod_cataract_1k_cot: Cataract-1K Surgical Analysis Chain-of-Thought Dataset (count not reported records,
mit) - fundus_cc_2_5m: Fundus-CC-2.5M Text Corpus (2,500,000 records,
unknown) - ocular_chat_vqa: OcularChat-VQA: AREDS-Derived Patient-Physician Dialogue Dataset (844,000 records,
cc-by-nc-sa) - fundus_105k: Fundus-105K Text Dataset (105,000 records,
unknown) - eyecare_100k: Eyecare-100K: Multimodal Ophthalmology VQA Corpus (102,000 records,
unknown) - angioreport: AngioReport Fundus Angiography Report Dataset (55,361 records,
unknown) - ophthalmology_mcqa_v3: Ophthalmology-MCQA-v3 (51,745 records,
unknown)