Skip to content

OpenwaterHealth/openwater-reference-meshes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

openwater-reference-meshes

Open reference anatomical meshes for use with the Openwater platform — for treatment planning, beamforming simulation, transducer placement validation, and community experimentation.

This repository is part of the OpenwaterHealth open-source ecosystem. The meshes here are intended as a shared baseline so researchers, developers, and clinicians can prototype against the same anatomy without having to source or process their own.

Research use only. Openwater's platform is exclusively intended for research purposes and is not cleared or approved by the FDA for clinical use.


What's in this repo

Folder Contents Typical use
meshes/skull/ Skull surface meshes (STL/PLY) Skull geometry compensation, beam steering simulations
meshes/head/ Full head surface meshes Transducer placement, headset fit modeling
meshes/brain/ Brain surface and substructure meshes Target region planning, Default Mode Network targeting
examples/ Loading and visualization scripts Onboarding, sanity checks
metadata/ Provenance, scan parameters, citation info Reproducibility

File formats

Format Extension Notes
STL .stl Most common interchange format. Binary STL preferred for size.
PLY .ply Preferred when vertex colors or attributes are needed.
OBJ .obj Use when materials or UV maps are needed.

All meshes are in millimeters unless otherwise specified in the per-file metadata. Origin and orientation conventions are documented per mesh in metadata/ — generally RAS+ (Right, Anterior, Superior) to align with common neuroimaging conventions.


Quick start

Load a mesh with trimesh

import trimesh

mesh = trimesh.load("meshes/skull/example_skull.stl")
print(f"Vertices: {len(mesh.vertices)}, Faces: {len(mesh.faces)}")
print(f"Bounding box (mm): {mesh.bounds}")

# Quick visualization
mesh.show()

Load a mesh with Open3D

import open3d as o3d

mesh = o3d.io.read_triangle_mesh("meshes/skull/example_skull.stl")
mesh.compute_vertex_normals()
o3d.visualization.draw_geometries([mesh])

Use in 3D Slicer

  1. Open 3D Slicer with the SlicerOpenLIFU extension installed.
  2. File → Add Data → select the mesh file.
  3. Verify units (mm) and coordinate system (RAS+) in the Models module.

More examples in examples/.


Provenance and reproducibility

Each mesh includes a sidecar metadata file (metadata/{mesh_name}.yaml) with:

  • Source dataset or scan
  • Acquisition parameters (modality, voxel size, etc., where applicable)
  • Processing pipeline (segmentation tool, decimation, smoothing, units conversion)
  • Coordinate system and origin
  • Known limitations or caveats
  • Citation reference (if derived from a published dataset)

If you generate derived meshes from these, please preserve the provenance chain in your own metadata.


Citation

If you use these meshes in published research, please cite them. See CITATION.cff for machine-readable citation metadata, or use the citation widget in the upper-right of this repo on GitHub.


License

The meshes in this repository are licensed under Creative Commons Attribution 4.0 International (CC-BY-4.0). You are free to share and adapt the meshes for any purpose, including commercial use, provided you give appropriate credit.

Any source code in this repository (loaders, examples, processing scripts) is licensed under Apache 2.0 — see LICENSE-CODE.

Why two licenses? Data and code have different conventions in open science. CC-BY-4.0 is the standard for openly shared scientific data; Apache 2.0 aligns with the rest of the OpenwaterHealth ecosystem's code direction. See the parent organization's licensing overview for context.


Contributing

We welcome new meshes, improved processing, better metadata, and additional loading examples. Before contributing:

  1. Read the org-wide CONTRIBUTING.md.
  2. Sign the Contributor License Agreement (CLA) — this is required for all OpenwaterHealth contributions.
  3. For new meshes: include a provenance metadata file (see metadata/TEMPLATE.yaml) and confirm you have the right to share the source data under CC-BY-4.0.
  4. Open a PR with a clear description of what you're adding and why.

For larger contributions or discussion, drop into our Discord or open a GitHub Discussion.


Community


Acknowledgments

These meshes were initially assembled for the April 2026 Openwater Neuro Hackathon and contributed to the community by Openwater and the participating research teams. Mesh-by-mesh acknowledgments are recorded in each mesh's metadata file.

About

Open anatomical reference meshes (skull, head, brain) for the Openwater platform - for beamforming, transducer placement, and treatment planning simulations.

Topics

Resources

License

CC-BY-4.0, Apache-2.0 licenses found

Licenses found

CC-BY-4.0
LICENSE
Apache-2.0
LICENSE-CODE

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors