MCPcopy Create free account
hub / github.com/denysdovhan/voxel-viewer

github.com/denysdovhan/voxel-viewer @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
304 symbols 619 edges 69 files 0 documented · 0% updated 21d ago★ 761 open issues

Browse by type

Functions 236 Types & classes 68
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Voxel Viewer logo

Voxel Viewer

GitHub Build GitHub Sponsors Buy Me A Coffee Twitter

[!NOTE] Web-based viewer for CBCT (Cone Beam Computed Tomography) volumes and scan folders (supports Sirona GALILEOS, DICOM, OneVolume)

Problem

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.

Features

[!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 or a single DICOM file directly in the browser
  • 🗃️ Supports popular MRP fomats (Sirona GALILEOS, OneVolume, DICOM)
  • GALILEOS folders with *_vol_0 and *_vol_0_###
  • OneVolume exports with native CT_0.vol
  • DICOM slice folders or one uncompressed enhanced multi-frame .dcm file
  • 🧊 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

Demo

Here is a short demo of what this viewer in action:

https://github.com/user-attachments/assets/dec997b3-1226-479f-b6d1-ed4327fa3c3d

Usage

App Repository
📱 denysdovhan.com/voxel-viewer 👨‍💻 denysdovhan/voxel-viewer
QR code for app QR code for repository

Sponsorship

Your generosity will help me maintain and develop more projects like this one.

Tech Overview

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

Contributing

Clone the repository, install dependencies, and start the development server:

npm install
npm run dev

License

PolyForm Noncommercial License 1.0.0 © Denys Dovhan

[!NOTE] Voxel Viewer is source-available for personal, educational, research, and non-commercial use under the PolyForm Noncommercial License 1.0.0.

[!CAUTION] Commercial use is not permitted without prior written permission from Denys Dovhan. This includes use in paid products, commercial services, clinical or diagnostic workflows, SaaS offerings, commercial integrations, or other business purposes.

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Function 232
Interface 59
Enum 9
Method 4

Languages

TypeScript100%

Modules by API surface

src/lib/import/adapters/dicom/reader.ts29 symbols
src/components/SliceCanvas.tsx26 symbols
src/lib/volume/slices.ts19 symbols
src/lib/import/adapters/dicom/parser.ts19 symbols
src/types.ts18 symbols
src/lib/import/types.ts15 symbols
src/app/useViewerApp.ts13 symbols
src/lib/import/adapters/onevolume/helpers.ts10 symbols
src/lib/import/source-picker/directory-upload-picker.ts9 symbols
src/sw.ts8 symbols
src/app/helpers.ts7 symbols
src/lib/volume/three-preview/index.ts6 symbols

For agents

$ claude mcp add voxel-viewer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page