PSF star selection: apply the manual mask; M33 shows outlier rejection fails where contaminants dominate

Đang mở
#993 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@cailmdaley đang làm issue này rồi.

Từ ngày 30/10/2026.

  • #994 của @cailmdaley — đang mở

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
data

Hướng nghiên cứu

Read the PSF star selection configuration around masking.psf_star_mask_veto, [MASK:star_selection], and MASK_PATHS; the issue also points to sp_validation as the run-1 entry point for filtering stars before ρ/τ calculations. First trace how MASK_EXT is queried and how the bit-8 map is loaded. Done means future PSFEx fits exclude bit-8 regions and run-1 ρ/τ calculations veto those stars, with M33 covered to at least 0.7° for stars and galaxies.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Summary

Six crowded or extended objects sit in the run-1 PSF star sample: M33, M101, M13, M92, and the Draco and Ursa Minor dwarf spheroidals. Run-1 PSF star selection cuts only on instrument flags (masking.psf_star_mask_veto = instrument_flags_only). That default was a deliberate measure-first choice in #847 (43c32cde): star selection "starts from outlier rejection alone, and MASK_EXT is the configurable pickup if that proves insufficient — write the column, measure the effect, impose it only if the measurement says to." This issue is that measurement, along two axes:

  • (b) Is outlier rejection good enough? Yes for crowding; no for M33. In M13, M92, Draco and Ursa Minor, selection keeps real stars and the PSF model fits them like the surrounding field. In M33's inner ~0.5°, selection admits HII regions and clusters (24% of "stars" inside 0.15° are >1.2× the PSF size), and the PSF model itself is biased: normal-size stars come out smaller than the model there. Only M33 corrupts the PSF model.
  • (a) Is the manual mask enough? Yes. Applying only MASK_8_Manual to PSF star selection removes 1,024 of M33's 1,025 oversize detections within 1°, and every radius where the model is biased. No new DSO veto or circle list is needed. Draco and Ursa Minor aren't in the manual mask, and they don't need to be.

Measurement

The sample is the run-1 PSF validation stars (the stars behind ρ/τ). "Normal-size" means |dT/T| < 0.2, and the control is a 1.0–1.5° annulus around each object. The footprint is MASK_8_Manual from the DR6 healsparse mask.

Radial profiles per object: oversize fraction, normal-star ellipticity residual and size residual

object PSF stars within 1° inside bit 8 >1.2× PSF size (in bit 8) normal stars, rms δe vs control, innermost bin normal stars, ⟨dT/T⟩ − control, innermost bin corrupts the PSF model?
M33 14,754 9,125 1,025 (1,024) ×6.4 (<0.15°), ×2.2 (0.3–0.5°) −0.024 (<0.15°), −0.007 (0.3–0.5°) yes, inside bit 8
M101 4,396 409 3 (3) ×1.6 −0.001 no; core only, inside bit 8
M13 15,090 3,218 9 (5) ×1.2 −0.002 no (crowding)
M92 15,086 1,836 1 (0) ×1.2 −0.005 no (crowding)
Draco dSph 10,593 56 0 ×1.1 +0.001 no (crowding)
Ursa Minor dSph 7,193 25 7 (0) ×1.0 +0.002 no (crowding)
  • M33's model is inflated, not just its sample contaminated. Stars of normal size, which are not contaminants by construction, are 2.4% smaller than the model inside 0.15°, 1.2% at 0.15–0.3° and 0.7% at 0.3–0.5°. They're back to the control by 0.5–0.7°. Oversize sources in the training set would pull the model this way (inferred: training stars aren't persisted, but they pass the same selection as the 20% held out for validation). In the cosmic-shear leakage fit, this region carries >99% of the first-bin ρ1/ρ3/ρ4 variance and drives the leakage coefficients α and η negative.
  • Crowding is handled. M92, Draco and Ursa Minor are 3–10× overdense in star detections with no oversize detections and normal residuals. In M92's dense core, blending leaves no PSF stars at all.
  • Beyond bit 8 around M33: in the 0.5–0.7° ring, outside the manual ellipse (≈0.55° × 0.40°), normal stars show 1.15× the control δe rms with no size bias and no oversize detections. The galaxy side there is 1.25–1.35× overdense in kept galaxies (plausibly outer-disc sources). It's a small effect and outside this issue's star-selection scope, so it's noted rather than acted on.
  • Survey-wide, a bit-8 veto removes 51,663 of 10,380,311 PSF stars (0.5%).

UNIONS r-band cutouts with PSF-star detections coloured by (T★ − T_PSF)/T_PSF

Before #846 (eb93838a), ShapePipe's internal mask module wrote Messier/NGC discs into the exposure flags, so these regions were vetoed via IMAFLAGS_ISO. Every run-1 campaign descends from eb93838a. The NGC/Messier corner-overlap fix (#827) is unrelated.

Proposed change

  1. ShapePipe, next run: add a manual_mask_veto option to masking.psf_star_mask_veto and adopt it. Point mask_query MASK_PATHS at the bit-8 (manual) map and add MASK_EXT == 0 to [MASK:star_selection]. This keeps M33's contaminants out of the PSFEx fit itself, which a downstream veto can't do. The star-body map (star_body_veto) is no substitute: it flags 12.3% of PSF stars.
  2. Run 1, no rerun: downstream, drop PSF stars inside bit 8 before ρ/τ. This replaces hand-placed contamination circles with the same mask the galaxies already use. The biased model in M33 sits inside bit 8, where galaxies are already cut, so no rerun is needed.

Claude on behalf of Cail

Ngôn ngữ chính
Python
Star
18
Fork
14
Merge trung bình
3 ngày 18 giờ
Pull request đã merge (30 ngày)
27

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của CosmoStat/shapepipe

Tất cả issue của CosmoStat/shapepipe

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.