Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .claude/skills/open-h-rf-convert
1 change: 1 addition & 0 deletions .claude/skills/open-h-rf-submission-eval
1 change: 0 additions & 1 deletion .claude/skills/openh-rf-convert

This file was deleted.

1 change: 0 additions & 1 deletion .claude/skills/openh-rf-submission-eval

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ on:
branches: [main]
paths:
- "site/**"
- "plots/openh_rf_datasets.py"
- "plots/open_h_rf_datasets.py"
- "scripts/authors.csv"
- "scripts/compile_authors.py"
- ".github/workflows/pages.yml"
pull_request:
branches: [main]
paths:
- "site/**"
- "plots/openh_rf_datasets.py"
- "plots/open_h_rf_datasets.py"
- "scripts/authors.csv"
- "scripts/compile_authors.py"
- ".github/workflows/pages.yml"
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ examples/tracked-cirs-phantom/3d_views/

# The Hub repo's documents, cloned by huggingface/setup.sh. Not a submodule: a checkout
# that setup.sh does not guard would pull ~39 TB of LFS payload.
huggingface/OpenH-RF/
huggingface/Open-H-RF/

# The website build (site/build.py); site/figures/ holds a card figure that is not on the Hub.
site/_site/
Expand Down
8 changes: 4 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ Available skills:

| Skill | Purpose |
|---|---|
| [`skills/openh-rf-submission-eval/`](./skills/openh-rf-submission-eval/) | Evaluate a contributor submission to the OpenH-RF initiative against the RFP and submission guide. Produces a structured acceptance report. |
| [`skills/openh-rf-convert/`](./skills/openh-rf-convert/) | Source-agnostic dataset conversion adapter — turn an arbitrary source ultrasound dataset into the OpenH-RF (zea) file format, with a confirmed source→zea field mapping and a verified conversion. |
| [`skills/open-h-rf-submission-eval/`](./skills/open-h-rf-submission-eval/) | Evaluate a contributor submission to the Open-H-RF initiative against the RFP and submission guide. Produces a structured acceptance report. |
| [`skills/open-h-rf-convert/`](./skills/open-h-rf-convert/) | Source-agnostic dataset conversion adapter — turn an arbitrary source ultrasound dataset into the Open-H-RF (zea) file format, with a confirmed source→zea field mapping and a verified conversion. |

[`skills/openh-rf-shared/`](./skills/openh-rf-shared/) is a shared,
[`skills/open-h-rf-shared/`](./skills/open-h-rf-shared/) is a shared,
non-invocable support directory (no `SKILL.md`, so no discovery symlink) holding
files read by both skills above — the zea-format notes, the data-card template,
the B-mode pipeline template, and the authoritative `validate_zea_spec.py`
checker. Skills reference it by relative path (`../openh-rf-shared/…`).
checker. Skills reference it by relative path (`../open-h-rf-shared/…`).

### Invocation per tool

Expand Down
62 changes: 31 additions & 31 deletions README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion assets/badge-website.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/openh-rf-header.jpg
Binary file not shown.
4 changes: 2 additions & 2 deletions datasets/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# OpenH-RF — reconstructions
# Open-H-RF — reconstructions

