← All software

Software

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.

The same SDO/AIA 171 Å image twice. Left, a standard display: a bright disk fading into black. Right, after RHEF: loops and streamers visible out to the edge of the frame.
Left: a standard display. Right: 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()

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.

A teaching visual, not a figure from the paper: a synthetic Sun is unrolled so each row is one ring, every row is ranked, and the strip rolls back up. The rings are equal width and the Upsilon curve is off. Nothing plays until you press play. Made with 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.

ImplementationWhereConventionDiffers by
sunkit-image 0.7.0 (Python)PyPIsunkit-0.7none: it defines the convention
sunback (the live Sun on this site)GitHubsunkit-0.7none
My Heliogram (prints)myheliograph.comsunkit-0.7none
HelioFITS (Swift)Mac App Storetargets oRHEF-2.0UPS-MEAN TIES-TOL KEY-QUANT GEOM-GRID DTYPE-IN
HelioFITS Studio, ranking (Java)GitHub releasestargets oRHEF-2.0RANK-N1 POS-ONLY FP16 MIN-BIN GEOM-PX UPS-EXT DTYPE-IN
HelioFITS Studio, Upsilon (GLSL)GitHub releasestargets oRHEF-2.0RANK-EXT UPS-CLAMP UPS-DEFAULT
IDLdescribed in the papertargets oRHEF-2.0RANK-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}
}

arXiv