# Getting Started

## Installation

Install from PyPI (recommended):

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

For development installation:

```bash
git clone https://github.com/Forest-Neurotech/ultrasound-metrics.git
cd ultrasound-metrics
make install
```

## Quick Start

Basic usage with NumPy arrays:

```python
import numpy as np
import ultrasound_metrics as um

# Generate example beamformed channel data
n_elements, height, width = 64, 100, 150
channel_data = np.random.complex128((n_elements, height, width))

# Compute coherence factor
coherence = um.coherence_factor(channel_data)
print(f"Coherence shape: {coherence.shape}")  # (100, 150)
print(f"Coherence range: [{coherence.min():.3f}, {coherence.max():.3f}]")

# Compute image sharpness
bmode_image = np.abs(channel_data.sum(axis=0))
sharpness = um.tenengrad(bmode_image)
print(f"Tenengrad sharpness: {sharpness:.2f}")
```

## Multi-Backend Usage

The same API works with different array libraries:

```python
import jax.numpy as jnp
import torch
import ultrasound_metrics as um

# JAX example with JIT compilation
data_jax = jnp.ones((64, 100, 100), dtype=jnp.complex64)

compute_coherence_jit = jax.jit(um.coherence_factor)
coherence_jax = compute_coherence_jit(data_jax)

# PyTorch example
data_torch = torch.randn(64, 100, 100, dtype=torch.complex64)
coherence_torch = um.coherence_factor(data_torch)
```

## Next Steps

- Explore the {doc}`concepts/index` to learn about ultrasound metrics
- Browse the {doc}`example_gallery/index` for practical workflows and inspiration
- Check the {doc}`autoapi/index` for complete function documentation
- See {doc}`contributing` if you'd like to contribute to the project
