FA-54937 / Astronomical coordinate conventions / Member archive
Cube axis slice: Latitude slice translation uses longitude coupling or reversed displacement · case 02
The adapter reports an incorrect latitude reference while other fields remain valid.
Case contract
A linear cube has two retained celestial axes and a sliced spectral pixel k with reference rk. Cross-axis CD coefficients ax,ay shift celestial reference values. Spectral world coordinate is rv+dv*(k-rk). Slice thickness is specified in spectral pixels. Output fields are defined by: longitude_reference = d['x']+d['ax']*(d['k']-d['rk']); latitude_reference = d['y']+d['ay']*(d['k']-d['rk']); spectral_coordinate = d['rv']+d['dv']*(d['k']-d['rk']); spectral_width = abs(d['dv'])*d['thick']; lower_edge = d['rv']+d['dv']*(d['k']-d['rk'])-abs(d['dv'])*d['thick']/2; upper_edge = d['rv']+d['dv']*(d['k']-d['rk'])+abs(d['dv'])*d['thick']/2
Why this case matters
Catalog, detector, sky-coordinate, and spectroscopy adapters must preserve the association between numeric coordinates and their declared reference conventions.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| astronomical fixture 0 | {"latitude_reference": 30, "longitude_reference": 20, "lower_edge": 116.0, "spectral_coordinate": 120, "spectral_width": 8, "upper_edge": 124.0} | {"latitude_reference": 5, "longitude_reference": 20, "lower_edge": 116.0, "spectral_coordinate": 120, "spectral_width": 8, "upper_edge": 124.0} | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