HDR Eclipse Luminosity Integration & Optical Normalization
HELION
A folder of camera RAW files goes in. One finished picture of the corona comes out: calibrated, merged, separated from the twilight sky and amplified until the streamers are readable.
Above2024·04·08Durango, Mexico400 mm16-bitunretouched HELION output
Overview
What is HELION?
HELION makes one photograph of the corona out of the frames you shot during totality. The short ones hold the bright ring at the Moon's edge, the long ones the faint streamers, and no single frame holds both.
It cleans the frames with your bias, darks and flats, aligns them on the corona, combines the bracket, takes the twilight sky out and lifts the faint structure. Out come a 16-bit PNG, a JPEG and a scene-linear DNG. Nothing is painted in: every value was measured off your own frames.
What the camera gives you.
A bracket, and nothing that is a photograph yet. Between the limb and the outer streamers the corona spans five orders of magnitude, so no single exposure can hold it. Each frame holds a different slice. These six come from one cycle, developed through one identical curve, so the only difference you are looking at is the shutter.
1/320 s
1/80 s
1/20 s
1/5 s
1/1.3 s
3 s
One cycle of ten: 1/320 s to 3 s is a factor of 960. The 2020·12·14 picture below is what all ten of them become.
What HELION gives back.
Six eclipses, nine years, one renderer: different lenses, sites and Sun altitudes, every one of them put through the same pipeline with the same defaults. A set should differ where the coronae do and not where the exposures did, which is the whole reason the numbers are stated in the code rather than dialed in per picture.
All six by Andreas Möller, from a solar-minimum corona of thin polar plumes to a maximum one with streamers all round. Where several people shoot one eclipse side by side, that is several sessions of the same corona, and helion-composite combines them into a single picture, measuring the rotation between two cameras off the two coronae themselves.
Why this is hard
Five orders of magnitude,
and the part you want
is a few percent of it.
Between the limb and the outer streamers the corona spans a brightness range no sensor holds in one frame. So you bracket it: a cycle of exposures from 1/400 s to four seconds, over and over, for as long as totality lasts.
Then the real problem starts. The structure you came for (the plumes, the filaments, the helmet streamers) is only a few percent of modulation riding on that enormous gradient. Every dust speck, every vignette, every hot photosite is the same few percent. Getting one and not the other is the whole job.
- 1/400 sprominences, unclipped
- 1/50 sthe inner corona
- 1/6 sstreamers
- 4 souter corona, earthshine, stars
Shooting the eclipse
Only the shutter varies.
Everything downstream assumes one camera, one lens and one exposure holding still while the shutter walks the bracket. Fixed aperture, fixed ISO, fixed focus. Tape the focus ring. No long-exposure noise reduction, no lens corrections, no picture styles.
Never JPEG or HEIF. A rendered file already has the tone curve, the white balance and the noise reduction baked in; the pipeline needs the linear sensor values.
Never changed. Keeps read noise low, and lets one set of darks cover the whole session.
An aperture changed between the lights and the flats invalidates the flats.
The short end holds the prominences unclipped; the long end reaches the outer corona and the earthshine on the disk.
2 EV is quicker. 1 EV halves the merge's handover between levels and averages the noise down.
Complete ones. More cycles is a deeper and quieter outer corona. This is where the depth comes from.
No moving curtain to shake the long frames, and a mechanical shutter has a different dark signature from an electronic one.
Shifts are corrected frame by frame. Rotation is only coarsely correctable.
Two that cost you later
A shutter speed that appears in the lights and not in the darks stops the run. An incomplete cycle at the end is fine, a missing dark is not. And do not touch focus or zoom between the lights and the flats.
Start before second contact and stop after third if you like: the cycles with the photosphere still out are found and dropped, and the run says which and by how much.
Let something else press the button.
A cycle of five to nine exposures, repeated for every second totality gives you, is not something to run by hand, and the whole reason for shooting it this way is that you get to look up while it happens. These drive the camera off the contact times computed for your position:
- Eclipse OrchestratorWindows · Fred Bruenjes
- Solar Eclipse MaestromacOS · Xavier Jubier
- SET'n'CWindows · Robert Nufer
- EclipseDroidAndroid · Wolfgang Strickling
- eclipseClickWindows · Swaroop Shere
Whichever you pick, write the script so that only the shutter moves, and rehearse the whole thing end to end, including the calibration frames, long before the day. Eclipse day is not when to learn what your script does.
Then, before you break the setup down.
All of it on the same day, at the same temperature, with the same lens and the same ISO as the lights. Darks and bias straight after totality; flats at twilight or on an EL panel.
| Frame | How many | Shutter | Setup |
|---|---|---|---|
| Bias | ~100 | the shortest the camera has | lens capped |
| Darks | 20–40 per shutter speed | every speed the bracket used | lens capped, same temperature |
| Flats | 20–50 | whatever gives ~half saturation | twilight sky or EL panel, same lens and aperture, focus untouched |
| Dark flats | 20–50 | the flats' shutter | lens capped |
This matters more here than in ordinary astrophotography: vignetting and dust shadows are a few percent, which is exactly the amplitude of the coronal structure about to be multiplied by ten. A dust donut left in comes out as a feature.
Processing the images
Ten steps, one command.
Each step writes its result to disk, so a run that stops can simply be run again, and any step can be redone on its own while the expensive ones stay put.
- 00
Precheck
Reads the metadata of every folder and sets aside calibration frames no light can be calibrated with. Nothing is deleted; a note says what was moved and why.
- 01
Calibrate
Masters from bias, darks, flats and dark flats, then every light calibrated against the set that actually matches its shutter and ISO.
- 02
Linearise
RAW to linear RGB: no tone curve, no white balance, no noise reduction. Scene-referred values or none of the rest works.
- 03
Register
Frames aligned on the corona itself, not on the frame border, and refined against the lunar limb until they superimpose to a fraction of a pixel.
- 04
Merge
The whole bracket into a single high-dynamic-range radiance map, weighted per level, with the cycles shot outside totality found and dropped.
- 05
Separate the sky
The twilight background is fitted and removed as a falloff law, the atmosphere computed from where on Earth you stood and how high the Sun was.
- 06
Enhance
An adaptive circular high-pass filter sets its gain against the local noise, so the streamers and plumes come up and the grain does not.
- 07
Assemble
Tone curve, then the lunar disk and the prominences reassembled into it at their own measured brightness and color.
- 08
Crop
A second picture with the Moon at its center, aspect ratio kept.
- 09
Sign
Author and site off the session's own file, printed onto a copy.

