fix WCS computation, cdelt should not be sorted

This commit is contained in:
2025-04-01 17:02:31 +02:00
parent fce787df39
commit b577fc5afe
3 changed files with 10 additions and 10 deletions

View File

@@ -16,7 +16,7 @@ from astropy.io import fits
from astropy.wcs import WCS
from .convex_hull import clean_ROI
from .utils import wcs_PA
from .utils import wcs_PA, princ_angle
def get_obs_data(infiles, data_folder="", compute_flux=False):
@@ -72,13 +72,13 @@ def get_obs_data(infiles, data_folder="", compute_flux=False):
for key in keys:
header.remove(key, ignore_missing=True)
new_cdelt = np.linalg.eigvals(wcs.wcs.cd)
new_cdelt.sort()
# new_cdelt.sort()
new_wcs.wcs.pc = wcs.wcs.cd.dot(np.diag(1.0 / new_cdelt))
new_wcs.wcs.cdelt = new_cdelt
for key, val in new_wcs.to_header().items():
header[key] = val
try:
_ = header["ORIENTAT"]
header["ORIENTAT"] = princ_angle(float(header["ORIENTAT"]))
except KeyError:
header["ORIENTAT"] = wcs_PA(new_wcs.wcs.pc[1, 0], np.diag(new_wcs.wcs.pc).mean())