RHEF
The Radial Histogram Equalizing Filter. Solar images usually show a bright ball in a dark void; RHEF shows the corona that is actually there, on the disk and off the limb, with no parameters to tune.
rhef() at its defaults, nothing tuned.
SDO/AIA 171 Å, 2011-06-07, from the SunPy sample data.pip install sunkit-image
import sunpy.map
from sunkit_image.radial import rhef
rhef(sunpy.map.Map("aia_171.fits")).peek()
The paper (Solar Physics, 2025) Worked example API reference Try it in your browser
- Works frame by frame, so movies need no dataset-wide statistics.
- Treats the disk and the off-limb corona the same way across the whole field of view.
- Optional Upsilon tone curve, a symmetric cousin of gamma correction, for finer control.
- Part of sunkit-image, SunPy's image-processing package. An IDL version is described in the paper.
How it works
RHEF splits the image into rings around the Sun's centre and replaces each value by its rank among the values in its ring. A faint ring and a bright ring then both span the whole range from dark to light.
tools/make_rhef_unroll.py.Every implementation
The same filter ships in several places. Each one names the convention it follows and lists, by id, where its code still differs; the ids are defined in the RHEF conventions.
| Implementation | Where | Convention | Differs by |
|---|---|---|---|
| sunkit-image 0.7.0 (Python) | PyPI | sunkit-0.7 | none: it defines the convention |
| sunback (the live Sun on this site) | GitHub | sunkit-0.7 | none |
| My Heliogram (prints) | myheliograph.com | sunkit-0.7 | none |
| HelioFITS (Swift) | Mac App Store | targets oRHEF-2.0 | UPS-MEAN TIES-TOL KEY-QUANT GEOM-GRID DTYPE-IN |
| HelioFITS Studio, ranking (Java) | GitHub releases | targets oRHEF-2.0 | RANK-N1 POS-ONLY FP16 MIN-BIN GEOM-PX UPS-EXT DTYPE-IN |
| HelioFITS Studio, Upsilon (GLSL) | GitHub releases | targets oRHEF-2.0 | RANK-EXT UPS-CLAMP UPS-DEFAULT |
| IDL | described in the paper | targets oRHEF-2.0 | RANK-N1 TIES-INTERP GEOM-CRPIX GEOM-PX NO-NAN-GUARD DTYPE-IN UPS-DEFAULT |
Rows from the fastRHEF conventions registry, read 2026-10-15. RHEF output is a visualization, not a calibrated radiance.
Cite it
Gilly & Cranmer (2025), Visualization of High Dynamic Range Solar Imagery and the Radial Histogram Equalizing Filter, Solar Physics.
@article{GillyCranmer2025,
author = {Gilly, C. R. and Cranmer, S. R.},
title = {Visualization of High Dynamic Range Solar Imagery and the Radial Histogram Equalizing Filter},
journal = {Solar Physics},
year = {2025},
volume = {300},
pages = {174},
doi = {10.1007/s11207-025-02578-x},
eprint = {2511.02798},
archivePrefix = {arXiv}
}