This package is designed for anomaly detection in Synthetic Aperture Radar (SAR) images, leveraging PyTorch Lightning and models from Anomalib. The package is modular, allowing easy benchmarking and dataset integration.
Project description
Benchmarking suite for synthetic aperture radar imagery anomaly detection (SARIAD) algorithms
Overview
This package is designed for anomaly detection in Synthetic Aperture Radar (SAR) images, leveraging PyTorch Lightning and models from Anomalib. The package is modular, allowing easy benchmarking and dataset integration.
Directory Structure
SARIAD/
├── config/
│ ├── default.yaml
│ ├── environment.yaml # Conda environment file
├── datasets/
│ ├── __init__.py
│ ├── MSTAR/
│ ├── custom_dataset/
│ └── sar_datamodule.py
├── models/
│ ├── __init__.py
│ ├── anomalib_models.py
│ ├── autoencoder.py
│ └── transformer.py
├── preprocessing/
│ ├── __init__.py
│ ├── normalize.py
│ ├── augmentations.py
│ └── utils.py
├── benchmarks/
│ ├── __init__.py
│ └── benchmarking.py
├── main.py
├── __init__.py
└── utils/
├── __init__.py
└── config_loader.py
Installation
Our package is on PyPI and thus can simply be installed with pip install SARIAD.
Development Installation
# Clone the repository
git clone https://github.com/username/SARIAD.git
# Install SARIAD in editable mode
pip install -e .
Configuration
Edit the YAML file located in config/default.yaml to specify the dataset path, model, and training parameters.
Usage
# Train with a specific configuration
python main.py --config config/default.yaml
Benchmarking
To enable benchmarking, set benchmark.enabled: True in the YAML file and specify the number of runs.
Preprocessing
- normalize.py: Functions for data normalization.
- augmentations.py: Functions for data augmentations.
- utils.py: Utility functions for SAR-specific preprocessing.
The SARDataModule located in the datasets folder imports these functions to ensure consistent preprocessing across datasets.
License
MIT License
Acknowledgments
This project is inspired by Anomalib and Benchmarks for Medical Anomaly Detection (BMAD).
Contributing
Contributions are welcome! To contribute:
- Fork the repository on GitHub.
- Create a new branch with a descriptive name.
- Make your changes and ensure they follow the code style guidelines.
- Write unit tests for any new features or bug fixes.
- Submit a pull request with a clear description of your changes.
For major changes, please open an issue first to discuss what you'd like to change. We appreciate your contributions to improve this work!
Citing SARIAD
If you use the SARIAD code, please cite the following reference using the following entry.
Plain Text:
L. Chauvin, S. Gupta, A. Ibarra and J. Peeples, "Benchmarking suite for synthetic aperture radar imagery anomaly detection (SARIAD) algorithms," in Algorithms for Synthetic Aperture Radar Imagery XXXII, vol. TBD. International Society for Optics and Photonics (SPIE), 2025, DOI: 10.1117/12.3052519
BibTex:
@inproceedings{Chauvin2025Benchmarking,
title={Benchmarking suite for synthetic aperture radar imagery anomaly detection (SARIAD) algorithms},
author={Chauvin, Lucian and Gupta, Somil, and Ibarra, Angelina, and Peeples, Joshua},
booktitle={Algorithms for Synthetic Aperture Radar Imagery XXXII},
pages={TBD},
year={2025},
organization={International Society for Optics and Photonics (SPIE)}
doi={10.1117/12.3052519}
}
Citing MSTAR
If you use this dataset in your research, please cite the following paper:
@misc{mstar2025,
title = {MSTAR Public Dataset},
author = {{U.S. Air Force}},
year = {1995},
note = {Sensor Data Management System (SDMS)},
url = {https://www.sdms.afrl.af.mil/index.php?collection=mstar}
}
Project details
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 sariad-0.1.3.tar.gz.
File metadata
- Download URL: sariad-0.1.3.tar.gz
- Upload date:
- Size: 26.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bb46b5d2c38ec6bd0facd40a48525274b979a3f832a4049639034aeac18b6ae
|
|
| MD5 |
411963d161d0febbedc464e71b685b4f
|
|
| BLAKE2b-256 |
9a17ad5ffca1b29ac336a284e8a66baf58a40fc63067dc75a8781aeaa5827c67
|
Provenance
The following attestation bundles were made for sariad-0.1.3.tar.gz:
Publisher:
pypi.yml on Advanced-Vision-and-Learning-Lab/SARIAD
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sariad-0.1.3.tar.gz -
Subject digest:
0bb46b5d2c38ec6bd0facd40a48525274b979a3f832a4049639034aeac18b6ae - Sigstore transparency entry: 242292114
- Sigstore integration time:
-
Permalink:
Advanced-Vision-and-Learning-Lab/SARIAD@c79ed9dc2b8caea16ac82888282bb51075dbd593 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Advanced-Vision-and-Learning-Lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@c79ed9dc2b8caea16ac82888282bb51075dbd593 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sariad-0.1.3-py3-none-any.whl.
File metadata
- Download URL: sariad-0.1.3-py3-none-any.whl
- Upload date:
- Size: 33.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db735f3aab5837c368e5fc6a652d74270e2dafd7cb9ec4dc84bcf743a9cd2735
|
|
| MD5 |
c4b91e079ecbe958519c205984144115
|
|
| BLAKE2b-256 |
2fa4ba8cdbe9eb1b973b910479e016a159b797bf1e527e5a54509b2262ce817e
|
Provenance
The following attestation bundles were made for sariad-0.1.3-py3-none-any.whl:
Publisher:
pypi.yml on Advanced-Vision-and-Learning-Lab/SARIAD
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sariad-0.1.3-py3-none-any.whl -
Subject digest:
db735f3aab5837c368e5fc6a652d74270e2dafd7cb9ec4dc84bcf743a9cd2735 - Sigstore transparency entry: 242292122
- Sigstore integration time:
-
Permalink:
Advanced-Vision-and-Learning-Lab/SARIAD@c79ed9dc2b8caea16ac82888282bb51075dbd593 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Advanced-Vision-and-Learning-Lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@c79ed9dc2b8caea16ac82888282bb51075dbd593 -
Trigger Event:
push
-
Statement type: