Skip to main content

Generalized Spectral Kurtosis Toolkit

Project description

# pyGSK: Generalized Spectral Kurtosis Toolkit
[![DOI](https://zenodo.org/badge/1075030950.svg)](https://doi.org/10.5281/zenodo.17336193)

**pyGSK** is a modular, open-source Python toolkit for computing and visualizing the Generalized Spectral Kurtosis (SK) estimator. It provides command-line tools and plotting utilities for signal detection, statistical diagnostics, and pedagogical visualization of spectral data.

Developed and maintained by [Gelu M. Nita](https://orcid.org/0000-0003-2846-2453), pyGSK builds upon the theoretical framework introduced in:

- Nita & Gary (2010), *The Generalized Spectral Kurtosis Estimator*, PASP 122, 595. [DOI: 10.1086/652409](https://doi.org/10.1086/652409)
- Nita & Hellbourg (2020), *A Cross-Correlation Based Spectral Kurtosis RFI Detector*, IEEE RFI2020. [DOI: 10.1109/RFI49542.2020.9232200](https://ieeexplore.ieee.org/document/9232200)

---

## 🚀 Features

- Renormalized SK estimation with inferred or user-supplied parameters
- Dual-panel histogram visualization (raw vs renormalized SK)
- Threshold computation and false alarm probability (PFA) reporting
- Log-scaled binning and axis control for pedagogical clarity
- CLI-driven analysis with reproducible output and export options

---

## 📦 Installation

Clone the repository and install in editable mode:

```bash
git clone https://github.com/suncast-org/pyGSK.git
cd pyGSK
pip install -e .

🛠️ Usage Example

python -m pyGSK.cli.main renorm-sk-test \
    --input your_data.npy \
    --assumed_N 64 \
    --plot \
    --log_bins \
    --log_x \
    --save_path output.png

Use --help with any subcommand to see available options:

python -m pyGSK.cli.main renorm-sk-test --help

📚 Citation

If you use pyGSK in your research, please cite:

Gelu M. Nita (2025), pyGSK: Generalized Spectral Kurtosis Toolkit.
GitHub: https://github.com/suncast-org/pyGSK

Theoretical foundations:


📄 License

This project is licensed under the MIT License.


👤 Author

Gelu M. Nita
New Jersey Institute of Technology
ORCID: 0000-0003-2846-2453


🤝 Contributions

Contributions, feedback, and issue reports are welcome. Please open a pull request or submit an issue on GitHub.

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

pygsk-0.1.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pygsk-0.1.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file pygsk-0.1.0.tar.gz.

File metadata

  • Download URL: pygsk-0.1.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for pygsk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 095ee9a64d2be51d6c1fffd310ead2487ac120bef2062692ffe0751c97de8d7b
MD5 707c5418961b64d63bd04fc03d65310f
BLAKE2b-256 50399561f24a97d3d808b6f2058666f285272ecc6078feb20c7b59d68a96a52a

See more details on using hashes here.

File details

Details for the file pygsk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pygsk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for pygsk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9376f0753793414a541c9bb36a5b6812df42244bdc9f4f7315c1151136a8c83e
MD5 1aa61c883ed712d70063724b58e71e1d
BLAKE2b-256 bba9bf597360cb6ec76a3a019cb54343f9b50055be41978d2627c58ea5e28cd7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page