Note
Web-based viewer for CBCT (Cone Beam Computed Tomography) volumes and scan folders (supports Sirona GALILEOS, DICOM, OneVolume)
When I visit my dentist, they often send me 3D renderings of my dental scans to my email. The problem is these scans are usually in a format that can only be opened with specific software, usually only for Windows PCs.
I wanted to be able to view these scans on my Mac, or on my phone/tablet in the browser.
Dental and maxillofacial CT exports often arrive as vendor-specific folder structures. I used Codex to reverse-engineer these formats and build a simple web-based viewer for them.
Voxel Viewer solves that by opening supported study folders directly in the browser, parsing them locally, building the volume off the main thread, and rendering linked MPR slices alongside a 3D preview.
Warning
This app is a side-project build for fun and learning. This is not a medical-grade software, and it should not be used for diagnostic purposes.
I built this project over a weekend to view my dental scans. So far it supports the following features:
- 📁 Open scan folders directly in the browser (File System Access API)
- 🗃️ Supports popular MRP fomats (Sirona GALILEOS, OneVolume, DICOM)
GALILEOSfolders with*_vol_0and*_vol_0_###OneVolumeexports with nativeCT_0.volDICOMslice folders with.dcmfiles
- 🧊 3 axial slices (axial, sagittal, coronal) with linked crosshairs
- 🦷 Renders 3D model with intersecting plains
- 📱 PWA-ready, so you can install it on your phone or tablet
Here is a short demo of what this viewer in action:
demo.mp4
| App | Repository |
|---|---|
| 📱 denysdovhan.com/voxel-viewer | 👨💻 denysdovhan/voxel-viewer |
Your generosity will help me maintain and develop more projects like this one.
- 💖 Sponsor on GitHub
- ☕️ Buy Me A Coffee
- Bitcoin:
bc1q7lfx6de8jrqt8mcds974l6nrsguhd6u30c6sg8 - Ethereum:
0x6aF39C917359897ae6969Ad682C14110afe1a0a1
Overall, this is a web-based app built with the following technologies:
- React, TypeScript - main framework and language
- Vite - build tool
- Tailwind - styling
- Three.js - 3D rendering
- Web Workers - background processing
fflate- compression, unzipping
Clone the repository, install dependencies, and start the development server:
npm install
npm run dev