Color estimation from observations - #202
Conversation
…6.5.1 (CI unblock) CI bumped black to 26.5.1, which reformats two pre-existing files that predate this PR (not rotation-period code; confirmed absent from this PR's diff vs main, and main's own CI is currently red on the same two files). Apply the same black 26.5.1 reformat that the other open PRs (#201, #202) carry, so PR #200's `lint` job goes green. Pure formatting, no behavior change; isort + ruff already clean. (The separate `test (3.12)` failure is test_mpc_observatory_code in observers/ -- a flaky/environment-dependent ephemeris result, unrelated to this PR, which touches no observers code; it clears on a CI re-run.) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
I like how this is setup. We should plug in our existing filter band implementations though instead of using generic g, i, r, u. If you look you'll find utilities around both loading response curves for instrument specific filters, and then also utilities that map (observatory, band) combinations to canonical filter ids (also includes MPC labels mapping as well, e.g. ATLAS, Ao -> ATLAS o). Here was some ai feedback from gpt-5.5: |
|
I'll echo Alec's comments about the filter band implementations. Existing inverse photometry maps exposures through map_to_canonical_filter_bands before modeling at absolute_magnitude.py (line 154) I also have a PR out for rotation. It has a few related color components, so as not to overlap we might want to make these changes:
|
Assumes same band letter is the same channel for different sources (e.g. SDSS_g vs LSST_g).
A color channel can pool observations from different same-letter filters (e.g. SDSS_g and LSST_g for "g"). Merging them directly biases the per-channel H by the inter-system color term. A new parameter (default None, so noop) allows to use color correction per STN code and spectrum type (composition). The difference between compositions is small, so it is still okay to guess composition before colors are determined.
Computes H_{g,i,r,u} and differences g-r, g-i, and r-i from MPC observations and orbits. Checked against selected well-matched values from the rotational period paper. Note that the color estimation doesn't require rotational period and assumes g(t)=0 instead.
Supported phi(alpha): c1c2 (polynomial fit), GH12* (splines), GH (old tan(a/2) model already in photometry)