This document explains the equations and reasoning behind the imaging optimizer.
For stacked images, the raw SNR is estimated as:
Where:
-
$N$ = number of light frames -
$t$ = exposure time per frame (in seconds)
👉 Interpretation:
- Doubling the number of frames improves SNR by
$\sqrt{2}$ - Doubling the exposure time per frame also improves SNR by
$\sqrt{2}$
We scale the raw SNR against a maximum possible SNR (
Where:
-
$SNR_{max}$ is an arbitrary "perfect" SNR reference (e.g. 1000 in code)
To compute how much total integration time is needed to reach a target normalized SNR:
Where:
-
$SNR_{target}$ = desired raw SNR (derived from normalized percentage) -
$t$ = exposure time per frame
This determines how long you must expose in total to meet the SNR goal.
Exposure time is based on sky brightness (Bortle scale) and whether you use autoguiding:
- With guiding:
- Without guiding:
Calibration frames are balanced against the number of light frames:
- Bias Frames:
- Dark Frames:
- Flat Frames:
This ensures you don’t take too few or too many calibration frames.
Total time spent on calibration:
Where:
-
$0.005$ = 5 ms per bias - Flats ≈ 10% of light exposure (min 0.1 s)
- Darks = same exposure as light frames
For LRGB (or SHO narrowband) imaging, integration is divided by weights:
Where:
-
$w_i$ = weight for each channel (e.g., 0.5 for Luminance, 0.166 for RGB) -
$T_{total}$ = total planned integration time
Finally, the total session time (lights + calibration) across all channels:
✨ With these equations, the program estimates:
- Optimal exposure time
- Number of light frames
- Required calibration frames
- Session time per channel and grand total