Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Saturated pixels reach ngmix unflagged: survey flag bit 8 marks only the first pixel of each saturated run

オープン
#943 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
50/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
python

調査の方向性

Start in split_exp, tracing how per-CCD flag files are produced and how SExtractor and the vignets consume them. Review default_exp.sex for the SATUR_LEVEL setting, then use the saturation evidence in /n17data/cdaley/scratch/saturation/ to check the proposed clipping, growth, and bleed-tail masks. Done means saturated pixels and their proposed extensions are flagged consistently without masking more good pixels than expected.

索引モデルが issue の本文から書いたものです。

説明

Saturated pixels reach ngmix unflagged and at full weight. In the CFIS survey flag map, bit 8 marks only the first (lowest-column) pixel of each horizontal run of saturated pixels. A 1-px bleed trail therefore looks fully flagged, while wider trail sections and star cores are mostly unflagged. Nothing downstream catches the rest:

  • The v2 pipeline has no mask rule, and prepare_ngmix_weights never tests image values.
  • SExtractor's saturation flag is inert, because SATURATE = 65535 in the headers while the int16 images clip at 32760.

trail
Exposure 2086786p, CCD 23. Blue: survey flag bit 8. Red: clipped, unflagged, weight > 0. Right: the trail widens to two columns, and only the left one is flagged. Each red pixel there is about 2,400σ.

Scale (4 exposures × 40 CCDs): 80–88% of clipped pixels are unflagged, 66k–99k per exposure. In horizontal runs of clipped pixels at least 2 px wide, 76% have only the first pixel flagged. The pattern is the same on both amplifiers.

Impact on shapes, so far small:

  • Among galaxy-like epoch stamps on tile 202.301, after the neighbour mask, 0.05% contain such a pixel, and 0.02% within 8 px of the centre. Most of those are coadd detections lying on a trail.
  • PSF stars (MAG_AUTO > 18) sit below the clipping onset at mag 17.0–17.4 (inferred, not checked star by star).
  • Shear impact is not measured.

Proposed fix, in split_exp, ORed into each per-CCD flag file so that SExtractor and the vignets both see it:

  1. flag image ≥ 0.9 × 32760, which catches all of them at 0.02% of good pixels;
  2. grow the mask by 1 px (3×3) for the charge spilled into the next column, about +1.5 to 3σ on the side away from the readout amplifier;
  3. extend it ±20 rows along the column for the bleed tails, which are still +2σ at 20 px. Total cost about 0.06–0.07% of good pixels.

Dilating bit 8 instead catches at most 50%, at 0.9% of the area. Separately, set SATUR_LEVEL ≈ 29000 in default_exp.sex so that exposure FLAGS bit 4 works.

Open: why the upstream flag-map production marks only the first pixel of each run. Someone who knows the CFIS flag pipeline would know.

Evidence on candide: /n17data/cdaley/scratch/saturation/ (scripts, the 4 exposures, figures, including fig_stats.png).

— Claude Opus 5.5, on behalf of Cail

主要言語
Python
スター
18
フォーク
14
平均マージ
2日 13時間
マージ済み PR(30日)
35

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

CosmoStat/shapepipe のほかの issue

CosmoStat/shapepipe の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。