A free, browser-based, interactive 3D atlas of the human body.
Status: P0 technical spike. A working explorer and computed X-ray prototype: try the preview and read the spike findings. The full plan is in the product requirements document.
Somatlas is one explorable body:
- Explore. Rotate the body, peel back its layers and cut through it with a section plane.
- Drill down. Hotspots lead from the whole body to each organ system, then to organs and their parts.
- X-ray it. Choose exactly which structures to scan, place a virtual X-ray source anywhere, and see a radiograph calculated from the anatomy models in real time.
- Learn. Read short, sourced descriptions, watch process animations (heartbeat, breathing, digestion and more), and test yourself with a quiz played on the model.
- Share. Every view can be reproduced from a URL. The app works offline once loaded.
It is inspired by 1990s anatomy CD-ROMs such as DK's The Ultimate Human Body, but is built from scratch with open data and original content. Somatlas is not affiliated with or endorsed by DK.
- Free and non-commercial. No ads, no paid tiers, no accounts, no trackers.
- Complete anatomy. The human body is shown in full, without censorship, in a neutral and educational way.
- Open and attributable. Every asset has a recorded source and licence, and the build checks this.
- Define once, derive interfaces. Anatomical structures and user actions are each defined once, in a structure registry and an operation registry. Hotspots, search, the quiz, URLs, keyboard shortcuts and other surfaces are derived from them.
- Educational, not medical. Nothing here is medical advice, and computed radiographs are illustrative, not diagnostic.
TypeScript, Vite and Three.js (WebGL2), with anatomy delivered as compressed glTF packs. It is a static web app with no backend.
npm ci
npm run dev # local dev server
npm test # unit tests (X-ray physics, exposure, operation registry)
npm run typecheck
npm run assets:check # published packs agree with the registry
npm run build # static site in dist/The anatomy packs in public/ are generated by the asset pipeline and committed, so you don't need Blender to work on the app.
| Path | What it is |
|---|---|
src/registry.ts |
Structure registry: types and derived indexes |
src/ops.ts, src/app.ts |
Operation registry, and the operations whose URL and keyboard surfaces are derived from it |
src/scene/ |
Pack loading and merging, shaders, the viewer, the X-ray renderer |
src/xray/ |
Attenuation physics and automatic exposure (pure, unit-tested) |
pipeline/ |
Z-Anatomy to GLB packs: audit, export, body hull, simplification, checks |
docs/ |
PRD and spike reports |
| Source | Used for | Licence |
|---|---|---|
| BodyParts3D | Base 3D anatomy meshes | CC BY-SA 2.1 Japan |
| Z-Anatomy | Organised and completed meshes, definitions | CC BY-SA 4.0 (a few files CC BY-NC) |
| OpenStax Anatomy and Physiology 2e | Source text for descriptions | CC BY 4.0 |
| NIST X-ray attenuation tables | Tissue attenuation for the X-ray scanner | US government data |
| Visible Human Project | Cross-section imagery | NLM terms and conditions |
See §9 of the PRD for details.
| Phase | Focus |
|---|---|
| P0 | Spike: load anatomy, pick structures, prototype the X-ray pass, audit mesh quality |
| P1 | MVP: body explorer with hotspots, layers and section plane; core X-ray scanner; search and deep links |
| P2 | Contrast agents and X-ray export, quiz, process animations, pronunciations |
| P3 | Flythroughs, slice viewer, offline install, accessibility audit |
- Code: to be decided (see PRD §16).
- Anatomy assets: CC BY-SA 4.0. The few possibly non-commercial files are kept in separate
*-ncpacks under their own licences. See ATTRIBUTION.md. - Original content: CC BY-SA 4.0 (proposed).
- Preview (head of
main): https://bricef.github.io/Somatlas/ - Website: somatlas.org (coming soon)
- Product requirements: docs/prd.md
- P0 spike findings: docs/spikes/p0.md
- Attribution: ATTRIBUTION.md
