Skip to content

JuliaHCI/SubpixelRegistration.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SubpixelRegistration.jl

Build Status PkgEval Coverage License

Stable Dev

Image registration with subpixel precision using an upsampled discrete Fourier transform cross-correlation. This uses an efficient matrix-multiplication algorithm for upsampling the cross-correlation following Guizar-Sicairos, Thurman, and Fienup (2008).1

Installation

julia>] add SubpixelRegistration

Usage

First, import the package

julia> using SubpixelRegistration

now, let's load two images we wish to register

julia> source, target = # ...

we can use phase_offset directly to perform the DFT-upsampling cross-correlation analysis

julia> phase_offset(source, target; upsample_factor=1)
(shift = (-22.0, 13.0), error = 0.9999999999214572, phasediff = 0.0)

julia> phase_offset(source, target; upsample_factor=4)
(shift = (-22.5, 13.25), error = -11.584699520819848, phasediff = 0.0)

the register and coregister methods directly manipulate images (or stacks of images) using this phase offset method

julia> register(source, target; upsample_factor=100);

julia> coregister(cube; dims=3, refidx=1, upsample_factor=100);

Contributing and Support

If you would like to contribute, feel free to open a pull request. If you want to discuss something before contributing, head over to discussions and join or open a new topic. If you're having problems with something, please open an issue.

Footnotes

  1. Manuel Guizar-Sicairos, Samuel T. Thurman, and James R. Fienup, "Efficient subpixel image registration algorithms," Opt. Lett. 33, 156-158 (2008)