Skip to main content

FFT based image registration

Project description

Imreg is a Python library that implements an FFT-based technique for translation, rotation and scale-invariant image registration [1].

Author:

Christoph Gohlke

License:

BSD 3-Clause

Version:

2024.5.24

Quickstart

Install the imreg package and all dependencies from the Python Package Index:

python -m pip install -U imreg

See Examples for using the programming interface.

Source code and support are available on GitHub.

Requirements

This revision was tested with the following requirements and dependencies (other versions may work):

Revisions

2024.5.24

  • Support NumPy 2.

  • Fix docstring examples not correctly rendered on GitHub.

2024.1.2

  • Add type hints.

  • Drop support for Python 3.8 and numpy < 1.23 (NEP29).

2022.9.27

  • Fix scipy.ndimage DeprecationWarning.

Notes

Imreg is no longer being actively developed.

This implementation is mainly for educational purposes.

An improved version is being developed at https://github.com/matejak/imreg_dft.

References

  1. An FFT-based technique for translation, rotation and scale-invariant image registration. BS Reddy, BN Chatterji. IEEE Transactions on Image Processing, 5, 1266-1271, 1996

  2. An IDL/ENVI implementation of the FFT-based algorithm for automatic image registration. H Xiea, N Hicksa, GR Kellera, H Huangb, V Kreinovich. Computers & Geosciences, 29, 1045-1055, 2003.

  3. Image Registration Using Adaptive Polar Transform. R Matungka, YF Zheng, RL Ewing. IEEE Transactions on Image Processing, 18(10), 2009.

Examples

>>> im0 = imread('t400')
>>> im1 = imread('Tr19s1.3')
>>> im2, scale, angle, (t0, t1) = similarity(im0, im1)
>>> imshow(im0, im1, im2)
>>> im0 = imread('t350380ori')
>>> im1 = imread('t350380shf')
>>> t0, t1 = translation(im0, im1)
>>> t0, t1
(20, 50)

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page