HDR Processing M42: Combining Multiple Exposures with the SV220
Capturing the full dynamic range of the Orion Nebula using HDRComposition in PixInsight
The Orion Nebula presents one of astrophotography’s greatest dynamic range challenges. The blazing Trapezium region at its heart can easily blow out while the delicate outer wisps disappear into noise. The solution? Capture multiple exposure lengths and combine them using HDR techniques. In this post, I’ll walk through my workflow for combining 60s, 120s, and 300s exposures taken with the SVBony SV220 dual-narrowband filter.
Equipment Used
| Component | Details |
|---|---|
| Telescope | ZWO FF65 (65mm f/5.6 APO) |
| Camera | Touptek ATR2600C (One-Shot Color) |
| Filter | SVBony SV220 v1 (Ha+Oiii dual narrowband) |
| Mount | ZWO AM5 |
| Guiding | Touptek OAG + G3M662C guide camera |
The Strategy: Three Exposure Lengths
To capture M42’s full dynamic range, I shot three sets of exposures:
- 300s exposures — Deep data capturing faint outer nebulosity and molecular cloud structure (core blown out)
- 120s exposures — Mid-range data bridging the extremes
- 60s exposures — Short exposures preserving detail in the bright Trapezium region
Each exposure length was stacked separately, then processed through the calibration pipeline before being combined into a single HDR image.
Pre-HDR Workflow: Process Each Stack Identically
Before combining the exposures, each stack needs to go through the same calibration steps. This ensures consistent color and gradient correction across all three, which is critical for seamless HDR blending.
For each exposure length (60s, 120s, 300s):
- Stack/Integrate your sub-exposures
- ImageSolver — Plate solve for astrometric data
- SpectrophotometricFluxCalibration (SPFC) — Required before MGC
- MultiscaleGradientCorrection (MGC) — Gradient removal
- Save as .xisf
MGC Settings for SV220 (Ha+Oiii)
The SV220 captures Ha in red and Oiii in green/blue. For M42, the intense Ha emission can be mistaken for gradient by MGC, so we reduce the red channel correction:
| Parameter | Value |
|---|---|
| Gradient scale | 4096 |
| Structure separation | 5 |
| Model smoothness | 3.00 |
| R/K Scale Factor | 0.50 |
| G Scale Factor | 1.00 |
| B Scale Factor | 1.00 |
Important: Use the same MGC settings for all three exposure lengths to maintain consistency.
Aligning the Stacks
HDRComposition requires pixel-perfect alignment between all images. If any of your stacks have different orientations (one of mine was flipped 180°), you’ll need to fix this first.
- If needed, use Rotation → FastRotation to correct any flipped images
- Run StarAlignment using your best stack (I used the 300s) as the reference
- Add the other stacks (60s, 120s) as target images
- Save the aligned outputs
Critical: The reference image doesn’t get re-output by StarAlignment—it’s already the reference. So you’ll use your original 300s file plus the newly aligned 60s and 120s files for HDR combination.
HDR Combination
With all three stacks calibrated and aligned, it’s time to combine them.
Process → ImageIntegration → HDRComposition
- Add your three aligned images (order doesn’t matter, but I go shortest to longest)
- Configure the settings (see below)
- Execute and examine the result
HDRComposition Settings
| Parameter | Value | Notes |
|---|---|---|
| Binarizing threshold | 0.9–0.95 | Higher values favor longer exposures |
| Mask smoothness | 7 | Pixels, controls transition softness |
| Mask growth | 5 | Feathers the transitions |
| Auto exposure | Enabled | Normalizes brightness between stacks |
| Reject black | Enabled | Prevents clipped data from bleeding in |
Troubleshooting: Black Star Cores
If you see black centers in your stars after HDRComposition, check these things:
- Alignment issues — Make sure all images are properly aligned. If stars are offset between exposures, the blending will create dark halos.
- Wrong reference file — I accidentally used an older, unaligned version of my 300s stack and got terrible black cores. Using the correct file fixed it immediately.
- Threshold too low — A low binarizing threshold pulls in short-exposure data too aggressively. Try raising it to 0.9 or higher.
Post-HDR Processing
After HDRComposition, your image is still linear. Continue with:
- SPCC — SpectrophotometricColorCalibration for color balance (use narrowband mode with Photon Flux white reference for the SV220)
- BlurXTerminator — Deconvolution/sharpening (must be before noise reduction)
- NoiseXTerminator — Noise reduction (after BXT, still linear)
- Stretch — I used a PixelMath MTF stretch (see settings below)
- StarXTerminator — Separate stars for independent processing
- Final adjustments — Curves, saturation, local contrast, etc.
Stretch Settings (PixelMath MTF)
For M42’s bright core, I used Bill Blanshan’s PixelMath stretch script with these values:
| Parameter | Value | Notes |
|---|---|---|
| Stretch | 0.15 | Lower than default for bright targets |
| Curve | 1.07 | Arcsin-style to protect highlights |
| Clip | 2.8 | Default |
The Curve value above 1.0 gives an arcsin-style response that compresses the highlights, preventing the bright core from blowing out while still bringing up the faint outer regions.
Key Takeaways
Process each exposure stack identically before combining. Run the same MGC settings on all three stacks so the gradients and color balance match perfectly.
Alignment is critical. HDRComposition blends pixel-by-pixel. Any misalignment creates artifacts, especially around stars.
Use a high binarizing threshold for M42. This favors the longer exposures and only pulls in short-exposure data for the very brightest pixels.
BXT before NXT. BlurXTerminator (deconvolution) must come before NoiseXTerminator (noise reduction)—never the other way around.
SPCC goes after HDR, not before. Color calibrate the combined HDR image, not the individual stacks.
The result? An M42 with preserved core detail from the 60s exposures and deep outer nebulosity from the 300s—the best of both worlds.
Clear skies!
