diff --git a/pipelines/LSSTComCam/cpBfk.yaml b/pipelines/LSSTComCam/cpBfk.yaml index 12765ea2..ecfad962 100644 --- a/pipelines/LSSTComCam/cpBfk.yaml +++ b/pipelines/LSSTComCam/cpBfk.yaml @@ -1,4 +1,17 @@ -description: cp_pipe brighter-fatter kernel calibration construction. +description: LSSTComCam Brighter-Fatter kernel calibration construction. instrument: lsst.obs.lsst.LsstComCam imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBfk.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBfkLSST.yaml +tasks: + cpBfkPtcExtract: + class: lsst.cp.pipe.ptc.PhotonTransferCurveExtractTask + config: + # Restrict the covariance range because we do not have + # dense PTCs for LSSTComCam. + maximumRangeCovariancesAstier: 8 + efdSalIndex: 101 + cpBfkPtcSolve: + class: lsst.cp.pipe.ptc.PhotonTransferCurveSolveTask + config: + maximumRangeCovariancesAstier: 8 + maximumRangeCovariancesAstierFullCovFit: 8 diff --git a/pipelines/LSSTComCam/cpBias.yaml b/pipelines/LSSTComCam/cpBias.yaml index 519926b8..fe69ec07 100644 --- a/pipelines/LSSTComCam/cpBias.yaml +++ b/pipelines/LSSTComCam/cpBias.yaml @@ -1,9 +1,4 @@ -description: ComCam bias calibration construction +description: LSSTComCam bias calibration construction instrument: lsst.obs.lsst.LsstComCam imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBias.yaml -tasks: - cpBiasIsr: - class: lsst.ip.isr.IsrTask - config: - doDefect: false + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBiasLSST.yaml diff --git a/pipelines/LSSTComCam/cpBiasBootstrap.yaml b/pipelines/LSSTComCam/cpBiasBootstrap.yaml new file mode 100644 index 00000000..bc28e08b --- /dev/null +++ b/pipelines/LSSTComCam/cpBiasBootstrap.yaml @@ -0,0 +1,4 @@ +description: LSSTComCam bootstrap bias calibration construction +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBiasBootstrapLSST.yaml diff --git a/pipelines/LSSTComCam/cpDark.yaml b/pipelines/LSSTComCam/cpDark.yaml index 571048f3..2c860e3d 100644 --- a/pipelines/LSSTComCam/cpDark.yaml +++ b/pipelines/LSSTComCam/cpDark.yaml @@ -1,11 +1,4 @@ -description: ComCam dark calibration construction +description: LSSTComCam dark calibration construction instrument: lsst.obs.lsst.LsstComCam imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDark.yaml -tasks: - cpDarkIsr: - class: lsst.ip.isr.IsrTask - config: - doLinearize: false - doCrosstalk: false - doDefect: false + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDarkLSST.yaml diff --git a/pipelines/LSSTComCam/cpDarkBootstrap.yaml b/pipelines/LSSTComCam/cpDarkBootstrap.yaml new file mode 100644 index 00000000..f78d67ba --- /dev/null +++ b/pipelines/LSSTComCam/cpDarkBootstrap.yaml @@ -0,0 +1,4 @@ +description: LSSTComCam bootstrap dark calibration construction +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDarkBootstrapLSST.yaml diff --git a/pipelines/LSSTComCam/cpDefects.yaml b/pipelines/LSSTComCam/cpDefects.yaml index 3fd8941e..085390a0 100644 --- a/pipelines/LSSTComCam/cpDefects.yaml +++ b/pipelines/LSSTComCam/cpDefects.yaml @@ -1,4 +1,29 @@ -description: cp_pipe DEFECT calibration construction from combined images. +description: cp_pipe LSSTComCam defect calibration construction. instrument: lsst.obs.lsst.LsstComCam imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDefects.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDefectsLSST.yaml +tasks: + cpMeasureBiasDefects: + class: lsst.cp.pipe.MeasureDefectsCombinedTask + config: + badPixelsToFillColumnThreshold: 1000 + saturatedPixelsToFillColumnThreshold: 20 + saturatedColumnDilationRadius: 2 + cpMeasureDarkDefects: + class: lsst.cp.pipe.MeasureDefectsCombinedTask + config: + thresholdType: "VALUE" + darkCurrentThreshold: 3.0 + badPixelsToFillColumnThreshold: 1000 + saturatedPixelsToFillColumnThreshold: 20 + saturatedColumnDilationRadius: 2 + cpMeasureFlatDefects: + class: lsst.cp.pipe.MeasureDefectsCombinedWithFilterTask + config: + thresholdType: "VALUE" + fracThresholdFlat: 0.9 + badPixelsToFillColumnThreshold: 1000 + cpMergeDefects: + class: lsst.cp.pipe.MergeDefectsCombinedTask + config: + edgesAsDefects: true diff --git a/pipelines/LSSTComCam/cpFlat.yaml b/pipelines/LSSTComCam/cpFlat.yaml index 813d7a73..d65e8d9a 100644 --- a/pipelines/LSSTComCam/cpFlat.yaml +++ b/pipelines/LSSTComCam/cpFlat.yaml @@ -1,15 +1,4 @@ -description: ComCam flat calibration construction +description: LSSTComCam flat calibration construction instrument: lsst.obs.lsst.LsstComCam imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlat.yaml -tasks: - cpFlatIsr: - class: lsst.ip.isr.IsrTask - config: - doLinearize: false - doCrosstalk: false - doDefect: false - cpFlatMeasure: - class: lsst.cp.pipe.CpFlatMeasureTask - config: - doVignette: false + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlatLSST.yaml diff --git a/pipelines/LSSTComCam/cpFlatBootstrap.yaml b/pipelines/LSSTComCam/cpFlatBootstrap.yaml new file mode 100644 index 00000000..53986ce3 --- /dev/null +++ b/pipelines/LSSTComCam/cpFlatBootstrap.yaml @@ -0,0 +1,4 @@ +description: LSSTComCam bootstrap flat construction +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlatBootstrapSingleChipLSST.yaml diff --git a/pipelines/LSSTComCam/cpFlatSingleChip.yaml b/pipelines/LSSTComCam/cpFlatSingleChip.yaml index 5d04e87c..68a139d5 100644 --- a/pipelines/LSSTComCam/cpFlatSingleChip.yaml +++ b/pipelines/LSSTComCam/cpFlatSingleChip.yaml @@ -1,4 +1,4 @@ -description: cp_pipe FLAT calibration construction +description: LSSTComCam flat calibration construction instrument: lsst.obs.lsst.LsstComCam imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlatSingleChip.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlatSingleChipLSST.yaml diff --git a/pipelines/LSSTComCam/cpLinearizer.yaml b/pipelines/LSSTComCam/cpLinearizer.yaml index b5d2a7af..56e5db91 100644 --- a/pipelines/LSSTComCam/cpLinearizer.yaml +++ b/pipelines/LSSTComCam/cpLinearizer.yaml @@ -1,4 +1,13 @@ -description: cp_pipe linearity calibration construction. +description: cp_pipe LSSTComCam linearizer calibration construction. instrument: lsst.obs.lsst.LsstComCam imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpLinearizer.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpLinearizerLSST.yaml +tasks: + cpLinearizerPtcExtract: + class: lsst.cp.pipe.ptc.PhotonTransferCurveExtractTask + config: + efdSalIndex: 101 + cpLinearizerSolve: + class: lsst.cp.pipe.LinearitySolveTask + config: + maxLinearAdu: 120000 diff --git a/pipelines/LSSTComCam/cpPlotPtc.yaml b/pipelines/LSSTComCam/cpPlotPtc.yaml index eb156ef4..a385e568 100644 --- a/pipelines/LSSTComCam/cpPlotPtc.yaml +++ b/pipelines/LSSTComCam/cpPlotPtc.yaml @@ -1,4 +1,4 @@ -description: cp_pipe task to plot Photon Transfer Curve dataset +description: cp_pipe LSSTComCam task to plot Photon Transfer Curve dataset instrument: lsst.obs.lsst.LsstComCam imports: - location: $CP_PIPE_DIR/pipelines/_ingredients/cpPlotPtc.yaml diff --git a/pipelines/LSSTComCam/cpPtc.yaml b/pipelines/LSSTComCam/cpPtc.yaml index 7c747875..6fe1b1cc 100644 --- a/pipelines/LSSTComCam/cpPtc.yaml +++ b/pipelines/LSSTComCam/cpPtc.yaml @@ -1,18 +1,9 @@ -description: ComCam Photon-Transfer Curve calibration construction. +description: LSSTComCam Photon-Transfer Curve calibration construction. instrument: lsst.obs.lsst.LsstComCam imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpPtc.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpPtcLSST.yaml tasks: - cpPtcIsr: - class: lsst.ip.isr.IsrTask - config: - doCrosstalk: false - doDefect: false cpPtcExtract: class: lsst.cp.pipe.ptc.PhotonTransferCurveExtractTask config: - matchExposuresType: TIME - cpPtcSolve: - class: lsst.cp.pipe.ptc.PhotonTransferCurveSolveTask - config: - ptcFitType: EXPAPPROXIMATION + efdSalIndex: 101 diff --git a/pipelines/LSSTComCam/cpSky.yaml b/pipelines/LSSTComCam/cpSky.yaml index fbc8db4c..17e9792d 100644 --- a/pipelines/LSSTComCam/cpSky.yaml +++ b/pipelines/LSSTComCam/cpSky.yaml @@ -1,8 +1,12 @@ -description: Sky frame generation pipeline definition. +description: Sky frame generation for LSSTComCam pipeline. instrument: lsst.obs.lsst.LsstComCam imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpSky.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpSkyLSST.yaml tasks: + cpSkyIsr: + class: lsst.ip.isr.IsrTaskLSST + config: + crosstalk.doQuadraticCrosstalkCorrection: false cpSkyImage: class: lsst.cp.pipe.CpSkyImageTask config: diff --git a/pipelines/LSSTComCam/legacy_202409/cpBfk.yaml b/pipelines/LSSTComCam/legacy_202409/cpBfk.yaml new file mode 100644 index 00000000..12765ea2 --- /dev/null +++ b/pipelines/LSSTComCam/legacy_202409/cpBfk.yaml @@ -0,0 +1,4 @@ +description: cp_pipe brighter-fatter kernel calibration construction. +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBfk.yaml diff --git a/pipelines/LSSTComCam/legacy_202409/cpBias.yaml b/pipelines/LSSTComCam/legacy_202409/cpBias.yaml new file mode 100644 index 00000000..519926b8 --- /dev/null +++ b/pipelines/LSSTComCam/legacy_202409/cpBias.yaml @@ -0,0 +1,9 @@ +description: ComCam bias calibration construction +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBias.yaml +tasks: + cpBiasIsr: + class: lsst.ip.isr.IsrTask + config: + doDefect: false diff --git a/pipelines/LSSTComCam/cpCrosstalk.yaml b/pipelines/LSSTComCam/legacy_202409/cpCrosstalk.yaml similarity index 100% rename from pipelines/LSSTComCam/cpCrosstalk.yaml rename to pipelines/LSSTComCam/legacy_202409/cpCrosstalk.yaml diff --git a/pipelines/LSSTComCam/cpCti.yaml b/pipelines/LSSTComCam/legacy_202409/cpCti.yaml similarity index 100% rename from pipelines/LSSTComCam/cpCti.yaml rename to pipelines/LSSTComCam/legacy_202409/cpCti.yaml diff --git a/pipelines/LSSTComCam/legacy_202409/cpDark.yaml b/pipelines/LSSTComCam/legacy_202409/cpDark.yaml new file mode 100644 index 00000000..571048f3 --- /dev/null +++ b/pipelines/LSSTComCam/legacy_202409/cpDark.yaml @@ -0,0 +1,11 @@ +description: ComCam dark calibration construction +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDark.yaml +tasks: + cpDarkIsr: + class: lsst.ip.isr.IsrTask + config: + doLinearize: false + doCrosstalk: false + doDefect: false diff --git a/pipelines/LSSTComCam/cpDarkForDefects.yaml b/pipelines/LSSTComCam/legacy_202409/cpDarkForDefects.yaml similarity index 100% rename from pipelines/LSSTComCam/cpDarkForDefects.yaml rename to pipelines/LSSTComCam/legacy_202409/cpDarkForDefects.yaml diff --git a/pipelines/LSSTComCam/legacy_202409/cpDefects.yaml b/pipelines/LSSTComCam/legacy_202409/cpDefects.yaml new file mode 100644 index 00000000..3fd8941e --- /dev/null +++ b/pipelines/LSSTComCam/legacy_202409/cpDefects.yaml @@ -0,0 +1,4 @@ +description: cp_pipe DEFECT calibration construction from combined images. +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDefects.yaml diff --git a/pipelines/LSSTComCam/cpDefectsIndividual.yaml b/pipelines/LSSTComCam/legacy_202409/cpDefectsIndividual.yaml similarity index 100% rename from pipelines/LSSTComCam/cpDefectsIndividual.yaml rename to pipelines/LSSTComCam/legacy_202409/cpDefectsIndividual.yaml diff --git a/pipelines/LSSTComCam/legacy_202409/cpFlat.yaml b/pipelines/LSSTComCam/legacy_202409/cpFlat.yaml new file mode 100644 index 00000000..813d7a73 --- /dev/null +++ b/pipelines/LSSTComCam/legacy_202409/cpFlat.yaml @@ -0,0 +1,15 @@ +description: ComCam flat calibration construction +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlat.yaml +tasks: + cpFlatIsr: + class: lsst.ip.isr.IsrTask + config: + doLinearize: false + doCrosstalk: false + doDefect: false + cpFlatMeasure: + class: lsst.cp.pipe.CpFlatMeasureTask + config: + doVignette: false diff --git a/pipelines/LSSTComCam/legacy_202409/cpFlatSingleChip.yaml b/pipelines/LSSTComCam/legacy_202409/cpFlatSingleChip.yaml new file mode 100644 index 00000000..5d04e87c --- /dev/null +++ b/pipelines/LSSTComCam/legacy_202409/cpFlatSingleChip.yaml @@ -0,0 +1,4 @@ +description: cp_pipe FLAT calibration construction +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlatSingleChip.yaml diff --git a/pipelines/LSSTComCam/cpFringe.yaml b/pipelines/LSSTComCam/legacy_202409/cpFringe.yaml similarity index 100% rename from pipelines/LSSTComCam/cpFringe.yaml rename to pipelines/LSSTComCam/legacy_202409/cpFringe.yaml diff --git a/pipelines/LSSTComCam/legacy_202409/cpLinearizer.yaml b/pipelines/LSSTComCam/legacy_202409/cpLinearizer.yaml new file mode 100644 index 00000000..b5d2a7af --- /dev/null +++ b/pipelines/LSSTComCam/legacy_202409/cpLinearizer.yaml @@ -0,0 +1,4 @@ +description: cp_pipe linearity calibration construction. +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpLinearizer.yaml diff --git a/pipelines/LSSTComCam/legacy_202409/cpPlotPtc.yaml b/pipelines/LSSTComCam/legacy_202409/cpPlotPtc.yaml new file mode 100644 index 00000000..eb156ef4 --- /dev/null +++ b/pipelines/LSSTComCam/legacy_202409/cpPlotPtc.yaml @@ -0,0 +1,4 @@ +description: cp_pipe task to plot Photon Transfer Curve dataset +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpPlotPtc.yaml diff --git a/pipelines/LSSTComCam/legacy_202409/cpPtc.yaml b/pipelines/LSSTComCam/legacy_202409/cpPtc.yaml new file mode 100644 index 00000000..7c747875 --- /dev/null +++ b/pipelines/LSSTComCam/legacy_202409/cpPtc.yaml @@ -0,0 +1,18 @@ +description: ComCam Photon-Transfer Curve calibration construction. +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpPtc.yaml +tasks: + cpPtcIsr: + class: lsst.ip.isr.IsrTask + config: + doCrosstalk: false + doDefect: false + cpPtcExtract: + class: lsst.cp.pipe.ptc.PhotonTransferCurveExtractTask + config: + matchExposuresType: TIME + cpPtcSolve: + class: lsst.cp.pipe.ptc.PhotonTransferCurveSolveTask + config: + ptcFitType: EXPAPPROXIMATION diff --git a/pipelines/LSSTComCam/legacy_202409/cpSky.yaml b/pipelines/LSSTComCam/legacy_202409/cpSky.yaml new file mode 100644 index 00000000..fbc8db4c --- /dev/null +++ b/pipelines/LSSTComCam/legacy_202409/cpSky.yaml @@ -0,0 +1,15 @@ +description: Sky frame generation pipeline definition. +instrument: lsst.obs.lsst.LsstComCam +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpSky.yaml +tasks: + cpSkyImage: + class: lsst.cp.pipe.CpSkyImageTask + config: + # These values roughly equate to the dimensions of a single detector. + # As noted below, the sizes are in millimeters, and correspond to a + # background image of 4096*4096 pixels (4096*0.01=40.96). + # TODO: Revise these values on DM-43321. + largeScaleBackground.xSize: 40.96 # in mm + largeScaleBackground.ySize: 40.96 # in mm + largeScaleBackground.pixelSize: 0.01 # in mm per pixel diff --git a/pipelines/LSSTComCamSim/cpBfk.yaml b/pipelines/LSSTComCamSim/cpBfk.yaml index 119f8b65..4fd40096 100644 --- a/pipelines/LSSTComCamSim/cpBfk.yaml +++ b/pipelines/LSSTComCamSim/cpBfk.yaml @@ -1,4 +1,33 @@ -description: cp_pipe brighter-fatter kernel calibration construction. +description: LSSTComCamSim Brighter-Fatter kernel calibration construction. instrument: lsst.obs.lsst.LsstComCamSim imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBfk.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBfkLSST.yaml +tasks: + cpBfkIsr: + class: lsst.ip.isr.IsrTaskLSST + config: + overscanCamera.defaultDetectorConfig.defaultAmpConfig.serialOverscanConfig.fitType: "MEAN" + overscanCamera.defaultDetectorConfig.defaultAmpConfig.doParallelOverscan: false + doCrosstalk: false + doLinearize: false + doDeferredCharge: false + doDefect: false + cpBfkPtcExtract: + class: lsst.cp.pipe.ptc.PhotonTransferCurveExtractTask + config: + maximumRangeCovariancesAstier: 8 + useEfdPhotodiodeData: false + auxiliaryHeaderKeys: [] + cpBfkPtcSolve: + class: lsst.cp.pipe.ptc.PhotonTransferCurveSolveTask + config: + maximumRangeCovariancesAstier: 8 + maximumRangeCovariancesAstierFullCovFit: 8 + # TODO DM-46439: This can be renamed back to cpBfkSolve when repos + # are cleaned up for the previous dimensionality error. + cpBfkSolveX: + class: lsst.cp.pipe.BrighterFatterKernelSolveTask + config: + useCovModelSample: true + python: | + config.covModelFluxSample = {"ALL_AMPS": 100000.0} diff --git a/pipelines/LSSTComCamSim/cpBias.yaml b/pipelines/LSSTComCamSim/cpBias.yaml index 8102b304..765f567f 100644 --- a/pipelines/LSSTComCamSim/cpBias.yaml +++ b/pipelines/LSSTComCamSim/cpBias.yaml @@ -1,9 +1,13 @@ -description: ComCam bias calibration construction +description: LSSTComCamSim bias calibration construction instrument: lsst.obs.lsst.LsstComCamSim imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBias.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBiasLSST.yaml tasks: cpBiasIsr: - class: lsst.ip.isr.IsrTask + class: lsst.ip.isr.IsrTaskLSST config: - doDefect: false + overscanCamera.defaultDetectorConfig.defaultAmpConfig.serialOverscanConfig.fitType: "MEAN" + overscanCamera.defaultDetectorConfig.defaultAmpConfig.doParallelOverscan: false + doCrosstalk: false + doLinearize: false + diff --git a/pipelines/LSSTComCamSim/cpBiasBootstrap.yaml b/pipelines/LSSTComCamSim/cpBiasBootstrap.yaml new file mode 100644 index 00000000..3abe5052 --- /dev/null +++ b/pipelines/LSSTComCamSim/cpBiasBootstrap.yaml @@ -0,0 +1,11 @@ +description: LSSTComCamSim bootstrap bias calibration construction +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBiasBootstrapLSST.yaml +tasks: + cpBiasBootstrapIsr: + class: lsst.ip.isr.IsrTaskLSST + config: + overscanCamera.defaultDetectorConfig.defaultAmpConfig.serialOverscanConfig.fitType: "MEAN" + overscanCamera.defaultDetectorConfig.defaultAmpConfig.doParallelOverscan: false + doCrosstalk: false diff --git a/pipelines/LSSTComCamSim/cpDark.yaml b/pipelines/LSSTComCamSim/cpDark.yaml index 9a43bdd7..8248c41a 100644 --- a/pipelines/LSSTComCamSim/cpDark.yaml +++ b/pipelines/LSSTComCamSim/cpDark.yaml @@ -1,11 +1,13 @@ -description: ComCam dark calibration construction +description: LSSTComCamSim dark calibration construction instrument: lsst.obs.lsst.LsstComCamSim imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDark.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDarkLSST.yaml tasks: cpDarkIsr: - class: lsst.ip.isr.IsrTask + class: lsst.ip.isr.IsrTaskLSST config: - doLinearize: false + overscanCamera.defaultDetectorConfig.defaultAmpConfig.serialOverscanConfig.fitType: "MEAN" + overscanCamera.defaultDetectorConfig.defaultAmpConfig.doParallelOverscan: false doCrosstalk: false + doLinearize: false doDefect: false diff --git a/pipelines/LSSTComCamSim/cpDarkBootstrap.yaml b/pipelines/LSSTComCamSim/cpDarkBootstrap.yaml new file mode 100644 index 00000000..b268b830 --- /dev/null +++ b/pipelines/LSSTComCamSim/cpDarkBootstrap.yaml @@ -0,0 +1,11 @@ +description: LSSTComCam bootstrap dark calibration construction +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDarkBootstrapLSST.yaml +tasks: + cpDarkBootstrapIsr: + class: lsst.ip.isr.IsrTaskLSST + config: + overscanCamera.defaultDetectorConfig.defaultAmpConfig.serialOverscanConfig.fitType: "MEAN" + overscanCamera.defaultDetectorConfig.defaultAmpConfig.doParallelOverscan: false + doCrosstalk: false diff --git a/pipelines/LSSTComCamSim/cpDefects.yaml b/pipelines/LSSTComCamSim/cpDefects.yaml index f792d2ae..6d9882a1 100644 --- a/pipelines/LSSTComCamSim/cpDefects.yaml +++ b/pipelines/LSSTComCamSim/cpDefects.yaml @@ -1,4 +1,29 @@ -description: cp_pipe DEFECT calibration construction from combined images. +description: cp_pipe LSSTComCamSim defect calibration construction. instrument: lsst.obs.lsst.LsstComCamSim imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDefects.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDefectsLSST.yaml +tasks: + cpMeasureBiasDefects: + class: lsst.cp.pipe.MeasureDefectsCombinedTask + config: + badPixelsToFillColumnThreshold: 1000 + saturatedPixelsToFillColumnThreshold: 20 + saturatedColumnDilationRadius: 2 + cpMeasureDarkDefects: + class: lsst.cp.pipe.MeasureDefectsCombinedTask + config: + thresholdType: "VALUE" + darkCurrentThreshold: 3.0 + badPixelsToFillColumnThreshold: 1000 + saturatedPixelsToFillColumnThreshold: 20 + saturatedColumnDilationRadius: 2 + cpMeasureFlatDefects: + class: lsst.cp.pipe.MeasureDefectsCombinedWithFilterTask + config: + thresholdType: "VALUE" + fracThresholdFlat: 0.9 + badPixelsToFillColumnThreshold: 1000 + cpMergeDefects: + class: lsst.cp.pipe.MergeDefectsCombinedTask + config: + edgesAsDefects: true diff --git a/pipelines/LSSTComCamSim/cpFlat.yaml b/pipelines/LSSTComCamSim/cpFlat.yaml index 8ea3c8e9..6c443fa9 100644 --- a/pipelines/LSSTComCamSim/cpFlat.yaml +++ b/pipelines/LSSTComCamSim/cpFlat.yaml @@ -1,15 +1,13 @@ -description: ComCam flat calibration construction +description: LSSTComCamSim flat calibration construction instrument: lsst.obs.lsst.LsstComCamSim imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlat.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlatLSST.yaml tasks: cpFlatIsr: - class: lsst.ip.isr.IsrTask + class: lsst.ip.isr.IsrTaskLSST config: - doLinearize: false + overscanCamera.defaultDetectorConfig.defaultAmpConfig.serialOverscanConfig.fitType: "MEAN" + overscanCamera.defaultDetectorConfig.defaultAmpConfig.doParallelOverscan: false doCrosstalk: false - doDefect: false - cpFlatMeasure: - class: lsst.cp.pipe.CpFlatMeasureTask - config: - doVignette: false + doLinearize: false + doDeferredCharge: false diff --git a/pipelines/LSSTComCamSim/cpFlatBootstrap.yaml b/pipelines/LSSTComCamSim/cpFlatBootstrap.yaml new file mode 100644 index 00000000..203c3cd7 --- /dev/null +++ b/pipelines/LSSTComCamSim/cpFlatBootstrap.yaml @@ -0,0 +1,11 @@ +description: LSSTComCamSim bootstrap flat construction +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlatBootstrapSingleChipLSST.yaml +tasks: + cpFlatBootstrapIsr: + class: lsst.ip.isr.IsrTaskLSST + config: + overscanCamera.defaultDetectorConfig.defaultAmpConfig.serialOverscanConfig.fitType: "MEAN" + overscanCamera.defaultDetectorConfig.defaultAmpConfig.doParallelOverscan: false + doCrosstalk: false diff --git a/pipelines/LSSTComCamSim/cpFlatSingleChip.yaml b/pipelines/LSSTComCamSim/cpFlatSingleChip.yaml index fde16802..84daa6f0 100644 --- a/pipelines/LSSTComCamSim/cpFlatSingleChip.yaml +++ b/pipelines/LSSTComCamSim/cpFlatSingleChip.yaml @@ -1,4 +1,13 @@ -description: cp_pipe FLAT calibration construction +description: LSSTComCamSim flat calibration construction instrument: lsst.obs.lsst.LsstComCamSim imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlatSingleChip.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlatSingleChipLSST.yaml +tasks: + cpFlatIsr: + class: lsst.ip.isr.IsrTaskLSST + config: + overscanCamera.defaultDetectorConfig.defaultAmpConfig.serialOverscanConfig.fitType: "MEAN" + overscanCamera.defaultDetectorConfig.defaultAmpConfig.doParallelOverscan: false + doCrosstalk: false + doLinearize: false + doDeferredCharge: false diff --git a/pipelines/LSSTComCamSim/cpPlotPtc.yaml b/pipelines/LSSTComCamSim/cpPlotPtc.yaml index 9aaff1dd..6f7195b6 100644 --- a/pipelines/LSSTComCamSim/cpPlotPtc.yaml +++ b/pipelines/LSSTComCamSim/cpPlotPtc.yaml @@ -1,4 +1,4 @@ -description: cp_pipe task to plot Photon Transfer Curve dataset +description: cp_pipe LSSTComCamSim task to plot Photon Transfer Curve dataset instrument: lsst.obs.lsst.LsstComCamSim imports: - location: $CP_PIPE_DIR/pipelines/_ingredients/cpPlotPtc.yaml diff --git a/pipelines/LSSTComCamSim/cpPtc.yaml b/pipelines/LSSTComCamSim/cpPtc.yaml index a9406922..e0d78900 100644 --- a/pipelines/LSSTComCamSim/cpPtc.yaml +++ b/pipelines/LSSTComCamSim/cpPtc.yaml @@ -1,18 +1,18 @@ -description: ComCam Photon-Transfer Curve calibration construction. +description: LSSTComCamSim Photon-Transfer Curve calibration construction. instrument: lsst.obs.lsst.LsstComCamSim imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpPtc.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpPtcLSST.yaml tasks: cpPtcIsr: - class: lsst.ip.isr.IsrTask + class: lsst.ip.isr.IsrTaskLSST config: + overscanCamera.defaultDetectorConfig.defaultAmpConfig.serialOverscanConfig.fitType: "MEAN" + overscanCamera.defaultDetectorConfig.defaultAmpConfig.doParallelOverscan: false doCrosstalk: false + doLinearize: false doDefect: false cpPtcExtract: class: lsst.cp.pipe.ptc.PhotonTransferCurveExtractTask config: - matchExposuresType: TIME - cpPtcSolve: - class: lsst.cp.pipe.ptc.PhotonTransferCurveSolveTask - config: - ptcFitType: EXPAPPROXIMATION + useEfdPhotodiodeData: false + auxiliaryHeaderKeys: [] diff --git a/pipelines/LSSTComCamSim/cpSky.yaml b/pipelines/LSSTComCamSim/cpSky.yaml index 50367b42..b3e3d7ce 100644 --- a/pipelines/LSSTComCamSim/cpSky.yaml +++ b/pipelines/LSSTComCamSim/cpSky.yaml @@ -1,8 +1,17 @@ -description: Sky frame generation pipeline definition. +description: Sky frame generation for LSSTComCamSim pipeline. instrument: lsst.obs.lsst.LsstComCamSim imports: - - location: $CP_PIPE_DIR/pipelines/_ingredients/cpSky.yaml + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpSkyLSST.yaml tasks: + cpSkyIsr: + class: lsst.ip.isr.IsrTaskLSST + config: + overscanCamera.defaultDetectorConfig.defaultAmpConfig.serialOverscanConfig.fitType: "MEAN" + overscanCamera.defaultDetectorConfig.defaultAmpConfig.doParallelOverscan: false + doCrosstalk: false + doLinearize: false + doDeferredCharge: false + doDefect: false cpSkyImage: class: lsst.cp.pipe.CpSkyImageTask config: diff --git a/pipelines/LSSTComCamSim/legacy_202409/cpBfk.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpBfk.yaml new file mode 100644 index 00000000..119f8b65 --- /dev/null +++ b/pipelines/LSSTComCamSim/legacy_202409/cpBfk.yaml @@ -0,0 +1,4 @@ +description: cp_pipe brighter-fatter kernel calibration construction. +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBfk.yaml diff --git a/pipelines/LSSTComCamSim/legacy_202409/cpBias.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpBias.yaml new file mode 100644 index 00000000..8102b304 --- /dev/null +++ b/pipelines/LSSTComCamSim/legacy_202409/cpBias.yaml @@ -0,0 +1,9 @@ +description: ComCam bias calibration construction +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpBias.yaml +tasks: + cpBiasIsr: + class: lsst.ip.isr.IsrTask + config: + doDefect: false diff --git a/pipelines/LSSTComCamSim/cpCrosstalk.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpCrosstalk.yaml similarity index 100% rename from pipelines/LSSTComCamSim/cpCrosstalk.yaml rename to pipelines/LSSTComCamSim/legacy_202409/cpCrosstalk.yaml diff --git a/pipelines/LSSTComCamSim/cpCti.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpCti.yaml similarity index 100% rename from pipelines/LSSTComCamSim/cpCti.yaml rename to pipelines/LSSTComCamSim/legacy_202409/cpCti.yaml diff --git a/pipelines/LSSTComCamSim/legacy_202409/cpDark.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpDark.yaml new file mode 100644 index 00000000..9a43bdd7 --- /dev/null +++ b/pipelines/LSSTComCamSim/legacy_202409/cpDark.yaml @@ -0,0 +1,11 @@ +description: ComCam dark calibration construction +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDark.yaml +tasks: + cpDarkIsr: + class: lsst.ip.isr.IsrTask + config: + doLinearize: false + doCrosstalk: false + doDefect: false diff --git a/pipelines/LSSTComCamSim/cpDarkForDefects.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpDarkForDefects.yaml similarity index 100% rename from pipelines/LSSTComCamSim/cpDarkForDefects.yaml rename to pipelines/LSSTComCamSim/legacy_202409/cpDarkForDefects.yaml diff --git a/pipelines/LSSTComCamSim/legacy_202409/cpDefects.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpDefects.yaml new file mode 100644 index 00000000..f792d2ae --- /dev/null +++ b/pipelines/LSSTComCamSim/legacy_202409/cpDefects.yaml @@ -0,0 +1,4 @@ +description: cp_pipe DEFECT calibration construction from combined images. +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpDefects.yaml diff --git a/pipelines/LSSTComCamSim/cpDefectsIndividual.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpDefectsIndividual.yaml similarity index 100% rename from pipelines/LSSTComCamSim/cpDefectsIndividual.yaml rename to pipelines/LSSTComCamSim/legacy_202409/cpDefectsIndividual.yaml diff --git a/pipelines/LSSTComCamSim/legacy_202409/cpFlat.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpFlat.yaml new file mode 100644 index 00000000..8ea3c8e9 --- /dev/null +++ b/pipelines/LSSTComCamSim/legacy_202409/cpFlat.yaml @@ -0,0 +1,15 @@ +description: ComCam flat calibration construction +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlat.yaml +tasks: + cpFlatIsr: + class: lsst.ip.isr.IsrTask + config: + doLinearize: false + doCrosstalk: false + doDefect: false + cpFlatMeasure: + class: lsst.cp.pipe.CpFlatMeasureTask + config: + doVignette: false diff --git a/pipelines/LSSTComCamSim/legacy_202409/cpFlatSingleChip.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpFlatSingleChip.yaml new file mode 100644 index 00000000..fde16802 --- /dev/null +++ b/pipelines/LSSTComCamSim/legacy_202409/cpFlatSingleChip.yaml @@ -0,0 +1,4 @@ +description: cp_pipe FLAT calibration construction +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpFlatSingleChip.yaml diff --git a/pipelines/LSSTComCamSim/cpFringe.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpFringe.yaml similarity index 100% rename from pipelines/LSSTComCamSim/cpFringe.yaml rename to pipelines/LSSTComCamSim/legacy_202409/cpFringe.yaml diff --git a/pipelines/LSSTComCamSim/cpLinearizer.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpLinearizer.yaml similarity index 100% rename from pipelines/LSSTComCamSim/cpLinearizer.yaml rename to pipelines/LSSTComCamSim/legacy_202409/cpLinearizer.yaml diff --git a/pipelines/LSSTComCamSim/legacy_202409/cpPlotPtc.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpPlotPtc.yaml new file mode 100644 index 00000000..9aaff1dd --- /dev/null +++ b/pipelines/LSSTComCamSim/legacy_202409/cpPlotPtc.yaml @@ -0,0 +1,4 @@ +description: cp_pipe task to plot Photon Transfer Curve dataset +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpPlotPtc.yaml diff --git a/pipelines/LSSTComCamSim/legacy_202409/cpPtc.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpPtc.yaml new file mode 100644 index 00000000..a9406922 --- /dev/null +++ b/pipelines/LSSTComCamSim/legacy_202409/cpPtc.yaml @@ -0,0 +1,18 @@ +description: ComCam Photon-Transfer Curve calibration construction. +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpPtc.yaml +tasks: + cpPtcIsr: + class: lsst.ip.isr.IsrTask + config: + doCrosstalk: false + doDefect: false + cpPtcExtract: + class: lsst.cp.pipe.ptc.PhotonTransferCurveExtractTask + config: + matchExposuresType: TIME + cpPtcSolve: + class: lsst.cp.pipe.ptc.PhotonTransferCurveSolveTask + config: + ptcFitType: EXPAPPROXIMATION diff --git a/pipelines/LSSTComCamSim/legacy_202409/cpSky.yaml b/pipelines/LSSTComCamSim/legacy_202409/cpSky.yaml new file mode 100644 index 00000000..50367b42 --- /dev/null +++ b/pipelines/LSSTComCamSim/legacy_202409/cpSky.yaml @@ -0,0 +1,15 @@ +description: Sky frame generation pipeline definition. +instrument: lsst.obs.lsst.LsstComCamSim +imports: + - location: $CP_PIPE_DIR/pipelines/_ingredients/cpSky.yaml +tasks: + cpSkyImage: + class: lsst.cp.pipe.CpSkyImageTask + config: + # These values roughly equate to the dimensions of a single detector. + # As noted below, the sizes are in millimeters, and correspond to a + # background image of 4096*4096 pixels (4096*0.01=40.96). + # TODO: Revise these values on DM-43321. + largeScaleBackground.xSize: 40.96 # in mm + largeScaleBackground.ySize: 40.96 # in mm + largeScaleBackground.pixelSize: 0.01 # in mm per pixel diff --git a/tests/test_pipelines.py b/tests/test_pipelines.py index b6f0ed2a..4d6515b6 100644 --- a/tests/test_pipelines.py +++ b/tests/test_pipelines.py @@ -171,27 +171,34 @@ def test_lsstcam_imsim_pipelines(self): @unittest.skipIf(not has_obs_lsst, reason="Cannot test LSSTComCam pipelines without obs_lsst") def test_lsstcomcam_pipelines(self): for pipeline in self._get_pipelines(exclude=[ + # The following tasks are not part of the new pipelines. + "cpDarkForDefects.yaml", + "cpDefectsIndividual.yaml", + # The following tasks are not for ComCam. "cpFilterScan.yaml", "cpMonochromatorScan.yaml", "cpSpectroFlat.yaml", - # TODO DM-46357: Remove following from exclusion list. - "cpBiasBootstrap.yaml", - "cpDarkBootstrap.yaml", - "cpFlatBootstrap.yaml", + "cpCrosstalk.yaml", + "cpFringe.yaml", + # TODO: DM-46426 + "cpCti.yaml", ]): self._check_pipeline(os.path.join(self.pipeline_path, "LSSTComCam", pipeline)) @unittest.skipIf(not has_obs_lsst, reason="Cannot test LSSTComCamSim pipelines without obs_lsst") def test_lsstcomcamsim_pipelines(self): for pipeline in self._get_pipelines(exclude=[ + # The following tasks are not part of the new pipelines. "cpDarkForDefects.yaml", + "cpDefectsIndividual.yaml", + # The following tasks are not for ComCamSim. "cpFilterScan.yaml", "cpMonochromatorScan.yaml", "cpSpectroFlat.yaml", - # TODO DM-46357: Remove following from exclusion list. - "cpBiasBootstrap.yaml", - "cpDarkBootstrap.yaml", - "cpFlatBootstrap.yaml", + "cpFringe.yaml", + "cpLinearizer.yaml", + "cpCrosstalk.yaml", + "cpCti.yaml", ]): self._check_pipeline(os.path.join(self.pipeline_path, "LSSTComCamSim", pipeline))