Selection

Score/value slicing helpers and HEALPix binning used across modes.

Example: compute a histogram and resolve a range for scores:

from hipscatalog_gen.selection import compute_score_histogram_ddf, resolve_value_range
hist, edges, total = compute_score_histogram_ddf(ddf, "__score__", -5, 5, 128)
lo, hi = resolve_value_range(ddf, "__score__", "complete", None, None, 128, compute_score_histogram_ddf, diag_ctx, log_fn, "scores")

hipscatalog_gen.selection.assign_level_edges

Compute cumulative targets per depth and corresponding score edges.

hipscatalog_gen.selection.targets_per_tile

Distribute depth_total across active tiles with optional density bias.

hipscatalog_gen.selection.reduce_topk_by_group_dask

Keep up to k_per_group rows per group, sorted by score then RA/DEC.

hipscatalog_gen.selection.add_ipix_column

Attach __ipix__ for a given depth.

hipscatalog_gen.selection.add_score_column

Attach a numeric score column derived from a column or expression.

hipscatalog_gen.selection.compute_histogram_ddf

Generic 1D histogram computation for Dask DataFrames or LSDB catalogs.

hipscatalog_gen.selection.compute_score_histogram_ddf

Compute a 1D histogram for score-like columns (Dask/LSDB friendly).

hipscatalog_gen.selection.resolve_value_range

Resolve [min, max] for score-like columns with optional histogram peak.

hipscatalog_gen.selection.select_by_score_slices

Score-specialized wrapper around select_by_value_slices.

hipscatalog_gen.selection.select_by_value_slices

Slice by per-depth value ranges and write tiles.