Synthetic benchmarking for hyperspectral super-resolution methods
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hyperbench-0.1.0.tar.gz.
File metadata
- Download URL: hyperbench-0.1.0.tar.gz
- Upload date:
- Size: 35.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdcb7219f158975faae3a41f692f45c4dba5cd5d315b2f1229cbedb1cdc56776
|
|
| MD5 |
650e1c84e0440d2de7a91a3dda852078
|
|
| BLAKE2b-256 |
dc4b84060e55c58213a9eec0c7785ab300cc92e219d9376d94ebda09e3575682
|
File details
Details for the file hyperbench-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hyperbench-0.1.0-py3-none-any.whl
- Upload date:
- Size: 47.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d48193b1f3cf284280a0ed99deac88b9c657628386c4b960dde2d77f3ba6efe
|
|
| MD5 |
48b73fbbbaf6c4a13980910b19cdf5df
|
|
| BLAKE2b-256 |
006ecea4bc9633b0c7e994fbb877c57fc07a53a3e30e763ec40d146594f40aac
|