Metadata-Version: 2.4
Name: ultrasound-metrics
Version: 0.1.0
Summary: Metrics for ultrasound data and images
Project-URL: Homepage, https://forest-neurotech-ultrasound-metrics.readthedocs-hosted.com/en/latest/
Project-URL: Repository, https://github.com/Forest-Neurotech/ultrasound-metrics
Project-URL: Documentation, https://Forest-Neurotech.github.io/ultrasound-metrics/
Author-email: Charles Guan <charles@forestneurotech.org>, Ansh Kharbanda <ansh@forestneurotech.org>, Jake McCall <jake@forestneurotech.org>, Alex Rockhill <alex@forestneurotech.org>
Maintainer-email: Forest Neurotech Developers <software-update@forestneurotech.org>
Keywords: python
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <4.0,>=3.10
Requires-Dist: array-api-compat>=1.11.0
Requires-Dist: array-api-extra>=0.7.0
Requires-Dist: beartype>=0.16.0
Requires-Dist: einops>=0.8.0
Requires-Dist: equinox>=0.11.11
Requires-Dist: jax>=0.4.38
Requires-Dist: jaxtyping>=0.3.0
Requires-Dist: matplotlib>=3.9.4
Requires-Dist: numpy>=2.0.1
Requires-Dist: opencv-python>=4.11.0
Requires-Dist: pandas>=2.2.2
Requires-Dist: pyyaml>=5.4.1
Requires-Dist: requests>=2.25.0
Requires-Dist: scikit-image>=0.25.0
Requires-Dist: scikit-posthocs>=0.11.3
Requires-Dist: scipy>=1.9.0
Requires-Dist: statsmodels>=0.14.4
Requires-Dist: xarray>=2024.10.0
Provides-Extra: backends
Requires-Dist: jax>=0.4.32; (python_version >= '3.10') and extra == 'backends'
Requires-Dist: numpy>=1.22; extra == 'backends'
Requires-Dist: torch>=1.13; extra == 'backends'
Provides-Extra: datasets
Requires-Dist: pyuff-ustb>=3.0.0; extra == 'datasets'
Provides-Extra: interactive
Requires-Dist: napari[all]>=0.5.0; extra == 'interactive'
Provides-Extra: progress
Requires-Dist: tqdm>=4.0.0; extra == 'progress'
Description-Content-Type: text/markdown

# ultrasound-metrics

[![Linting badge](https://github.com/Forest-Neurotech/ultrasound-metrics/actions/workflows/check.yml/badge.svg)](https://github.com/Forest-Neurotech/ultrasound-metrics/actions/workflows/check.yml/badge.svg)
[![Test badge](https://github.com/Forest-Neurotech/ultrasound-metrics/actions/workflows/test.yml/badge.svg)](https://github.com/Forest-Neurotech/ultrasound-metrics/actions/workflows/test.yml/badge.svg)

> **⚠️ Alpha Release**
>
> This library is currently under active development and is released as an alpha version. The primary goal of this release is to collect community feedback.

## Introduction

*ultrasound-metrics* is an open-source Python library for ultrasound data and image quality analysis developed at [Forest Neurotech](https://forestneurotech.org/). It is written in the [Array API standard](https://data-apis.org/array-api/2024.12/), making it compatible across NumPy, JAX, and PyTorch backends. The implementation supports GPU acceleration (CuPy, JAX, PyTorch), software acceleration (JIT or AOT compilation), and interactive region-of-interest selection for metrics in 2D.

Documentation on *ultrasound-metrics* can be found [here](https://forest-neurotech-ultrasound-metrics.readthedocs-hosted.com/latest/) and examples can be viewed [here](https://forest-neurotech-ultrasound-metrics.readthedocs-hosted.com/latest/example_gallery/index.html). We are actively taking [requests](https://github.com/Forest-Neurotech/ultrasound-metrics/issues) for additional metrics that may be helpful to ultrasound researchers.

## Installation

### Install from PyPi (recommended:)

```bash
pip install ultrasound-metrics
```

### Build from source

```bash
make install
```

Build prerequisites:
* `uv >= 0.6.10`
* optional: `make`

## Documentation
We currently support the following ultrasound data and image quality metrics:
* contrast-to-noise ratio (CNR)
* generalized contrast-to-noise ratio (gCNR)
* signal-to-noise ratio for raw radiofrequency signals (RF SNR)
* temporal signal-to-noise ratio (tSNR)
* sharpness (tenengrad)
* coherence factor
and more!

We are actively taking requests for metrics, ultrasound data file types to support, and additional features that would be helpful to the ultrasound imaging community. To make a feature request, please [submit a GitHub issue](https://github.com/Forest-Neurotech/ultrasound-metrics/issues).

## Acknowledgements

ultrasound-metrics builds upon the excellent work of the ultrasound imaging community:

- **[ultraspy](https://ultraspy.readthedocs.io/en/latest/index.html#)** - For educational examples and validation benchmarks
- **[PICMUS](https://www.creatis.insa-lyon.fr/Challenge/IEEE_IUS_2016/)** - For public, standardized datasets used in examples

This package was developed by the [Forest Neurotech](https://forestneurotech.org/) team, a [Focused Research Organization](https://www.convergentresearch.org/about-fros) supported by [Convergent Research](https://www.convergentresearch.org/) and [generous philanthropic funders](https://www.convergentresearch.org/fro-portfolio).
