{ } Raw JSON

bundles / skimage 0.26.1rc0.dev0+git20260530.b607368ff / skimage / transform / _geometric / PolynomialTransform

ABCMeta

skimage.transform._geometric:PolynomialTransform

source: /dev/scikit-image/src/skimage/transform/_geometric.py :2259

Signature

def   PolynomialTransform ( params = None * dimensionality = None )

Members

Summary

2D polynomial transformation.

Extended Summary

Has the following form

X = sum[j=0:order]( sum[i=0:j]( a_ji * x**(j - i) * y**i ))
Y = sum[j=0:order]( sum[i=0:j]( b_ji * x**(j - i) * y**i ))

Parameters

params : array_like of shape (2, N), optional

Polynomial coefficients where N * 2 = (order + 1) * (order + 2). So, a_ji is defined in params[0, :] and b_ji in params[1, :].

dimensionality : int, optional

Must have value 2 (the default) for polynomial transforms.

Attributes

params : ndarray of shape (2, N)

Polynomial coefficients where N * 2 = (order + 1) * (order + 2). So, a_ji is defined in params[0, :] and b_ji in params[1, :].

Examples

import numpy as np
import skimage as ski
Define a transformation by estimation:
src = [[-12.3705, -10.5075],
       [-10.7865, 15.4305],
       [8.6985, 10.8675],
       [11.4975, -9.5715],
       [7.8435, 7.4835],
       [-5.3325, 6.5025],
       [6.7905, -6.3765],
       [-6.1695, -0.8235]]
dst = [[0, 0],
       [0, 5800],
       [4900, 5800],
       [4900, 0],
       [4479, 4580],
       [1176, 3660],
       [3754, 790],
       [1024, 1931]]
tform = ski.transform.PolynomialTransform.from_estimate(src, dst)
Calling the transform applies the transformation to the points:
pts = tform(src)
np.allclose(pts, [[   7.54,   12.27],
                  [   2.98, 5796.95],
                  [4870.44, 5766.59],
                  [4889.72,   -6.72],
                  [4515.62, 4617.5 ],
                  [1183.25, 3694.  ],
                  [3767.57,  800.53],
                  [ 998.02, 1881.97]], atol=0.01)

Aliases

  • skimage.transform.PolynomialTransform