Skip to content
bricefPublic

About

An interactive human anatomy atlas

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Somatlas

A screenshot showing an anatomy model

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.

What it will do

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.

Principles

  • 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.

Stack

TypeScript, Vite and Three.js (WebGL2), with anatomy delivered as compressed glTF packs. It is a static web app with no backend.

Development

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

Data sources

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.

Roadmap

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

Licensing

  • Code: to be decided (see PRD §16).
  • Anatomy assets: CC BY-SA 4.0. The few possibly non-commercial files are kept in separate *-nc packs under their own licences. See ATTRIBUTION.md.
  • Original content: CC BY-SA 4.0 (proposed).

Links

About

An interactive human anatomy atlas

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages