Skip to content

Galaxy selection: replace the IMAFLAGS_ISO == 0 cut with the MASK_n* bit columns #342

Description

@cailmdaley

Since CosmoStat/shapepipe#847, ShapePipe generates no masks. Tile detection runs with no flag image, so IMAFLAGS_ISO — which was the rasterized star/galaxy/external mask OR'd over each object's isophote — no longer exists in the shear catalogue. Its replacement is one column per UNIONS mask bit, MASK_n1 … MASK_n2048, queried from the sky-fixed healsparse maps at each object's position (True = masked; see the bit table in #847). The wiring lands in CosmoStat/shapepipe#886 and the columns reach final_cat_<campaign>.hdf5 via CosmoStat/shapepipe#879.

sp_validation still cuts on IMAFLAGS_ISO == 0 (galaxy.py:175 classification_galaxy_base, scripts/calibration/extract_info.py:163, scripts/masking.py, params.py column lists). Against a v2 catalogue that raises a missing-column error.

Proposed: define the galaxy-sample mask as an explicit set of bits and cut on their OR. The set {n1, n2, n4, n8, n64, n1024} reproduces the v1 r-band mask exactly (OR == mask_r on P3; n64 is an undocumented reason bit in the r-band default bitmask, not a coverage flag) — star mask (n4), halos (n1 | n2, combined: which is faint vs bright is unconfirmed for the Aug-2026 products), manual galaxy masks (n8), MaxiMask (n1024). Do not OR every MASK_* column: n16/n32/n128/n256 are per-band (u g i z) coverage flags and n2048 is 1 wherever Pan-STARRS z2 is absent, so a blanket OR masks the whole footprint. The bit list should be config, not code.

Related: #879 also moves the star catalogue to full_starcat_<campaign>.hdf5 (exposures/<exp> datasets) — the fits.getdata readers in extract_info.py and compute_leakage_harmony.py need an hdf5 path. Both fit naturally with #340.

— Claude (Fable) on behalf of Cail

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions