Hebog
Hebog is a scalable source finder for radio continuum images. It is experimental, and runs in a single process or on a Dask cluster. For each FITS image it:
- estimates the background and noise;
- detects compact and extended emission;
- separates, fits and measures sources; and
- publishes a source catalogue, a noise (RMS) image, a source mask and diagnostics.
How Hebog finds sources explains each step with diagrams.
Hebog aims to be a fast, scalable source finder that is easily integrated into next generation radio astronomy data processing pipelines such as Rapthor. It can also be used on its own from Python.
Status
- Experimental. Releases are
0.xand may change the API or output formats. Pin an exact version and read the release notes before upgrading. - Not yet scientifically qualified. Hebog is compared against PyBDSF and Aegean on simulated images with known sources, but these checks are development evidence rather than qualification for survey use. See scientific status.
- Supported inputs: one FITS image in
Jy/beamwith ICRS or FK5 J2000 sky coordinates and at most 22,500 pixels on each side.
Current capability and release status lists the full input requirements and known limitations, and progress against goals summarises on one page where development stands against the project's telescope, Rapthor, science, performance, scalability and release goals.
Installation
Hebog is experimental: 0.x releases can change the API, the outputs and
the measurements, so pin the exact version. Install it from
PyPI into a Python 3.12 to 3.14
environment (releases before 0.22.0 are on GitHub only):
pip install hebog==0.24.0
Example
from pathlib import Path
from hebog import SourceFinderConfig, SourceFinderRequest, find_sources
from hebog.executors import SerialExecutor
request = SourceFinderRequest(
image_path=Path("image.fits"),
output_directory=Path("output"),
run_id="example",
)
config = SourceFinderConfig(
detection_threshold_sigma=5.0,
island_threshold_sigma=3.0,
minimum_island_pixels=7,
)
result = find_sources(request, config, SerialExecutor())
print(result.catalogue_path, result.source_count)
The output directory must not already exist; running the same request again returns the products already there. The source-finding tutorial explains the settings, the products and how to run on Dask.
Documentation
- FAQ for astronomers
- Find sources in a FITS image
- How Hebog finds sources
- Hebog and other source finders
- Catalogue, image and diagnostic outputs
- Interactive notebooks
- FAQ for developers and architects
- Architecture
- How Hebog distributes work
- Integrate Hebog into a pipeline
- API reference
Development
git clone https://github.com/gemmadanks/hebog.git
cd hebog
uv sync --all-groups
just check # formatting, linting, type checks and fast tests
just --list # all test, documentation and packaging commands
Contributions use Conventional Commits. AGENTS.md describes the project's working rules, test suites and review checklist.
Citation and licence
If Hebog contributes to your research, please cite it using CITATION.cff. Hebog is distributed under the BSD 3-Clause License.
Metadata
Release files for hebog 0.24.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hebog-0.24.0.tar.gz | 491.9 kB | With provenance | Details for hebog-0.24.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| hebog-0.24.0-py3-none-any.whl | Python 3 | none | any | Details for hebog-0.24.0-py3-none-any.whl |
Total release size: 903.5 kB
Release files / hebog-0.24.0.tar.gz
| Download URL | hebog-0.24.0.tar.gz |
|---|---|
| Size | 491.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d8fa0caedf734917a25b049e3ad91506e346be87cbd759c7e981a401b30ffab7
|
|
BLAKE2b-256 checksum How to use checksums |
18fe90f823c899d80839e22b5231ee4653d1e9206cccd8165949cf476985de63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / hebog-0.24.0-py3-none-any.whl
| Download URL | hebog-0.24.0-py3-none-any.whl |
|---|---|
| Size | 411.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bd9cce3a0205785e6165ee496264c9ab0060fef263642f8da185c8c2b1638206
|
|
BLAKE2b-256 checksum How to use checksums |
583e93f9d1eb3a5165951383a2ec58944b76a3f16bba966e2f8420c5f2404efd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for hebog 0.24.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for hebog-0.24.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.