The code counterpart to [**OpenH-RF**](https://huggingface.co/datasets/nvidia/OpenH-RF) on the Hugging Face Hub. The data lives there; the reconstructions scripts are here.
The code counterpart to [**Open-H-RF**](https://huggingface.co/datasets/nvidia/Open-H-RF) on the Hugging Face Hub. The data lives there; the reconstructions scripts are here.

Each directory consists of:

Expand Down
10 changes: 5 additions & 5 deletions datasets/colorado-boulder/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ task_categories:
tags:
- ultrasound
- rf
- openh-rf
- open-h-rf
- 3d
language:
- en
Expand All @@ -20,7 +20,7 @@ size_categories:
| 2D ATS 539 phantom | 3D phantom | In-vivo quadriceps |
|:---:|:---:|:---:|
| ![Tracked SSA sweep through the 2D ATS 539 phantom](assets/ssa-sweep-phantom2d.gif) | ![Tracked SSA sweep through the 3D phantom](assets/ssa-sweep-phantom3d.gif) | ![Tracked SSA sweep along in-vivo quadriceps muscle](assets/ssa-sweep-invivo.gif) |
| [`Sub-dataset-1`](https://huggingface.co/datasets/nvidia/OpenH-RF/tree/main/colorado-boulder/Sub-dataset-1) | [`Sub-dataset-2`](https://huggingface.co/datasets/nvidia/OpenH-RF/tree/main/colorado-boulder/Sub-dataset-2) | [`Sub-dataset-3`](https://huggingface.co/datasets/nvidia/OpenH-RF/tree/main/colorado-boulder/Sub-dataset-3) |
| [`Sub-dataset-1`](https://huggingface.co/datasets/nvidia/Open-H-RF/tree/main/colorado-boulder/Sub-dataset-1) | [`Sub-dataset-2`](https://huggingface.co/datasets/nvidia/Open-H-RF/tree/main/colorado-boulder/Sub-dataset-2) | [`Sub-dataset-3`](https://huggingface.co/datasets/nvidia/Open-H-RF/tree/main/colorado-boulder/Sub-dataset-3) |

*Motion-compensated tracked SSA reconstructions, one per sub-dataset. Each frame beamforms the raw RF channel data with its own tracked probe pose; a 40 mm window of frames is then coherently summed to synthesise a larger effective aperture, and the window slides along the freehand sweep.*

Expand All @@ -30,7 +30,7 @@ This dataset contains tracked swept synthetic aperture (SSA) ultrasound acquisit

The data were acquired using a Verasonics Vantage research ultrasound system with a P4-2 phased array transducer. The dataset includes raw RF channel data, acquisition parameters, probe geometry, transmit information, and frame-wise tracked probe pose metadata.

The purpose of this dataset is to provide reproducible examples for generalized ultrasound reconstruction, with a particular focus on motion-compensated tracked SSA reconstruction using the zea/OpenH-RF data format.
The purpose of this dataset is to provide reproducible examples for generalized ultrasound reconstruction, with a particular focus on motion-compensated tracked SSA reconstruction using the zea/Open-H-RF data format.

The phantom acquisitions do not contain human subject data, animal data, or protected health information (PHI). The in-vivo acquisitions were collected from healthy volunteer participants and de-identified prior to release.

Expand Down Expand Up @@ -88,7 +88,7 @@ None (N/A).

## Processing the Dataset

The acquisitions can be processed with the `reconstruct.py` [script](https://github.com/open-h/OpenH-RF/blob/main/datasets/colorado-boulder/reconstruct.py) as provided in the [OpenH-RF GitHub repository](https://github.com/open-h/OpenH-RF), together with the `pipeline.yaml` definition in this folder and the [zea library](https://github.com/tue-bmd/zea). The script streams the data from the Hugging Face Hub.
The acquisitions can be processed with the `reconstruct.py` [script](https://github.com/open-h/Open-H-RF/blob/main/datasets/colorado-boulder/reconstruct.py) as provided in the [Open-H-RF GitHub repository](https://github.com/open-h/Open-H-RF), together with the `pipeline.yaml` definition in this folder and the [zea library](https://github.com/tue-bmd/zea). The script streams the data from the Hugging Face Hub.

The script selects tracked frames at roughly 1 mm lateral spacing and writes the reconstruction to `ssa_bmode.png`. Point `ZEA_FILE` at any acquisition in the corpus to reconstruct it. [`assets/main_bmode.png`](./assets/main_bmode.png) was produced this way, compounding the full sweep into one image; the loops at the top of this card slide a shorter aperture window along the sweep instead.

Expand All @@ -98,7 +98,7 @@ The script selects tracked frames at roughly 1 mm lateral spacing and writes the

[zea v0.1.7](https://github.com/tue-bmd/zea)

The dataset is distributed in the zea/OpenH-RF HDF5 format.
The dataset is distributed in the zea/Open-H-RF HDF5 format.

Each file includes:

Expand Down
8 changes: 4 additions & 4 deletions datasets/colorado-boulder/reconstruct.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
"""Example reconstruction script for the colorado-boulder dataset of OpenH-RF.
"""Example reconstruction script for the colorado-boulder dataset of Open-H-RF.

Dataset link: https://huggingface.co/datasets/nvidia/OpenH-RF/tree/main/colorado-boulder
Dataset link: https://huggingface.co/datasets/nvidia/Open-H-RF/tree/main/colorado-boulder

B-mode reconstruction of tracked swept synthetic aperture phantom channel data.

Expand Down Expand Up @@ -51,10 +51,10 @@
# --- Inputs -----------------------------------------------------------------
# Defaults stream straight from the published corpus. Swap any of these for a
# local path to run against your own copy.
ZEA_FILE = "hf://nvidia/OpenH-RF/colorado-boulder/Sub-dataset-1/sub-phantom2d_01_tracked-ssa.hdf5"
ZEA_FILE = "hf://nvidia/Open-H-RF/colorado-boulder/Sub-dataset-1/sub-phantom2d_01_tracked-ssa.hdf5"
CONFIG = HERE / "pipeline.yaml" # written by build_pipeline() below; this is what the run loads
OUT = HERE / "ssa_bmode.png"
HF_CONFIG = "hf://nvidia/OpenH-RF/colorado-boulder/pipeline.yaml" # where CONFIG is published
HF_CONFIG = "hf://nvidia/Open-H-RF/colorado-boulder/pipeline.yaml" # where CONFIG is published
FRAME_SPACING = 1e-3 # select tracked frames every 1 mm along the sweep


Expand Down
14 changes: 7 additions & 7 deletions datasets/concordia/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ task_categories:
tags:
- ultrasound
- rf
- openh-rf
- open-h-rf
- synthetic
- field-ii
language:
Expand All @@ -21,11 +21,11 @@ size_categories:

![B-mode reconstructions of the five SynthUS-FSA phantom classes](assets/classes.png)

*The five phantom classes (anechoic, hypoechoic, hyperechoic, diverse, point-target), one capture per column: [`image_0012`](https://huggingface.co/datasets/nvidia/OpenH-RF/blob/main/concordia/data/image_0012.hdf5), [`image_0410`](https://huggingface.co/datasets/nvidia/OpenH-RF/blob/main/concordia/data/image_0410.hdf5), [`image_0733`](https://huggingface.co/datasets/nvidia/OpenH-RF/blob/main/concordia/data/image_0733.hdf5), [`image_0753`](https://huggingface.co/datasets/nvidia/OpenH-RF/blob/main/concordia/data/image_0753.hdf5), [`image_1808`](https://huggingface.co/datasets/nvidia/OpenH-RF/blob/main/concordia/data/image_1808.hdf5). Rows show the reference B-mode (`data/image`), the simulated scatterer cloud (`data/scatterers`) and the label map (`data/segmentation` for the lesion classes, `data/diverse_source_image` for diverse; point-target captures store none).*
*The five phantom classes (anechoic, hypoechoic, hyperechoic, diverse, point-target), one capture per column: [`image_0012`](https://huggingface.co/datasets/nvidia/Open-H-RF/blob/main/concordia/data/image_0012.hdf5), [`image_0410`](https://huggingface.co/datasets/nvidia/Open-H-RF/blob/main/concordia/data/image_0410.hdf5), [`image_0733`](https://huggingface.co/datasets/nvidia/Open-H-RF/blob/main/concordia/data/image_0733.hdf5), [`image_0753`](https://huggingface.co/datasets/nvidia/Open-H-RF/blob/main/concordia/data/image_0753.hdf5), [`image_1808`](https://huggingface.co/datasets/nvidia/Open-H-RF/blob/main/concordia/data/image_1808.hdf5). Rows show the reference B-mode (`data/image`), the simulated scatterer cloud (`data/scatterers`) and the label map (`data/segmentation` for the lesion classes, `data/diverse_source_image` for diverse; point-target captures store none).*

## Dataset Description

SynthUS-FSA is a fully synthetic corpus of pre-beamformed full-synthetic-aperture (FSA) ultrasound channel-data captures, generated with the Field II simulator to model a 128-element L11-5v linear array. Each capture fires one transmit event per element (128 transmits, receive on all 128 elements), so every element-to-element combination is retained and any receive/transmit beamforming scheme (focused B-mode, multi-angle plane-wave compounding, diverging-wave, adaptive/compressive schemes) can be retrospectively synthesized from the same channel data. The dataset is packaged in [zea](https://zea.readthedocs.io) format — the OpenH-RF reference Python library for ultrasound file I/O and beamforming — which every `.hdf5` file and `reconstruct.py` depend on. The dataset targets three OpenH-RF task categories: (1) generalized reconstruction (FSA channel data paired with a synthesized full synthetic-aperture B-mode as ground truth), (2) compressed sensing / adaptive transmit (retrospective sub-selection of the 128 transmit events — derived from the same captures, no additional files), and (3) segmentation (binary echogenicity masks on a subset of phantoms). All data is simulated — no clinical, phantom-hardware, or animal acquisition is involved.
SynthUS-FSA is a fully synthetic corpus of pre-beamformed full-synthetic-aperture (FSA) ultrasound channel-data captures, generated with the Field II simulator to model a 128-element L11-5v linear array. Each capture fires one transmit event per element (128 transmits, receive on all 128 elements), so every element-to-element combination is retained and any receive/transmit beamforming scheme (focused B-mode, multi-angle plane-wave compounding, diverging-wave, adaptive/compressive schemes) can be retrospectively synthesized from the same channel data. The dataset is packaged in [zea](https://zea.readthedocs.io) format — the Open-H-RF reference Python library for ultrasound file I/O and beamforming — which every `.hdf5` file and `reconstruct.py` depend on. The dataset targets three Open-H-RF task categories: (1) generalized reconstruction (FSA channel data paired with a synthesized full synthetic-aperture B-mode as ground truth), (2) compressed sensing / adaptive transmit (retrospective sub-selection of the 128 transmit events — derived from the same captures, no additional files), and (3) segmentation (binary echogenicity masks on a subset of phantoms). All data is simulated — no clinical, phantom-hardware, or animal acquisition is involved.

A similar data-generation approach was used in Sharifzadeh et al. (2024). Users of this dataset are kindly requested to cite that work:

Expand Down Expand Up @@ -82,13 +82,13 @@ The acquisitions can be processed with the `pipeline.yaml` definition in this fo

```bash
zea process \
--dataset hf://nvidia/OpenH-RF/concordia/data/image_0005.hdf5 \
--config hf://nvidia/OpenH-RF/concordia/pipeline.yaml \
--dataset hf://nvidia/Open-H-RF/concordia/data/image_0005.hdf5 \
--config hf://nvidia/Open-H-RF/concordia/pipeline.yaml \
--n-frames 1 \
--save-as png
```

Alternatively, you can use the `reconstruct.py` [script](https://github.com/open-h/OpenH-RF/blob/main/datasets/concordia/reconstruct.py) as provided in the [OpenH-RF GitHub repository](https://github.com/open-h/OpenH-RF).
Alternatively, you can use the `reconstruct.py` [script](https://github.com/open-h/Open-H-RF/blob/main/datasets/concordia/reconstruct.py) as provided in the [Open-H-RF GitHub repository](https://github.com/open-h/Open-H-RF).

## Dataset Format

Expand All @@ -107,7 +107,7 @@ Pre-processing applied before packaging: anti-alias FIR decimation (factor 5, 10

## Dataset Quantification

**Current OpenH-RF release:** 2,000 HDF5 files; 82.39 GB (82,390,286,336 bytes) stored; root `zea_version` **0.1.6**. Sizes include all HDF5 contents and use decimal units (MB = 10^6 bytes, GB = 10^9 bytes, TB = 10^12 bytes), not decoded-array memory or original-source download sizes.
**Current Open-H-RF release:** 2,000 HDF5 files; 82.39 GB (82,390,286,336 bytes) stored; root `zea_version` **0.1.6**. Sizes include all HDF5 contents and use decimal units (MB = 10^6 bytes, GB = 10^9 bytes, TB = 10^12 bytes), not decoded-array memory or original-source download sizes.

This dataset comprises 2,000 FSA captures across five echogenicity classes:

Expand Down
Loading
Loading