transform

supreme.transform.chirpz(x, A, W, M) Compute the chirp z-transform.
supreme.transform.chirpz2(x, A_row, W_row, ...) Perform the Chirp z-Transform on a 2D signal.
supreme.transform.homography(image, matrix) Perform a matrix transform on an image.
supreme.transform.logpolar(image[, angles, ...]) Perform the log polar transform on an image.
supreme.transform.matrix(image, matrix[, ...]) Perform a matrix transform on an image.

chirpz

supreme.transform.chirpz(x, A, W, M)

Compute the chirp z-transform.

The discrete z-transform,

X(z) = sum_{n=0}^{N-1} x_n z^{-n}

is calculated at M points,

z_k = AW^-k, k = 0,1,...,M-1

for A and W complex, which gives

X(z_k) = sum_{n=0}^{N-1} x_n z_k^{-n}

chirpz2

supreme.transform.chirpz2(x, A_row, W_row, M_row, A_column, W_column, M_column)

Perform the Chirp z-Transform on a 2D signal.

x – 2 dimensional input signal A_row,W_row,M_row – A, W and M applied to rows A_column,W_column,M_column – A, W and M applied to columns

Returns the Chirp z-Transform of dimension (M_row,M_column).

See also: chirpz

homography

supreme.transform.homography(image, matrix, output_shape=None, order=1, mode='constant', cval=0.0, _coords=None)

Perform a matrix transform on an image.

Each coordinate (x,y,1) is multiplied by matrix to find its new position. E.g., to rotate by theta degrees clockwise, the matrix should be

[[cos(theta) -sin(theta) 0]
[sin(theta) cos(theta) 0] [0 0 1]]

or to translate x by 10 and y by 20,

[[1 0 10]
[0 1 20] [0 0 1 ]].

logpolar

supreme.transform.logpolar(image, angles=None, Rs=None, mode='M', cval=0, output=None, _coords_r=None, _coords_c=None, extra_info=False)

Perform the log polar transform on an image.

Returns:

lpt : ndarray of uint8

Log polar transform of the input image.

angles : ndarray of float

Angles used. Only returned if extra_info is set to True.

log_base : int

Log base used. Only returned if extra_info is set to True.

References

[R24]Matungka, Zheng and Ewing, “Image Registration Using Adaptive Polar Transform”. IEEE Transactions on Image Processing, Vol. 18, No. 10, October 2009.

matrix

supreme.transform.matrix(image, matrix, output_shape=None, order=1, mode='constant', cval=0.0, _coords=None)

Perform a matrix transform on an image.

Each coordinate (x,y,1) is multiplied by matrix to find its new position. E.g., to rotate by theta degrees clockwise, the matrix should be

[[cos(theta) -sin(theta) 0]
[sin(theta) cos(theta) 0] [0 0 1]]

or to translate x by 10 and y by 20,

[[1 0 10]
[0 1 20] [0 0 1 ]].