Normal Mucosal Texture
Endoscopic examination of gastrointestinal organs increasingly relies on 3D computer vision techniques such as depth estimation, surface reconstruction, and missing region detection. Yet rigorous method development for endoscopy remains challenging, as ground-truth data cannot be readily acquired during clinical procedures. We present EndoX, a GPU-accelerated synthetic data generation (SDG) framework and interactive simulator for medical endoscopy that enables efficient generation of fully annotated datasets, addressing the data scarcity gap in algorithm development. EndoX automates anatomically accurate 3D mesh generation from computed tomography (CT) data and employs physics-based rendering to produce RGB imagery together with geometric modalities: depth, surface normals, optical flow, occlusion, and camera coverage maps, with precise ground-truth geometry. For validation, we constructed organ-specific datasets by navigating a virtual capsule endoscope through anatomically accurate CT-derived organ meshes, with sensor and lighting parameters configured to approximate real capsule endoscopes. Quantitative evaluations on depth estimation, pose estimation, and 3D Gaussian splatting demonstrate that models trained on EndoX data achieve competitive accuracy, and qualitative assessment confirms transferability to clinical endoscopy. The framework is designed for scalable deployment on GPU nodes via containerization. A sample dataset comprising 3 video sequences (12,000 frames) with paired ground-truth annotations and 3D models is available. Source code of the extension for NVIDIA Omniverse, documentation, and the sample dataset are available at https://beatricelam111.github.io/EndoX/.
We propose EndoX, a GPU-accelerated synthetic data generation framework and high-fidelity simulator for medical endoscopy that:
Normal Mucosal Texture
Pathological Texture
Polyp
Download Dataset on Hugging Face
The example scene in the sample dataset was reconstructed from CT colonography data (CC BY 3.0), with the mesh surface texture adopted from VRCaps. For each video sequence, we provide: (i) a triangulated 3D mesh reconstructed from CT data (Wavefront OBJ), and (ii) a vertex-wise coverage map in vertex indices array in .npz format.
For every frame, we provide the following annotations:
Depth: distance from the camera plane to the object surface, clamped to 0.1–100 mm, linearly scaled, encoded as a 16-bit grayscale image.
Surface normals: reported in world and camera coordinates; X, Y, Z components stored in R, G, B channels, each linearly mapped from [−1, 1] to [0, 65535] as a 16-bit color image.
Optical flow: per-pixel displacement between consecutive frames; R and G channels encode X- and Y-direction motion (±512 px), each linearly mapped to [0, 65535] as a 16-bit color image (the first frame carries no flow value).
Occlusion: an 8-bit binary mask within the 1–100 mm clipping range; pixels occluding other mesh faces set to 255, all others to 0.
Camera pose: per-frame world-space translation and rotation stored as tx, ty, tz, qx, qy, qz, qw (unit quaternion) in a text file.
Coverage map: vertex-wise visibility stored as an index array in .npz format.
EndoX_dataset/
├── colon/
│ ├── calibration.yaml
│ ├── sequence_1/
│ │ ├── coverage_map/
│ │ ├── rgb/
│ │ │ ├── 0000.png
│ │ │ ├── 0001.png
│ │ │ └── ...
│ │ ├── depth/
│ │ ├── normal_world/
│ │ ├── normal_camera/
│ │ ├── optical_flow/
│ │ ├── occlusion/
│ │ └── camera_pose/
│ └── sequence_2/
│ └── ...
└── small_intestine/
├── calibration.yaml
├── sequence_1/
│ └── ...
└── sequence_2/
└── ...
@inproceedings{endox2026,
title = {EndoX: A GPU-Accelerated Endoscopic Perception Simulation Framework},
author = {Kwan Tung Lam and Ping Shu Ho and Patt Phurtivilai and Ka Chun Cheung},
booktitle = {International Conference on Medical Image Computing and Computer-Assisted Intervention (MICCAI)},
year = {2026}
}