From cc258232c500b210fd859e6d6a5add7be5e35049 Mon Sep 17 00:00:00 2001 From: Robert Stein Date: Thu, 28 Jul 2022 23:28:50 -0700 Subject: [PATCH 1/3] Add ProcessorPremadeCache --- winterdrp/processors/base_processor.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/winterdrp/processors/base_processor.py b/winterdrp/processors/base_processor.py index 997d46e53..9b0b7e2a6 100644 --- a/winterdrp/processors/base_processor.py +++ b/winterdrp/processors/base_processor.py @@ -253,6 +253,25 @@ def make_image( raise NotImplementedError +class ProcessorPremadeCache(ProcessorWithCache, ABC): + + def __init__( + self, + master_image_path: str, + *args, + **kwargs + ): + super().__init__(*args, **kwargs) + self.master_image_path = master_image_path + + def get_cache_path( + self, + images: list[np.ndarray], + headers: list[astropy.io.fits.Header], + ) -> str: + return self.master_image_path + + class BaseCandidateGenerator(BaseProcessor, ImageHandler, ABC): @classmethod From 8c42ee85409f27f51dd9159af56a18f90c125c79 Mon Sep 17 00:00:00 2001 From: Robert Stein Date: Thu, 28 Jul 2022 23:29:22 -0700 Subject: [PATCH 2/3] Add MasterSky/MasterFlat/MasterDark --- winterdrp/processors/dark.py | 6 +++++- winterdrp/processors/flat.py | 5 +++-- winterdrp/processors/sky.py | 5 +++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/winterdrp/processors/dark.py b/winterdrp/processors/dark.py index e74502b29..50766652f 100644 --- a/winterdrp/processors/dark.py +++ b/winterdrp/processors/dark.py @@ -5,7 +5,7 @@ import logging import pandas as pd from collections.abc import Callable -from winterdrp.processors.base_processor import ProcessorWithCache +from winterdrp.processors.base_processor import ProcessorWithCache, ProcessorPremadeCache from winterdrp.paths import base_name_key from winterdrp.processors.utils.image_selector import select_from_images @@ -70,3 +70,7 @@ def make_image( master_dark = np.nanmedian(darks, axis=2) return master_dark, headers[0] + + +class MasterDarkCalibrator(ProcessorPremadeCache, DarkCalibrator): + pass diff --git a/winterdrp/processors/flat.py b/winterdrp/processors/flat.py index 58fa00729..317dbeede 100644 --- a/winterdrp/processors/flat.py +++ b/winterdrp/processors/flat.py @@ -2,7 +2,7 @@ import numpy as np import logging import sys -from winterdrp.processors.base_processor import ProcessorWithCache +from winterdrp.processors.base_processor import ProcessorWithCache, ProcessorPremadeCache from winterdrp.processors.utils.image_selector import select_from_images from collections.abc import Callable from winterdrp.paths import latest_save_key, flat_frame_key @@ -103,7 +103,8 @@ def select_sky_flat( ) -> tuple[list[np.ndarray], list[astropy.io.fits.Header]]: return select_from_images(images, headers, header_key="obsclass", target_values="science") - +class MasterFlatCalibrator(ProcessorPremadeCache, FlatCalibrator): + pass # class OldSkyFlatCalibrator(SkyFlatCalibrator): # # def select_cache_images( diff --git a/winterdrp/processors/sky.py b/winterdrp/processors/sky.py index f745cdff0..c24af10ab 100644 --- a/winterdrp/processors/sky.py +++ b/winterdrp/processors/sky.py @@ -5,7 +5,7 @@ import pandas as pd from collections.abc import Callable from astropy.time import Time -from winterdrp.processors.base_processor import ProcessorWithCache +from winterdrp.processors.base_processor import ProcessorWithCache, ProcessorPremadeCache from winterdrp.processors.flat import SkyFlatCalibrator from winterdrp.paths import cal_output_dir, saturate_key @@ -42,7 +42,8 @@ def _apply_to_images( return images, headers - +class MasterSkyCalibrator(ProcessorPremadeCache, NightSkyMedianCalibrator): + pass # class OldNightSkyMedianCalibrator( # NightSkyMedianCalibrator, # OldSkyFlatCalibrator From f7264fb8538957578f92ed565d641991c5bdced7 Mon Sep 17 00:00:00 2001 From: Robert Stein Date: Thu, 28 Jul 2022 23:30:30 -0700 Subject: [PATCH 3/3] Add MasterBias --- winterdrp/processors/bias.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/winterdrp/processors/bias.py b/winterdrp/processors/bias.py index eb1270260..c5edc6176 100644 --- a/winterdrp/processors/bias.py +++ b/winterdrp/processors/bias.py @@ -1,6 +1,6 @@ import numpy as np import logging -from winterdrp.processors.base_processor import ProcessorWithCache +from winterdrp.processors.base_processor import ProcessorWithCache, ProcessorPremadeCache from collections.abc import Callable import astropy.io.fits from winterdrp.processors.utils.image_selector import select_from_images @@ -63,4 +63,8 @@ def make_image( logger.info(f'Median combining {n_frames} biases') master_bias = np.nanmedian(biases, axis=2) - return master_bias, headers[0] \ No newline at end of file + return master_bias, headers[0] + + +class MasterBiasCalibrator(ProcessorPremadeCache, BiasCalibrator): + pass