noise_sigma — ASTROSTACK quality op

• Data kinds: image2d → measurement

• Call: import fullseye as fs; fs.ledger.noise_sigma(image, method='mad', kappa=3.0, iters=5) (to call the implementation directly, import astrostack; astrostack.noise_sigma(image, method='mad', kappa=3.0, iters=5); from the registry, opsastrostack.get("noise_sigma"))

Usage

Robustly estimate the background noise sigma (one real number that the stars cannot spoil).

*method* "mad" is the median absolute deviation times 1.4826 (the constant that makes it equal the standard deviation for a normal distribution). "clip" is a symmetric κ-σ clip repeated iters times. Stars are outliers on the upper side only, so using the plain std makes the "noise" larger the brighter the stars are —— measured on a 128x128 frame with 40 stars (flux 3e3–4e4 e-) and true background σ of sqrt(100 + 36) = 11.662: the plain np.std gives 175.43 (15.0 times the ground truth), method="mad" gives 13.804 (+18.4 %), method="clip" gives 12.349 (+5.9 %). MAD hits within 1 % only when stars are sparse; in crowded fields the wings of the stars affect the background —— if you need that much, choose "clip". Only std is off by an order of magnitude, and that is the point.

The numbers shown in figures when illustrating the sqrt(N) law are all return values of this op.

Returns float (same unit as *image*).

Raises ValueError: not 2-D / contains non-finite values / *method* not in NOISE_METHODS.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• astro_stacking — py -3.11 examples/astro_stacking.py

• poc_colocalization_crosstalk — py -3.11 examples/poc_colocalization_crosstalk.py

• poc_search_sweep_width — py -3.11 examples/poc_search_sweep_width.py

• poc_star_astrometry — py -3.11 examples/poc_star_astrometry.py

• poc_thermal_radiometry — py -3.11 examples/poc_thermal_radiometry.py

Ops the type connects to (they accept measurement as input)

—

Same category (quality)

frame_quality · lucky_select


*Provenance: astrostack.py — ASTROSTACK operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.