Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions bps/templates/bps_crosstalk.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
pipelineYaml: "${CP_PIPE_DIR}/pipelines/${INSTRUMENT}/cpCrosstalk.yaml"

# Necessary to cluster by exposure if there are many input exposures
clusterAlgorithm: lsst.ctrl.bps.quantum_clustering_funcs.dimension_clustering
cluster:
cpBiasIsrByExposure:
pipetasks: cpCrosstalkIsr
dimensions: exposure

project: "${TICKET}"
campaign: "${TICKET}"
submitPath: "${SCRATCH}/submit/${outputRun}"

payload:
payloadName: "${INSTRUMENT}_${TICKET}_crosstalk"
output: "${USER_CALIB_PREFIX}${INSTRUMENT}/calib/${TICKET}/${TAG}/crosstalkGen.${RERUN}"
butlerConfig: "${REPO}"
inCollection: "${USER_CALIB_PREFIX}${INSTRUMENT}/calib/${TICKET},${RAW_COLLECTION},${CALIB_COLLECTIONS}"
dataQuery: "${SELECTION_CROSSTALK}"
15 changes: 15 additions & 0 deletions pipelines/LSSTCam/cpCrosstalk.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
description: cp_pipe LSSTCam crosstalk calibration construction
instrument: lsst.obs.lsst.LsstCam
imports:
- location: $CP_PIPE_DIR/pipelines/_ingredients/cpCrosstalkLSST.yaml
tasks:
cpCrosstalkIsr:
class: lsst.ip.isr.IsrTaskLSST
config:
doDefect: true
cpCrosstalkExtract:
class: lsst.cp.pipe.CrosstalkExtractTask
cpCrosstalkSolve:
class: lsst.cp.pipe.CrosstalkSolveTask
config:
fluxOrder: 1
2 changes: 2 additions & 0 deletions pipelines/_ingredients/cpCrosstalk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ tasks:
config:
connections.inputExp: "cpCrosstalkIsrExp"
connections.outputRatios: "cpCrosstalkRatio"
background.useApprox: false
background.ignoredPixelMask: ["BAD", "EDGE", "DETECTED", "DETECTED_NEGATIVE", "NO_DATA", "CT_TEMP"]
cpCrosstalkSolve:
class: lsst.cp.pipe.CrosstalkSolveTask
config:
Expand Down
48 changes: 48 additions & 0 deletions pipelines/_ingredients/cpCrosstalkLSST.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
description: cp_pipe CROSSTALK calibration construction.
tasks:
cpCrosstalkIsr:
class: lsst.ip.isr.IsrTaskLSST
config:
connections.ccdExposure: "raw"
connections.outputExposure: "cpCrosstalkIsrExp"
python: |
from lsst.cp.pipe import configureIsrTaskLSSTForCalibrations
configureIsrTaskLSSTForCalibrations(config)

config.doCrosstalk = False
config.doApplyGains = True
cpCrosstalkExtract:
class: lsst.cp.pipe.CrosstalkExtractTask
config:
connections.inputExp: "cpCrosstalkIsrExp"
connections.outputRatios: "cpCrosstalkRatio"
cpCrosstalkSolve:
class: lsst.cp.pipe.CrosstalkSolveTask
config:
connections.inputRatios: "cpCrosstalkRatio"
connections.outputCrosstalk: "crosstalkProposal"
rejectNegativeSolutions: false
unitsAreElectrons: true
cpCrosstalkFilter:
class: lsst.cp.pipe.CrosstalkFilterTask
config:
connections.inputCrosstalk: "crosstalkProposal"
connections.outputCrosstalk: "crosstalk"
unitsAreElectrons: true
subsets:
cpCrosstalk:
subset:
- cpCrosstalkExtract
- cpCrosstalkSolve
description: Just the extract and solve.
cpCrosstalkProc:
subset:
- cpCrosstalkIsr
- cpCrosstalkExtract
description: Handle the per-exposure analysis
contracts:
- cpCrosstalkExtract.connections.inputExp == cpCrosstalkIsr.connections.outputExposure
- cpCrosstalkSolve.connections.inputRatios == cpCrosstalkExtract.connections.outputRatios
- cpCrosstalkSolve.connections.outputCrosstalk == cpCrosstalkFilter.connections.inputCrosstalk
- cpCrosstalkIsr.config.doApplyGains == cpCrosstalkSolve.config.unitsAreElectrons
- cpCrosstalkSolve.config.unitsAreElectrons == cpCrosstalkFilter.config.unitsAreElectrons
Loading
Loading