From cd59da943f6f551b4418acbbac4f035334a2cb11 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Fri, 10 Apr 2026 14:16:39 +0100 Subject: [PATCH] fix: add _mappings_sizes_weights_split to InterpolatorRectangular The property exists on InterpolatorKNN and InterpolatorDelaunay, but was missing from InterpolatorRectangular, so any rectangular mesh + split regularization (ConstantSplit, AdaptSplit, AdaptSplitZeroth) combination raised AttributeError. Rectangular pixelizations use bilinear interpolation which already factors in the 4-corner neighbourhood, so split regularization reuses the same mapping arrays. Co-Authored-By: Claude Opus 4.6 --- autoarray/inversion/mesh/interpolator/rectangular.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/autoarray/inversion/mesh/interpolator/rectangular.py b/autoarray/inversion/mesh/interpolator/rectangular.py index 8d1dd08d5..b7bfd8a2f 100644 --- a/autoarray/inversion/mesh/interpolator/rectangular.py +++ b/autoarray/inversion/mesh/interpolator/rectangular.py @@ -305,3 +305,10 @@ def _mappings_sizes_weights(self): sizes = 4 * self._xp.ones(len(mappings), dtype="int") return mappings, sizes, weights + + @cached_property + def _mappings_sizes_weights_split(self): + # Rectangular pixelizations use bilinear interpolation which already factors + # in the 4-corner neighbourhood, so no separate split-cross calculation is + # needed — split regularization reuses the same mappings. + return self._mappings_sizes_weights