diff --git a/python/lsst/ip/diffim/psfMatch.py b/python/lsst/ip/diffim/psfMatch.py index 0cf2921af..96ccb33bb 100644 --- a/python/lsst/ip/diffim/psfMatch.py +++ b/python/lsst/ip/diffim/psfMatch.py @@ -42,6 +42,8 @@ class NoKernelCandidatesError(pipeBase.AlgorithmError): """Raised if there are too few candidates to compute the PSF matching kernel. """ + + @property def metadata(self) -> dict: return {} @@ -865,7 +867,7 @@ def _solve(self, kernelCellSet, basisList): allCellsEmpty = False break if allCellsEmpty: - raise NoKernelCandidatesError("All spatial cells are emtpy of candidates") + raise NoKernelCandidatesError("All spatial cells are empty of candidates") try: ksv.processKsumDistribution() diff --git a/python/lsst/ip/diffim/subtractImages.py b/python/lsst/ip/diffim/subtractImages.py index 3e4ad6e9b..073bb78c6 100644 --- a/python/lsst/ip/diffim/subtractImages.py +++ b/python/lsst/ip/diffim/subtractImages.py @@ -402,6 +402,18 @@ def _applyExternalCalibrations(self, exposure, visitSummary): return exposure + def runQuantum(self, butlerQC, inputRefs, outputRefs): + inputs = butlerQC.get(inputRefs) + + try: + results = self.run(**inputs) + except lsst.pipe.base.AlgorithmError as e: + error = lsst.pipe.base.AnnotatedPartialOutputsError.annotate(e, self, log=self.log) + # No partial outputs for butler to put + raise error from e + + butlerQC.put(results, outputRefs) + @timeMethod def run(self, template, science, sources, visitSummary=None): """PSF match, subtract, and decorrelate two images.