From 6cca18b96079a26ceb8ce73562ec597653d5c8a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Tronsgaard?= Date: Thu, 20 Feb 2025 01:09:13 +0000 Subject: [PATCH 1/2] Shorten FITS header keywords longer than 8 characters To get rid of warnings --- pyreduce/clipnflip.py | 2 +- pyreduce/combine_frames.py | 2 +- pyreduce/instruments/common.py | 8 ++++---- pyreduce/instruments/mcdonald.py | 2 +- pyreduce/instruments/nte.py | 2 +- pyreduce/instruments/uves.py | 2 +- pyreduce/instruments/xshooter.py | 4 ++-- test/test_clipnflip.py | 2 +- test/test_instruments.py | 2 +- 9 files changed, 13 insertions(+), 13 deletions(-) diff --git a/pyreduce/clipnflip.py b/pyreduce/clipnflip.py index 5bcefe9d..bbf44e38 100644 --- a/pyreduce/clipnflip.py +++ b/pyreduce/clipnflip.py @@ -135,7 +135,7 @@ def clipnflip( transpose = ( transpose if transpose is not None - else header.get("e_transpose", (orientation % 8) >= 4) + else header.get("e_transp", (orientation % 8) >= 4) ) if transpose: timage = np.transpose(timage, axes=(-1, -2)) diff --git a/pyreduce/combine_frames.py b/pyreduce/combine_frames.py index b6d57386..49f9ab26 100644 --- a/pyreduce/combine_frames.py +++ b/pyreduce/combine_frames.py @@ -348,7 +348,7 @@ def combine_frames( # orient 0, 2, 5, 7: orders are horizontal # orient 1, 3, 4, 6: orders are vertical orientation = head["e_orient"] - transpose = head.get("e_transpose", False) + transpose = head.get("e_transp", False) orientation = orientation % 8 # check if non-linearity correction linear = head.get("e_linear", True) diff --git a/pyreduce/instruments/common.py b/pyreduce/instruments/common.py index a8300bf5..65c89703 100644 --- a/pyreduce/instruments/common.py +++ b/pyreduce/instruments/common.py @@ -265,9 +265,9 @@ def add_header_info(self, header, mode, **kwargs): info = self.info get = getter(header, info, mode) - header["e_instrument"] = get("instrument", self.__class__.__name__) - header["e_telescope"] = get("telescope", "") - header["e_exptime"] = get("exposure_time", 0) + header["e_instru"] = get("instrument", self.__class__.__name__) + header["e_telesc"] = get("telescope", "") + header["e_exptim"] = get("exposure_time", 0) jd = get("date") if jd is not None: @@ -277,7 +277,7 @@ def add_header_info(self, header, mode, **kwargs): header["e_orient"] = get("orientation", 0) # As per IDL rotate if orient is 4 or larger and transpose is undefined # the image is transposed - header["e_transpose"] = get("transpose", (header["e_orient"] % 8 >= 4)) + header["e_transp"] = get("transpose", (header["e_orient"] % 8 >= 4)) naxis_x = get("naxis_x", 0) naxis_y = get("naxis_y", 0) diff --git a/pyreduce/instruments/mcdonald.py b/pyreduce/instruments/mcdonald.py index f4f9fa6f..88e6836d 100644 --- a/pyreduce/instruments/mcdonald.py +++ b/pyreduce/instruments/mcdonald.py @@ -43,7 +43,7 @@ def add_header_info(self, header, mode, **kwargs): header["e_orient"] = get("orientation", 0) # As per IDL rotate if orient is 4 or larger and transpose is undefined # the image is transposed - header["e_transpose"] = get("transpose", (header["e_orient"] % 8 >= 4)) + header["e_transp"] = get("transpose", (header["e_orient"] % 8 >= 4)) trimsec = get("trimsec") diff --git a/pyreduce/instruments/nte.py b/pyreduce/instruments/nte.py index 27a935e3..0ae4580d 100755 --- a/pyreduce/instruments/nte.py +++ b/pyreduce/instruments/nte.py @@ -25,7 +25,7 @@ def add_header_info(self, header, mode, **kwargs): header["e_ra"] /= 15 if header["e_jd"] is not None: - header["e_jd"] += header["e_exptime"] / (7200 * 24) + 0.5 + header["e_jd"] += header["e_exptim"] / (7200 * 24) + 0.5 return header diff --git a/pyreduce/instruments/uves.py b/pyreduce/instruments/uves.py index f13bbbbf..a3ebba96 100644 --- a/pyreduce/instruments/uves.py +++ b/pyreduce/instruments/uves.py @@ -25,7 +25,7 @@ def add_header_info(self, header, mode, **kwargs): header["e_ra"] /= 15 if header["e_jd"] is not None: - header["e_jd"] += header["e_exptime"] / (7200 * 24) + 0.5 + header["e_jd"] += header["e_exptim"] / (7200 * 24) + 0.5 return header diff --git a/pyreduce/instruments/xshooter.py b/pyreduce/instruments/xshooter.py index 17d14b82..3941a3a7 100644 --- a/pyreduce/instruments/xshooter.py +++ b/pyreduce/instruments/xshooter.py @@ -24,12 +24,12 @@ def add_header_info(self, header, mode, **kwargs): header = super().add_header_info(header, mode) header["e_backg"] = ( - header["e_readn"] + header["e_exptime"] * header["e_drk"] / 3600 + header["e_readn"] + header["e_exptim"] * header["e_drk"] / 3600 ) header["e_ra"] /= 15 if header["e_jd"] is not None: - header["e_jd"] += header["e_exptime"] / 2 / 3600 / 24 + 0.5 + header["e_jd"] += header["e_exptim"] / 2 / 3600 / 24 + 0.5 return header diff --git a/test/test_clipnflip.py b/test/test_clipnflip.py index 14dd66a0..8071667c 100644 --- a/test/test_clipnflip.py +++ b/test/test_clipnflip.py @@ -22,7 +22,7 @@ def header(image): header["e_xlo"], header["e_xhi"] = 0, image.shape[1] header["e_ylo"], header["e_yhi"] = 0, image.shape[0] header["e_orient"] = 0 - header["e_transpose"] = False + header["e_transp"] = False return header diff --git a/test/test_instruments.py b/test/test_instruments.py index 56def2cc..43bf50c0 100644 --- a/test/test_instruments.py +++ b/test/test_instruments.py @@ -47,7 +47,7 @@ def test_get_instrument_info(supported_instrument): def test_modeinfo(supported_instrument, supported_modes): # Standard FITS header keywords - required_keywords = ["e_instrument", "e_telescope", "e_exptime", "e_jd"] + required_keywords = ["e_instru", "e_telesc", "e_exptim", "e_jd"] # PyReduce keywords required_keywords += [ "e_xlo", From ef830e8cbcef01242fd0481b00f67c525ec7cb66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Tronsgaard?= Date: Wed, 26 Feb 2025 13:53:11 +0000 Subject: [PATCH 2/2] Look for keyword `E_TRANSPOSE` if `E_TRANSP` not present --- pyreduce/clipnflip.py | 2 +- pyreduce/combine_frames.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyreduce/clipnflip.py b/pyreduce/clipnflip.py index bbf44e38..79a9805b 100644 --- a/pyreduce/clipnflip.py +++ b/pyreduce/clipnflip.py @@ -135,7 +135,7 @@ def clipnflip( transpose = ( transpose if transpose is not None - else header.get("e_transp", (orientation % 8) >= 4) + else header.get("e_transp", header.get("e_transpose", (orientation % 8) >= 4)) ) if transpose: timage = np.transpose(timage, axes=(-1, -2)) diff --git a/pyreduce/combine_frames.py b/pyreduce/combine_frames.py index cc22d292..ceeb4be8 100644 --- a/pyreduce/combine_frames.py +++ b/pyreduce/combine_frames.py @@ -352,7 +352,7 @@ def combine_frames( # orient 0, 2, 5, 7: orders are horizontal # orient 1, 3, 4, 6: orders are vertical orientation = head.get("e_orient", 0) - transpose = head.get("e_transp", False) + transpose = head.get('e_transp', head.get('e_transpose', False)) orientation = orientation % 8 # check if non-linearity correction linear = head.get("e_linear", True)