adam_core.photometry.magnitude_common module

adam_core.photometry.magnitude_common.hg_phase_correction(alpha_deg: ndarray[tuple[Any, ...], dtype[float64]] | float, G: float) ndarray[tuple[Any, ...], dtype[float64]][source]

H-G phase correction in magnitudes for solar phase angle alpha_deg and slope G.

Returns -2.5 * log10[(1 - G) * phi1 + G * phi2] – the term added to H + 5 * log10(r_au * delta_au) to get the reduced/apparent V magnitude, where phi_i = exp(-A_i * tan(alpha/2) ** B_i). Zero at opposition (alpha = 0) and positive (fainter) for larger phase angles. NumPy implementation for CPU callers.

adam_core.photometry.magnitude_common.bandpass_filter_id_table() tuple[tuple[str, ...], Array, dict[str, int], int][source]

Return (filter_ids, filter_ids_arrow, filter_to_id, v_id) for bandpass conversions.

We intentionally build this lazily (rather than at import time) since it requires reading packaged Parquet data.

adam_core.photometry.magnitude_common.bandpass_integrals_for_composition(composition: str | tuple[float, float], filter_ids: ndarray[tuple[Any, ...], dtype[object_]]) ndarray[tuple[Any, ...], dtype[float64]][source]
adam_core.photometry.magnitude_common.bandpass_composition_key(composition: str | tuple[float, float]) str | tuple[float, float][source]
adam_core.photometry.magnitude_common.bandpass_delta_table_for_composition_cached(composition_key: str | tuple[float, float]) ndarray[tuple[Any, ...], dtype[float64]][source]

Compute per-filter delta magnitudes relative to V for the given composition:

delta[filter] = m_filter - m_V

adam_core.photometry.magnitude_common.bandpass_delta_table_jax_for_composition_cached(composition_key: str | tuple[float, float]) Array[source]
adam_core.photometry.magnitude_common.bandpass_delta_table_for_composition(composition: str | tuple[float, float]) ndarray[tuple[Any, ...], dtype[float64]][source]