An open, large-scale, community-driven dataset of medical ultrasound raw channel data
Open-H-RF is a collaborative initiative led by Stanford University, Eindhoven University of Technology (TU/e) and NVIDIA to build a large-scale, openly licensed dataset of pre-beamformed (channel capture) medical ultrasound measurements. The goal: train general-purpose foundation models capable of multi-task raw-to-insight inference across echocardiography, general, fetal and transcranial imaging, blood flow measurement and ultrasound inverse problems.
The initial (v1.0) release of the dataset contains 19,336 real and synthetic channel capture measurements, spanning a wide variety of acquisition types, targets and downstream tasks, including reconstruction, flow, quantitative imaging, motion estimation and interpretation tasks, contributed by 38 institutions across academia and industry. Released under CC BY 4.0.
The Open-H-RF format is implemented using the zea ultrasound toolbox. Each file holds the raw per-element channel data together with the full transmit and receive geometry needed to beamform it. Where available, files also include derived images, maps, labels and auxiliary signals that help interpret the data.
Tip
Explore the dataset on our catalog page and filter by imaging target, acquisition type, downstream task, or contributor.
- π October 2026: The Open-H-RF preprint is out on arXiv!
- π€ October 2026: Open-H-RF v1.0 is publicly released on Hugging Face!
- π September 2026: Open-H-RF v1.0 early-access pre-release is live on Hugging Face!
The dataset is on Hugging Face at nvidia/Open-H-RF. The files can be streamed using zea.
You can use zea app to inspect and preview the data in each dataset. For GPU-enabled installation instructions, see here. For a minimal install:
pip install "zea[jax,app]"
zea appTaking the tue-carotid dataset as an example, paste hf://nvidia/Open-H-RF/tue-carotid as the dataset and hf://nvidia/Open-H-RF/tue-carotid/pipeline.yaml as the config, pick a file to see its contents, and press Run to beamform it. You can also stream the data directly in Python:
import zea
with zea.Dataset("hf://nvidia/Open-H-RF/tue-carotid") as dataset:
print(dataset.file_paths[:3]) # print the first 3 filenames
file = dataset[0] # streamed (only the bytes you read are downloaded)
file.summary() # print the contents of the file
raw = file.data.raw_data[0] # data for the first frameAlternatively, copy the whole tue-carotid subset to disk:
zea data copy hf://nvidia/Open-H-RF/tue-carotid ./Open-H-RF/tue-carotid --key allTo get only the data you need, use the dataset explorer on the website. Filter the datasets by acquisition type, imaging target, included metadata keys and more, then click Generate download script to get a script that fetches just the matching files.
Note
Contributions to Open-H-RF v1.0 are now closed. We are planning a v2.0 release in the future. If you are interested, please get in touch and join our Discord to stay updated.
Open-H-RF v1.0 participation instructions
- Review the RFP: Read the Request for Proposals for technical scope, eligibility and evaluation criteria.
- Submit a Proposal: Prepare a concise proposal (β€ 5 pages) describing your dataset, collection methodology and target tasks. Submit to this Google Form.
- Contribute Data: Once approved, prepare your dataset in the Open-H-RF format, implemented in
zeaas documented here, along with a data card specifying the CC BY 4.0 license. Approved contributors are given a dedicated shared storage location (S3 or Google Drive) for delivery and a Discord channel for coordination. - Co-author the Release: Approved contributions are included in the public dataset and foundation model release. Contributors are named co-authors in related publications upon project completion.
| Milestone | Date |
|---|---|
| Model training & validation | Q4 2026 |
| Foundation model release | TBD |
| Role | Name | Affiliation |
|---|---|---|
| AI Lead | Prof. Ruud J.G. van Sloun | TU/e |
| Ultrasound Lead | Prof. Jeremy Dahl | Stanford University |
| Industry Lead | Dr. Walter Simson | NVIDIA |
Open-H-RF uses the file format of the zea ultrasound toolbox, described in its data specification. Every dataset on the Open-H-RF Hugging Face page follows the layout below, so any of them is a good example to copy.
Each submission contains:
| File | Contents |
|---|---|
*.hdf5 |
One zea file per acquisition, holding the raw channel data (required) and the full probe and scan geometry |
reconstruct.py |
A runnable script that reconstructs a B-mode image from the raw channel data |
pipeline.yaml |
The zea processing pipeline that reconstruct.py runs |
README.md |
The data card, shown as the dataset page on Hugging Face |
LICENSE |
CC BY 4.0 |
If a submission bundles several sub-datasets with different acquisition types or geometries, give each sub-dataset folder its own reconstruct.py and pipeline.yaml. A single pair at the root is fine when the processing is the same for all of them.
Templates and examples
The examples/templates/ directories are starting points for a submission. Each has a convert.py (source data to Open-H-RF .hdf5), a reconstruct.py and a pipeline.yaml.
| Example | Modality |
|---|---|
echocardiography template |
Cardiac (phased array): focused transmits, ECG + clinical metadata, annotations |
color-doppler template |
Linear array (plane-wave): B-mode + color Doppler velocity map, ECG, annotations |
segmentation template |
Raw RF data with per-frame segmentation masks and view labels |
verasonics template |
Converting a real Verasonics .mat workspace to Open-H-RF |
nv-raw2insights-us/ |
Worked example on a real public dataset: stream a sample from NV-Raw2Insights-US, convert to Open-H-RF, and beamform raw channel data back to a B-mode |
pala-ulm-ratbrain/ |
Converting PALA rat-brain plane-wave channel data from Zenodo to Open-H-RF format and beamforming to a B-mode |
tracked-cirs-phantom/ |
Converting a tracked CIRS phantom acquisition to Open-H-RF, reconstructing a B-mode, and visualizing the tracked probe trajectory |
examples/reconstruct_example.py |
Reconstructing a B-mode image from raw RF channel data using the default zea pipeline |
examples/save_pipeline_example.py |
Saving a zea processing pipeline as a reusable YAML config |
This repo uses uv for environment + dependency management. Install it once: curl -LsSf https://astral.sh/uv/install.sh | sh.
git clone https://github.com/open-h/Open-H-RF
cd Open-H-RF
uv sync
export KERAS_BACKEND=jax
uv run python examples/save_pipeline_example.pyuv sync creates .venv/ and installs dependencies listed in pyproject.toml. Run any script with uv run python <script>.py, or activate the venv with source .venv/bin/activate.
This repo pins zea v0.1.8. For more detailed installation instructions, see the zea installation docs.
Pick a backend / accelerator with extras:
| Use case | Command |
|---|---|
| JAX (CPU, default) | uv sync |
| JAX + CUDA | uv sync --extra gpu |
| PyTorch | uv sync --extra torch (Linux pip wheels include CUDA by default) |
| TensorFlow (CPU) | uv sync --extra tf |
| TensorFlow + CUDA | uv sync --extra tf-gpu |
Set the matching KERAS_BACKEND (jax, torch, or tensorflow) before running examples.
Note
On Windows, use WSL2. See details.
If you use Open-H-RF in your research, please cite the Open-H-RF paper:
@misc{stevens2026openhrf,
title = {{Open-H-RF}: A Large-Scale Ultrasound Raw Channel Dataset Initiative},
author = {T. S. W. Stevens and S. W. Penninga and W. L. van Nierop and O. Nolan and F. Duelmer and
B. N. Frey and B. Federici and V. van Hal and L. D. van Harten and H. de Hoop and
R. Lopata and B. Luijten and M. van Sambeek and V. van der Schaft and H.-M. Schwab and
M. F. Azampour and N. Navab and R. Ali and A. Andrzejek and J. Baek and B. Boitnott and
T. Brevett and H. Hashemi and D. Hyun and J. H. Park and A. V. Telichko and
C. Thomas and L. Zhuang and Y. Aklilu and H. Arora and J. Barker and A. K. Mackanic and
P. McDowall and L. McHugh and I. Pirozzi and S. Simon-Trench and A. M. Bronstein and
O. Senouf and S. Vedula and D. Zadok and H. Rivaz and M. Sharifzadeh and S. Chen and
G. P. Luke and S. Wang and Yujia Wu and J. Verde and R. G{\"o}bl and O. Zettinig and
E. Boctor and Yixuan Wu and H.-M. Bae and M.-G. Kim and Y.-M. Kim and H. Lee and
S.-H. Oh and P. Pinto and M. Berrada-Sounni and M. Carley and R. J. Fedewa and
S. Gavin and N. Goldsmith and R. Kassayan and C. Low and R. Mehranfar and
G. Bardoscia and M. Boccardo and A. Botter and M. Carbonaro and G. L. Cerone and
E. Cesti and K. Meiburger and S. Seoni and F. Truscello and B. J. Raiteri and
L. Caron and M. Gasse and N. Ghigo and O. Gulenko and A. Leconte and S. A. Lee and
A. Malescot and E. Martineau and J. Por{\'e}e and J. Provost and G. Ramos-Palacios and
B. Rauby and R. L. Rungta and A. F. Sadikot and A. Wu and P. Xing and A. Chavignon and
C. Ferlay and V. Hingot and M. Reberol and A. Waelbroeck and H.-S. Kwon and
J. Bucholz and I. Guracar and R. Loftman and C. Williams and T. Grutman and
T. Ilovitsh and T. A. Aleef and P. B. Chen and W. Chen and Y. Chen and M. Frew and
M. Honarvar and Y. C. Lee and Z. Li and H. Moradi and R. Rohling and S. E. Salcudean and
Z. Wu and Q. Zeng and P. C. Cattin and S. El Hadramy and N. Bottenus and A. S. Perez and
S. Feng and Y. Feng and P. Jin and Y. Lin and O. Ostras and G. Pinton and
F. Santibanez and M. Sode and B. Turkbey and H. Wang and B. J. Wood and L. Zhang and
S. Luo and J. Wiskin and A. Austeng and Y. Karabiyik and S. P. N{\"a}sholm and
O. M. H. Rindal and D. Bustamante and M. Mehrmohammadi and H. Raeis and A. Hameddine and
G. Lajoinie and H. de Roo and M. Versluis and R. Zorgdrager and J. S. Au and
A. J. Y. Chee and J. Cohen and T. Gu and J. Y.-H. Hsu and S. Ling and M. Mourtzakis and
H. Nahas and P. de la Torre and D. Xiao and A. C. H. Yu and E. Zafiris and
P. Jarosik and P. Karwat and Z. Klimonda and M. Lewandowski and B. Byram and C. Khan and
Z. Marshall and Y.-C. Pan and S. Liu and T. Sultan and C. Hoerig and J. Mamou and
D. Auerbach and Y. C. Eldar and A. Wegerhoff and G. S. Fischer and S. Katayose and
X. Ma and R. Murakami and Y. Tang and R. Tsumura and Y. Wang and H. K. Zhang and
M. Azizian and S. Huver and J. J. Dahl and R. J. G. van Sloun and W. Simson},
year = {2026},
eprint = {2610.13616},
archivePrefix = {arXiv},
primaryClass = {eess.SP},
doi = {10.48550/arXiv.2610.13616},
url = {https://arxiv.org/abs/2610.13616}
}If you use zea to access or process the data, please also cite the zea paper:
@article{stevens2026zea,
title = {{zea}: A Toolbox for Cognitive Ultrasound Imaging},
author = {Stevens, Tristan S. W. and van Nierop, Wessel L. and Luijten, Ben and
van de Schaft, Vincent and Nolan, Ois{\'i}n and Federici, Beatrice and
van Harten, Louis D. and Penninga, Simon W. and Schueler, Noortje I. P. and
van Sloun, Ruud J. G.},
journal = {Journal of Open Source Software},
publisher = {The Open Journal},
year = {2026},
volume = {11},
number = {121},
pages = {9881},
doi = {10.21105/joss.09881},
url = {https://doi.org/10.21105/joss.09881}
}If you use a specific sub-dataset, please also check whether it has its own citation. Open the dataset explorer, click the dataset's card and see its Citation section.
- Technical questions: openh.data+rf@gmail.com, the Hugging Face dataset community page, or the
zeacommunity page - Administrative questions: wsimson@nvidia.com
- Community: Join our Discord
Code in this repository is licensed under the Apache License 2.0. The Open-H-RF v1.0 dataset is licensed under CC BY 4.0.