What comes back together
Three things the merge
cannot hold at once.
The lunar disk is stacked from the whole session and translated onto one moment, so the maria are read out of earthshine tens of times fainter than the corona beside them.
The prominences are found as the residual over the local continuum, not thresholded out of a bright frame, and printed at one stated color, so a flame looks the same from any camera.
And the sky stays a sky: a stated blue at a stated falloff, so the background of a 200 mm frame and an 840 mm frame belong to the same eclipse.
Nothing here is painted. Every value printed was measured off the frames. Gains may be borrowed from a neighboring ring, image content never.
What it costs
Pay for the project, not for the software.
A project is one eclipse as one camera saw it: one lens, one bracket, the calibration frames that belong to it. You upload it once, and every run you start on it works on those same frames. You pay for the project, not for the run.
Every plan runs the same pipeline with the same defaults, so the picture a free run makes is the picture a paid run makes. What a paid plan adds is how many times you can run the project and which files you get back when it finishes.
| Feature | Free$0per projectFive looks at what the pipeline makes of your frames, at preview size. | Standard$49.99per projectThe finished picture at full size, in every format you can go on working in. | Pro$69.99per projectThe same files, twice the runs, and your own calibration frames applied. |
|---|---|---|---|
| The run | |||
| All ten stepsThe same pipeline and the same defaults on every plan. | Included | Included | Included |
| Runs per projectEvery run works on the frames already uploaded. | 5 preview runs | 25 runs | 50 runs |
| Calibration frames appliedYour own bias, darks and flats, stacked and divided out. | no | no | Included |
| The files you keep | |||
| Preview JPEG, 1000 px, under the HELION markThe finished picture at preview size, watermarked. | Included | no | no |
| Full resolution JPEG, 8-bitThe graded picture, ready to look at and to post. | no | Included | Included |
| Full resolution PNG, 16-bitThe graded picture at the depth it was rendered. | no | Included | Included |
| Linear DNG, 32-bit floatStraight tone curve, for your own raw converter. | no | Included | Included |
| FITS, 32-bit floatThe linear corona in the pipeline's own units, before any grading. | no | Included | Included |
| The four plates behind the pictureThe merge, the enhanced corona, the prominences and the Moon. | Included | Included | Included |
| Your account | |||
| Project keptAfter that the project goes, and its frames and results with it. | 7 days | 180 days | 180 days |
| Choose a plan | Start free | Choose Standard | Choose Pro |
Each price is paid once per project. Running the project again, after moving one of the rendering sliders, costs nothing extra until the runs on the plan are used up.
Next totality
