PSF star selection needs a deep-sky-object veto: M33, M101, M13 and M92 enter the PSF star sample
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Run-1 PSF star selection cuts only on instrument flags (masking.psf_star_mask_veto = instrument_flags_only), so stars, clusters and HII regions in M33, M101, M13 and M92 enter the PSF star sample. M33 alone dominates the first-bin ρ statistics and flips the sign of the fitted leakage coefficients. The galaxy catalogue is protected by the UNIONS manual mask (MASK_8_Manual), except around M33, where the manual ellipse is too small.
The current 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. Before #846 (eb93838a), ShapePipe's internal mask module wrote Messier/NGC discs into the exposure flags, so these regions were vetoed through IMAFLAGS_ISO. Every run-1 campaign commit descends from eb93838a. The NGC/Messier corner-overlap fix (#827) is unrelated, because no run-1 campaign ran that code.
Measurement
Run-1 products: PSF stars from the compact sample that reproduces production ρ/τ; galaxies from the shape-selected catalogue; the bit-8 footprint from the DR6 healsparse mask.
| object | PSF stars inside MASK_8_Manual |
peak PSF-star overdensity | peak rms |e★ − e_PSF| vs field |
|---|---|---|---|
| M33 | 9,162 | ×11 | ×14 |
| M13 | 3,241 | ×15 | ×1.4 |
| M92 | 1,890 | ×11 | ×2.9 |
| M101 | 437 | ×1.4 | ×1.6 |
- Survey-wide, 51,663 of 10,380,311 PSF stars (0.5%) lie inside bit 8.
- For M101, M13 and M92, the whole excess in star residuals lies inside bit 8. The star overdensity outside it (to ~0.3° for M13 and M92) has normal residuals; these look like genuine cluster members and usable PSF stars.
- M33 is the exception. Its manual-mask ellipse is ≈0.55° × 0.40°, but the star residual rms stays 1.2–1.7× the field value out to ≈0.6°, and kept galaxies are 1.25–1.35× overdense at 0.5–0.65°. Both flatten beyond ≈0.7°.
- In the cosmic-shear leakage fit, the M33 cell carries >99% of the first-bin ρ1/ρ3/ρ4 variance and drives the leakage coefficients α and η negative. Masking it moves the mean ρ4 over 20 angular bins from −7.6e-8 to −2.4e-8.


Proposed fix
- Future runs (ShapePipe): add a DSO option to
masking.psf_star_mask_veto. Pointmask_queryMASK_PATHSat the bit-8 (manual) map and addMASK_EXT == 0to[MASK:star_selection]. This keeps these sources out of the PSFEx fit itself, which a downstream veto cannot do. The star-body map named forstar_body_vetois no substitute: it flags 12.3% of PSF stars and is the wrong map for extended objects. - Run 1, no rerun (sp_validation): before computing ρ/τ, drop PSF stars that fall inside the bit-8 map (0.5% of stars).
- M33 for both stars and galaxies: veto a circle of at least 0.7°, or have the manual mask's M33 footprint enlarged.
Star residuals are flat beyond the masked regions, which suggests PSF models away from these objects are not visibly affected. That is why no rerun seems necessary.
Claude on behalf of Cail
- Lenguaje dominante
- Python
- Estrellas
- 18
- Forks
- 14
- Merge medio
- 4 d 16 h
- PR fusionados (30 d)
- 35
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CosmoStat/shapepipe
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 2 días
-
PSFEx native sampling leaves a g1 residual on sub-0.5″ exposures; PSF consumers assume PSF_SAMP = 1Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 2 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 2 días
Todos los issues de CosmoStat/shapepipe
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
vllm-project/vllm#64845 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
dekobon/big-code-analysis#1729 ·
Los mantenedores suelen responder en 1 día
-
Add `openai_safety_identifier`, the replacement for the `user` field that `openai_user` sendsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
pydantic/pydantic-ai#12091 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100