diff --git a/metisp/pymetis/src/pymetis/dataitems/hci/ifuHci.py b/metisp/pymetis/src/pymetis/dataitems/hci/ifuHci.py new file mode 100644 index 00000000..a1cb179b --- /dev/null +++ b/metisp/pymetis/src/pymetis/dataitems/hci/ifuHci.py @@ -0,0 +1,360 @@ +""" +This file is part of the METIS Pipeline. +Copyright (C) 2024 European Southern Observatory + +This program is free software; you can edistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" + +import cpl +from cpl.core import Image, Table + +from pymetis.classes.dataitems import ImageDataItem +from pymetis.classes.mixins import CgrphRavcMixin, CgrphCvcMixin, CgrphAppMixin +from pymetis.classes.mixins.cgrph import CgrphSpecificMixin + + +class IfuOffAxisPsfRaw(ImageDataItem, abstract=True): + + _name_template = r'IFU_OFF_AXIS_PSF_RAW' + _title_template = r"IFU RAVC sci calibration" + _description_template = "calibration ADI image data" + _frame_group = cpl.ui.Frame.FrameGroup.RAW + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Image, + } + +class IfuAdiCalibrated(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r'IFU_RAVC_SCI_CALIBRATED' + _title_template = r"IFU RAVC sci calibration" + _description_template = "calibration ADI image data" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Image, + } + +class IfuOnAxisPsfTemplate(ImageDataItem, abstract=True): + + _name_template = r'IFU_ON_AXIS_PSF_TEMPLATE' + _title_template = r"IFU RAVC sci calibration" + _description_template = "calibration ADI image data" + _frame_group = cpl.ui.Frame.FrameGroup.CALIB + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Image, + } + + + +class IfuSciCentred(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r"IFU_RAVC_SCI_CENTRED" + _title_template = r"IFU RAVC sci centred" + _description_template = "" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Image, + } + +class IfuCentroidTab(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r'IFU_RAVC_CENTROID_TAB' + _title_template = r"IFU RAVC centroid tab" + _description_template = "" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Table, + } + +class IfuSciSpeckle(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r'IFU_RAVC_SCI_SPECKLE' + _title_template = r"IFU RAVC sci speckle" + _description_template = "" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Image, + } + +class IfuSciHifilt(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r'IFU_RAVC_SCI_HIFILT' + _title_template = r"IFU RAVC sci hifilt" + _description_template = "" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Image, + } + +class IfuSciDerotatedPsfsub(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r'IFU_RAVC_SCI_DEROTATED_PSFSUB' + _title_template = r"IFU RAVC sci derotated psfsub" + _description_template = "" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Image, + } + +class IfuSciDerotated(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r'IFU_RAVC_SCI_DEROTATED' + _title_template = r"IFU RAVC sci derotated" + _description_template = "" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Image, + } + +class IfuSciContrastRadprof(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r'IFU_RAVC_SCI_CONTRAST_RADPROF' + _title_template = r"IFU RAVC sci contrast radprof" + _description_template = "" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Table, + } + +class IfuSciContrastAdi(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r'IFU_RAVC_SCI_CONTRAST_ADI' + _title_template = r"IFU RAVC sci contrast adi" + _description_template = "" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Table, + } + +class IfuSciThroughput(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r'IFU_RAVC_SCI_THROUGHPUT' + _title_template = r"IFU RAVC sci throughput" + _description_template = "" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Table, + } + +class IfuSciCoverage(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r'IFU_RAVC_SCI_COVERAGE' + _title_template = r"IFU RAVC sci coverage" + _description_template = "" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Image, + } + +class IfuSciSnr(CgrphSpecificMixin, ImageDataItem, abstract=True): + + _name_template = r'IFU_RAVC_SCI_SNR' + _title_template = r"IFU RAVC sci snr" + _description_template = "" + _frame_group = cpl.ui.Frame.FrameGroup.PRODUCT + _frame_level = cpl.ui.Frame.FrameLevel.FINAL + _oca_keywords = {'PRO.CATG', 'INS.OPTI3.NAME', 'INS.OPTI9.NAME', 'INS.OPTI10.NAME', 'DRS.FILTER'} + + _schema = { + 'PRIMARY': None, + 'DET1.DATA': Image, + } + +# IFU data types for metis_ifu_adi_cgrph + +class IfuRavcSciThroughput(CgrphAppMixin, IfuSciThroughput): + pass + +class IfuCvcSciThroughput(CgrphAppMixin, IfuSciThroughput): + pass + +class IfuAppSciThroughput(CgrphAppMixin, IfuSciThroughput): + pass + + +class IfuAppCalibrated(CgrphAppMixin, IfuAdiCalibrated): + pass + +class IfuRavcCalibrated(CgrphRavcMixin, IfuAdiCalibrated): + pass + +class IfuCvcCalibrated(CgrphCvcMixin, IfuAdiCalibrated): + pass + + +class IfuRavcSciCentred(CgrphAppMixin, IfuSciCentred): + pass + +class IfuRavcCentroidTab(CgrphAppMixin, IfuCentroidTab): + pass + +class IfuCvcSciCentred(CgrphAppMixin, IfuSciCentred): + pass + +class IfuCvcCentroidTab(CgrphAppMixin, IfuCentroidTab): + pass + +class IfuAppSciCentred(CgrphAppMixin, IfuSciCentred): + pass + +class IfuAppCentroidTab(CgrphAppMixin, IfuCentroidTab): + pass + + +class IfuCvcSciSpeckle(CgrphAppMixin, IfuSciSpeckle): + pass + + +class IfuCvcSciHifilt(CgrphAppMixin, IfuSciHifilt): + pass + +class IfuRavcSciSpeckle(CgrphAppMixin, IfuSciSpeckle): + pass + + +class IfuRavcSciHifilt(CgrphAppMixin, IfuSciHifilt): + pass + +class IfuAppSciSpeckle(CgrphAppMixin, IfuSciSpeckle): + pass + + +class IfuAppSciHifilt(CgrphAppMixin, IfuSciHifilt): + pass + + +class IfuCvcSciDerotatedPsfsub(CgrphAppMixin, IfuSciDerotatedPsfsub): + pass + + +class IfuCvcSciDerotated(CgrphAppMixin, IfuSciDerotated): + pass + + + +class IfuRavcSciDerotatedPsfsub(CgrphAppMixin, IfuSciDerotatedPsfsub): + pass + + +class IfuRavcSciDerotated(CgrphAppMixin, IfuSciDerotated): + pass + + + +class IfuAppSciDerotatedPsfsub(CgrphAppMixin, IfuSciDerotatedPsfsub): + pass + + +class IfuAppSciDerotated(CgrphAppMixin, IfuSciDerotated): + pass + + +class IfuCvcSciContrastRadprof(CgrphAppMixin, IfuSciContrastRadprof): + pass + + +class IfuCvcSciContrastAdi(CgrphAppMixin, IfuSciContrastAdi): + pass + + +class IfuRavcSciContrastRadprof(CgrphAppMixin, IfuSciContrastRadprof): + pass + + +class IfuRavcSciContrastAdi(CgrphAppMixin, IfuSciContrastAdi): + pass + + +class IfuAppSciContrastRadprof(CgrphAppMixin, IfuSciContrastRadprof): + pass + + +class IfuAppSciContrastAdi(CgrphAppMixin, IfuSciContrastAdi): + pass + + +class IfuCvcSciCoverage(CgrphAppMixin, IfuSciCoverage): + pass + + +class IfuCvcSciSnr(CgrphAppMixin, IfuSciSnr): + pass + + +class IfuRavcSciCoverage(CgrphAppMixin, IfuSciCoverage): + pass + + +class IfuRavcSciSnr(CgrphAppMixin, IfuSciSnr): + pass + + +class IfuAppSciCoverage(CgrphAppMixin, IfuSciCoverage): + pass + + +class IfuAppSciSnr(CgrphAppMixin, IfuSciSnr): + pass diff --git a/metisp/pymetis/src/pymetis/dataitems/ifu/ifu.py b/metisp/pymetis/src/pymetis/dataitems/ifu/ifu.py index 50d2b94f..333331ac 100644 --- a/metisp/pymetis/src/pymetis/dataitems/ifu/ifu.py +++ b/metisp/pymetis/src/pymetis/dataitems/ifu/ifu.py @@ -118,4 +118,4 @@ class IfuScienceCubeCalibrated(BandIfuMixin, ImageDataItem): _schema = { 'PRIMARY': None, 'IMAGE': Image, - } \ No newline at end of file + } diff --git a/metisp/pymetis/src/pymetis/recipes/hci/metis_ifu_adi_cgrph.py b/metisp/pymetis/src/pymetis/recipes/hci/metis_ifu_adi_cgrph.py new file mode 100644 index 00000000..27bb1767 --- /dev/null +++ b/metisp/pymetis/src/pymetis/recipes/hci/metis_ifu_adi_cgrph.py @@ -0,0 +1,166 @@ +""" +Thi file is part of the METIS Pipeline. +Copyright (C) 2024 European Southern Observatory + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" + +from pyesorex.parameter import ParameterList, ParameterEnum + +# import the dataitems we use +from pymetis.classes.dataitems import DataItem, Hdu +from pymetis.dataitems.distortion import IfuDistortionTable +from pymetis.dataitems.ifu import IfuSciReducedCube +#from pymetis.dataitems.hci import LmOffAxisPsfRaw, LmOnAxisPsfTemplate +from pymetis.dataitems.hci.ifuHci import IfuRavcCalibrated, IfuCvcCalibrated, IfuAppCalibrated + + +from pymetis.dataitems.hci.ifuHci import IfuRavcSciCentred, IfuRavcCentroidTab +from pymetis.dataitems.hci.ifuHci import IfuRavcSciSpeckle, IfuRavcSciHifilt, IfuRavcSciDerotatedPsfsub +from pymetis.dataitems.hci.ifuHci import IfuRavcSciDerotated +from pymetis.dataitems.hci.ifuHci import IfuRavcSciContrastRadprof, IfuRavcSciContrastAdi, IfuRavcSciThroughput +from pymetis.dataitems.hci.ifuHci import IfuRavcSciCoverage, IfuRavcSciSnr + +from pymetis.dataitems.hci.ifuHci import IfuCvcSciCentred, IfuCvcCentroidTab +from pymetis.dataitems.hci.ifuHci import IfuCvcSciSpeckle, IfuCvcSciHifilt, IfuCvcSciDerotatedPsfsub +from pymetis.dataitems.hci.ifuHci import IfuCvcSciDerotated +from pymetis.dataitems.hci.ifuHci import IfuCvcSciContrastRadprof, IfuCvcSciContrastAdi, IfuCvcSciThroughput +from pymetis.dataitems.hci.ifuHci import IfuCvcSciCoverage, IfuCvcSciSnr + +from pymetis.dataitems.hci.ifuHci import IfuAppSciCentred, IfuAppCentroidTab +from pymetis.dataitems.hci.ifuHci import IfuAppSciSpeckle, IfuAppSciHifilt, IfuAppSciDerotatedPsfsub +from pymetis.dataitems.hci.ifuHci import IfuAppSciDerotated +from pymetis.dataitems.hci.ifuHci import IfuAppSciContrastRadprof, IfuAppSciContrastAdi, IfuAppSciThroughput +from pymetis.dataitems.hci.ifuHci import IfuAppSciCoverage, IfuAppSciSnr +from pymetis.dataitems.ifu.ifu import IfuScienceCubeCalibrated + +from pymetis.classes.recipes import MetisRecipe +from pymetis.classes.prefab import RawImageProcessor +from pymetis.classes.inputs import RawInput +from pymetis.utils.dummy import create_dummy_header, create_dummy_image, create_dummy_table + + + +class MetisIfuRavcSciCalibrateImpl(RawImageProcessor): + class InputSet(RawImageProcessor.InputSet): + class RawInput(RawInput): + Item = IfuScienceCubeCalibrated + #class LmOffAxisPsfRaw(RawInput): + # Item = OffAxisPsf + #class LmOnAxisPsfTemplate(RawInput): + # Item = OnAxisPsfTemplate + + + + ProductIfuSciCalibrated = IfuRavcCalibrated + ProductIfuSciCentred = IfuRavcSciCentred + ProductIfuCentroidTab = IfuRavcCentroidTab + ProductIfuSciSpeckle = IfuRavcSciSpeckle + ProductIfuSciHifilt = IfuRavcSciHifilt + ProductIfuSciDerotatedPsfsub = IfuRavcSciDerotatedPsfsub + ProductIfuSciDerotated = IfuRavcSciDerotated + ProductIfuSciContrastRadprof = IfuRavcSciContrastRadprof + ProductIfuSciContrastAdi = IfuRavcSciContrastAdi + ProductIfuSciThroughput = IfuRavcSciThroughput + ProductIfuSciCoverage = IfuRavcSciCoverage + ProductIfuSciSnr = IfuRavcSciSnr + + def process(self) -> set[DataItem]: + + image = self.inputset.raw.load_data('IMAGE')[0] + #image = create_dummy_image() + table = create_dummy_table() + + primary_header = create_dummy_header() + header_ifuSciCalibrated = create_dummy_header() + header_ifuSciCentred = create_dummy_header() + header_ifuCentroidTable = create_dummy_header() + header_ifuSciSpeckle = create_dummy_header() + header_ifuSciHifilt = create_dummy_header() + header_ifuSciDerotatedPsfsub = create_dummy_header() + header_ifuSciDerotated = create_dummy_header() + header_ifuSciContrastRadprof = create_dummy_header() + header_ifuSciContrastAdi = create_dummy_header() + header_ifuSciThroughput = create_dummy_header() + header_ifuSciCoverage = create_dummy_header() + header_ifuSciSnr = create_dummy_header() + + + product_ifuSciCalibrated = self.ProductIfuSciCalibrated( + primary_header, + Hdu(header_ifuSciCalibrated, image, name='DET1.DATA'), + ) + product_ifuSciCentred = self.ProductIfuSciCentred( + primary_header, + Hdu(header_ifuSciCentred, image, name='DET1.DATA'), + ) + product_ifuCentroidTable = self.ProductIfuCentroidTab( + primary_header, + Hdu(header_ifuCentroidTable, table, name='DET1.DATA'), + ) + product_ifuSciSpeckle = self.ProductIfuSciSpeckle( + primary_header, + Hdu(header_ifuSciSpeckle, image, name='DET1.DATA'), + ) + product_ifuSciHifilt = self.ProductIfuSciHifilt( + primary_header, + Hdu(header_ifuSciHifilt, image, name='DET1.DATA'), + ) + product_ifuSciDerotatedPsfsub = self.ProductIfuSciDerotatedPsfsub( + primary_header, + Hdu(header_ifuSciDerotatedPsfsub, image, name='DET1.DATA'), + ) + product_ifuSciDerotated = self.ProductIfuSciDerotated( + primary_header, + Hdu(header_ifuSciDerotated, image, name='DET1.DATA'), + ) + product_ifuSciContrastRadprof = self.ProductIfuSciContrastRadprof( + primary_header, + Hdu(header_ifuSciContrastRadprof, table, name='DET1.DATA'), + ) + product_ifuSciContrastAdi = self.ProductIfuSciContrastAdi( + primary_header, + Hdu(header_ifuSciContrastAdi, table, name='DET1.DATA'), + ) + product_ifuSciThroughput = self.ProductIfuSciThroughput( + primary_header, + Hdu(header_ifuSciThroughput, table, name='DET1.DATA'), + ) + product_ifuSciCoverage = self.ProductIfuSciCoverage( + primary_header, + Hdu(header_ifuSciCoverage, image, name='DET1.DATA'), + ) + product_ifuSciSnr = self.ProductIfuSciSnr( + primary_header, + Hdu(header_ifuSciSnr, image, name='DET1.DATA'), + ) + + return {product_ifuSciCalibrated, product_ifuSciCentred, product_ifuSciCentred, product_ifuCentroidTable, product_ifuSciHifilt, product_ifuSciDerotatedPsfsub, product_ifuSciDerotated, product_ifuSciContrastRadprof, product_ifuSciContrastAdi, product_ifuSciThroughput, product_ifuSciCoverage, product_ifuSciSnr} + + +class MetisIfuRavcSciCalibrated(MetisRecipe): + _name: str = "metis_ifu_adi_cgrph" + _version: str = "0.1" + _author: str = "Jennifer Karr, A*" + _email: str = "jkarr@asiaa.sinica.edu.tw" + _synopsis: str = "ADI postprocssing" + + _matched_keywords: set[str] = {'DRS.FILTER'} + _algorithm = """TODO""" + + parameters = ParameterList([]) + + Impl = MetisIfuRavcSciCalibrateImpl + diff --git a/metisp/pyrecipes/metis_recipes.py b/metisp/pyrecipes/metis_recipes.py index 0e9bda5e..4f8496c1 100644 --- a/metisp/pyrecipes/metis_recipes.py +++ b/metisp/pyrecipes/metis_recipes.py @@ -19,3 +19,4 @@ from pymetis.recipes import * from pymetis.recipes.hci.metis_img_adi_cgrph import MetisLmRavcSciCalibrated +from pymetis.recipes.hci.metis_ifu_adi_cgrph import MetisIfuRavcSciCalibrated diff --git a/metisp/workflows/metis/metis_ifu_ravc_wkf.py b/metisp/workflows/metis/metis_ifu_ravc_wkf.py new file mode 100644 index 00000000..808e508e --- /dev/null +++ b/metisp/workflows/metis/metis_ifu_ravc_wkf.py @@ -0,0 +1,12 @@ +from edps import SCIENCE, QC1_CALIB, QC0, CALCHECKER +from edps import task, subworkflow, qc1calib, match_rules, FilterMode, calchecker +from .metis_datasources import * +from . import metis_keywords as metis_kwd +from .metis_ifu_wkf import * + +ifu_ravc_post_task = (task('ifu_ravc_post') + .with_recipe('metis_ifu_adi_cgrph') + .with_main_input(ifu_calibrate_task) + .with_meta_targets([SCIENCE]) + .build()) + diff --git a/metisp/workflows/metis/metis_lm_ravc_wkf.py b/metisp/workflows/metis/metis_lm_ravc_wkf.py index 962c747c..651586cc 100644 --- a/metisp/workflows/metis/metis_lm_ravc_wkf.py +++ b/metisp/workflows/metis/metis_lm_ravc_wkf.py @@ -2,99 +2,12 @@ from edps import task, subworkflow, qc1calib, match_rules, FilterMode, calchecker from .metis_datasources import * from . import metis_keywords as metis_kwd +#from .metis_lm_img_wkf import lm_img_lingain_task, lm_img_dark_task, lm_img_flat_task, lm_img_distortion_task, lm_img_basic_reduce_sci_task, lm_img_basic_reduce_sci_task, lm_img_basic_reduce_sky_task, lm_img_basic_reduce_std_task, lm_img_background_sci_task, lm_img_basic_reduce_std_task, lm_img_standard_flux_task, lm_img_calib_task -lm_img_lingain_task1 = (task('metis_lm_img_lingain1') - .with_recipe("metis_det_lingain") - .with_main_input(detlin_2rg_raw) - .with_associated_input(lm_wcu_off_raw) - .build()) - -lm_img_dark_task1 = (task('metis_lm_img_dark1') - .with_main_input(dark_2rg_raw) - .with_associated_input(lm_img_lingain_task1) - .with_associated_input(persistence_map) - .with_recipe("metis_det_dark") - .build()) - -lm_img_flat_task1 = (task("metis_lm_img_flat1") - .with_main_input(lm_flat_lamp_raw) - .with_associated_input(lm_img_dark_task1) - .with_associated_input(lm_img_lingain_task1) - .with_associated_input(persistence_map) - .with_recipe("metis_lm_img_flat") - .build()) - -lm_img_distortion_task1 = (task('metis_lm_img_cal_distortion1') - .with_main_input(lm_distortion_raw) - .with_associated_input(lm_wcu_off_raw) - .with_associated_input(pinhole_table) - .with_associated_input(lm_img_lingain_task1) - .with_associated_input(persistence_map) - .with_recipe('metis_lm_img_distortion') - .build()) - -lm_img_basic_reduce_sci_task1 = (task('metis_lm_img_basic_reduce_sci1') - .with_recipe('metis_lm_img_basic_reduce') - .with_main_input(lm_image_sci_raw) - .with_associated_input(lm_img_lingain_task1) - .with_associated_input(lm_img_dark_task1) - .with_associated_input(lm_img_flat_task1) - .with_associated_input(persistence_map) - .with_meta_targets([SCIENCE]) - .build()) - -lm_img_basic_reduce_sky_task1 = (task('metis_lm_img_basic_reduce_sky1') - .with_recipe('metis_lm_img_basic_reduce') - .with_main_input(lm_image_sky_raw) - .with_associated_input(lm_img_lingain_task1) - .with_associated_input(lm_img_dark_task1) - .with_associated_input(lm_img_flat_task1) - .with_associated_input(persistence_map) - .with_meta_targets([SCIENCE]) - .build()) - -lm_img_basic_reduce_std_task1 = (task('metis_lm_img_basic_reduce_std1') - .with_recipe('metis_lm_img_basic_reduce') - .with_main_input(lm_image_std_raw) - .with_associated_input(lm_img_lingain_task1) - .with_associated_input(lm_img_dark_task1) - .with_associated_input(lm_img_flat_task1) - .with_associated_input(persistence_map) - .with_meta_targets([SCIENCE]) - .build()) - -lm_img_background_sci_task1 = (task('metis_lm_img_background_sci1') - .with_recipe('metis_lm_img_background') - .with_main_input(lm_img_basic_reduce_sci_task1) - .with_associated_input(lm_img_basic_reduce_sky_task1) - .with_meta_targets([SCIENCE]) - .build()) - -lm_img_basic_reduce_std_task1 = (task('metis_lm_img_background_std1') - .with_recipe('metis_lm_img_background') - .with_main_input(lm_img_basic_reduce_std_task1) - .with_associated_input(lm_img_basic_reduce_sky_task1) - .with_meta_targets([SCIENCE]) - .build()) - -lm_img_standard_flux_task1 = (task('metis_lm_img_standard_flux1') - .with_recipe('metis_lm_img_std_process') - .with_main_input(lm_img_basic_reduce_std_task1) - .with_associated_input(fluxstd_catalog) - .with_meta_targets([SCIENCE]) - .build()) - -lm_img_calib_task1 = (task('metis_lm_img_calib1') - .with_recipe('metis_lm_img_calibrate') - .with_main_input(lm_img_background_sci_task1) - .with_associated_input(lm_img_standard_flux_task1) - .with_associated_input(lm_img_distortion_task1) - .with_meta_targets([SCIENCE]) - .build()) - +from .metis_lm_img_wkf import * lm_ravc_post_task1 = (task('lm_ravc_post1') .with_recipe('metis_img_adi_cgrph') - .with_main_input(lm_img_calib_task1) + .with_main_input(lm_img_calib_task) .with_meta_targets([SCIENCE]) .build()) # QC1