From e434f76c007ec3c42909078d3347dee195e21520 Mon Sep 17 00:00:00 2001 From: Clare Saunders Date: Mon, 12 Jan 2026 18:11:19 -0800 Subject: [PATCH] Reset interpolation values at band boundaries --- src/math/warpExposure.cc | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/math/warpExposure.cc b/src/math/warpExposure.cc index 8d53a15469..ea7632c886 100644 --- a/src/math/warpExposure.cc +++ b/src/math/warpExposure.cc @@ -607,7 +607,22 @@ int warpImage(DestImageT &destImage, SrcImageT const &srcImage, for (int col = prevEndCol + 1; col <= endCol; ++col, ++destXIter) { lsst::geom::Point2D leftSrcPos = srcPosView[col - 1]; - lsst::geom::Point2D srcPos = leftSrcPos + xDeltaSrcPos; + lsst::geom::Point2D srcPos; + if (col == endCol) { + if (row == endRow) { + // Set srcPosView to bottowSrcPosList to reset values to new band of rows in + // order to override possible nans: + srcPos = bottomSrcPosList[colBand]; + } + else { + // Set srcPos to rightSrcPos to reset values to new band of columns in order + // to override possible nans: + srcPos = rightSrcPos; + } + } + else { + srcPos = leftSrcPos + xDeltaSrcPos; + } double relativeArea = computeRelativeArea(srcPos, leftSrcPos, srcPosView[col]); srcPosView[col] = srcPos;