From 2656c089b25b67582439cb8619381c6fa250647b Mon Sep 17 00:00:00 2001 From: Taimoor Qadir Date: Mon, 27 Jul 2026 20:24:37 +0200 Subject: [PATCH 1/2] docs: add docstrings to BaseTransformation.inverse() and to_affine_matrix() Addresses issue #836 - adds missing docstrings to abstract methods in BaseTransformation --- .../transformations/transformations.py | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/spatialdata/transformations/transformations.py b/src/spatialdata/transformations/transformations.py index deace0ae1..9a61b3e13 100644 --- a/src/spatialdata/transformations/transformations.py +++ b/src/spatialdata/transformations/transformations.py @@ -110,6 +110,15 @@ def _get_default_coordinate_system( @abstractmethod def inverse(self) -> BaseTransformation: + """ + Return the inverse of the transformation. + + Returns + ------- + BaseTransformation + A new transformation that is the inverse of this one, such that applying + both in sequence yields the identity transformation. + """ pass # @abstractmethod @@ -118,8 +127,24 @@ def inverse(self) -> BaseTransformation: @abstractmethod def to_affine_matrix(self, input_axes: tuple[ValidAxis_t, ...], output_axes: tuple[ValidAxis_t, ...]) -> ArrayLike: + + """ + Return the affine matrix representation of the transformation. + + Parameters + ---------- + input_axes + The axes of the input coordinate system, e.g. ``("x", "y")`` or ``("x", "y", "z")``. + output_axes + The axes of the output coordinate system. + + Returns + ------- + ArrayLike + A homogeneous affine matrix of shape ``(len(output_axes) + 1, len(input_axes) + 1)``. + The last row is always ``[0, 0, ..., 1]``. + """ pass - def to_affine(self, input_axes: tuple[ValidAxis_t, ...], output_axes: tuple[ValidAxis_t, ...]) -> Affine: affine_matrix = self.to_affine_matrix(input_axes, output_axes) return Affine(affine_matrix, input_axes, output_axes) From 0f180b2934024e159650a96e53543dbeab602078 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 18:30:43 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/spatialdata/transformations/transformations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/spatialdata/transformations/transformations.py b/src/spatialdata/transformations/transformations.py index 9a61b3e13..46e12afab 100644 --- a/src/spatialdata/transformations/transformations.py +++ b/src/spatialdata/transformations/transformations.py @@ -127,7 +127,6 @@ def inverse(self) -> BaseTransformation: @abstractmethod def to_affine_matrix(self, input_axes: tuple[ValidAxis_t, ...], output_axes: tuple[ValidAxis_t, ...]) -> ArrayLike: - """ Return the affine matrix representation of the transformation. @@ -145,6 +144,7 @@ def to_affine_matrix(self, input_axes: tuple[ValidAxis_t, ...], output_axes: tup The last row is always ``[0, 0, ..., 1]``. """ pass + def to_affine(self, input_axes: tuple[ValidAxis_t, ...], output_axes: tuple[ValidAxis_t, ...]) -> Affine: affine_matrix = self.to_affine_matrix(input_axes, output_axes) return Affine(affine_matrix, input_axes, output_axes)