Metadata-Version: 2.4
Name: hyperbench
Version: 0.1.0
Summary: Synthetic benchmarking for hyperspectral super-resolution methods
Author: HyperBench Authors
License: MIT
Keywords: hyperspectral imaging,super-resolution,remote sensing,benchmarking,image fusion
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Image Processing
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: numpy==1.26.4
Requires-Dist: scipy>=1.10
Requires-Dist: opencv-python==4.9.0.80
Requires-Dist: matplotlib>=3.7
Requires-Dist: sewar>=0.4.6
Requires-Dist: spectral>=0.23
Requires-Dist: ipykernel>=6.29
Requires-Dist: jupyterlab>=4.0
Requires-Dist: pyyaml>=6.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: twine>=5.0; extra == "dev"
Requires-Dist: ruff>=0.6; extra == "dev"
Dynamic: license-file

# HyperBench

**HyperBench** is a synthetic benchmarking framework for fusion based hyperspectral
super-resolution (HSR) methods. It provides a standardized, reproducible
pipeline for evaluating models using controlled degradations, consistent
metrics, and structured experiment outputs.

HyperBench is designed as an **inference-time evaluation tool**. It does
not perform model training. Instead, it enables users to test
already-trained models under a wide range of synthetic scenarios.

**Project Home: https://github.com/ritikgshah/HyperBench**. Please visit the github repository for exact implementation details and documentation. This PyPi project is solely meant to serve as the distribution method. 

------------------------------------------------------------------------

## Key Features

### Synthetic Degradation Pipeline

HyperBench generates realistic low-resolution inputs from
high-resolution hyperspectral scenes:

-   Spatial degradation via configurable Point Spread Functions (PSFs)
-   Spectral degradation via configurable Spectral Response Functions
    (SRFs)
-   Controlled noise injection using SNR (dB)

------------------------------------------------------------------------

### Flexible Experiment Design

Users can define experiments using:

-   Explicit degradation specifications
-   PSF configurations (type, sigma, kernel size)
-   Noise levels (spatial and spectral)
-   MSI band counts

------------------------------------------------------------------------

### Model-Agnostic Adapter Interface

HyperBench works with any model that follows a simple contract:

def run_pipeline(HR_MSI, LR_HSI, srf, psf=None, metadata=None): return
prediction

or

return prediction, stats

Supported formats: - NumPy - TensorFlow - PyTorch

------------------------------------------------------------------------

### Built-in Metrics

-   RMSE
-   PSNR
-   SSIM
-   UIQI
-   ERGAS
-   SAM

------------------------------------------------------------------------

### Output Clipping Policy

Optional clipping to \[0,1\] before metric evaluation.

------------------------------------------------------------------------

### Structured CSV Logging

Each experiment produces structured CSV output with: - parameters -
metrics - optional model stats

------------------------------------------------------------------------

### Visualization Utilities

-   RGB visualization
-   band inspection
-   PSF and SRF visualization
-   spectral plots

------------------------------------------------------------------------

### Framework Support

-   NumPy
-   TensorFlow
-   PyTorch

Automatic device handling included.

------------------------------------------------------------------------

## Installation

pip install hyperbench

------------------------------------------------------------------------

## Command Line Interface

hyperbench run\
--config config.yaml\
--pipeline-module path/to/model.py\
--method-name MyModel\
--input-backend tensorflow

------------------------------------------------------------------------

## Configuration

Supports JSON and YAML configuration files.

------------------------------------------------------------------------

## Design Philosophy

-   Reproducibility
-   Standardization
-   Flexibility

------------------------------------------------------------------------

## Scope

HyperBench is strictly an evaluation framework.

------------------------------------------------------------------------

## License

MIT License
