idlastro / FITS I/O: CORREL_OPTIMIZE

[Source code]

NAME
CORREL_OPTIMIZE
PURPOSE
Find the optimal (x,y) pixel offset of image_B relative to image_A
EXPLANATION"
Optimal offset is computed by means of maximizing the correlation 
function of the two images.
CALLING SEQUENCE
CORREL_OPTIMIZE, image_A, image_B, xoffset_optimum, yoffset_optimum 
        [ XOFF_INIT=, YOFF_INIT=, MAGNIFICATION=, /PRINT, /NUMPIX, 
          /MONITOR, PLATEAU_THRESH=  ]
INPUTS
image_A, image_B = the two images of interest.
OPTIONAL INPUT KEYWORDS
XOFF_INIT = initial X pixel offset of image_B relative to image_A,
YOFF_INIT = Y pixel offset, (default offsets are 0 and 0).
FACTOR  = Initial factor to reduce image (default = 8)
MAGNIFICATION = option to determine offsets up to fractional pixels,
                (example: MAG=2 means 1/2 pixel accuracy, default=1).
/NUMPIX: sqrt( sqrt( # pixels )) used as correlation weighting factor.
/MONITOR causes the progress of computation to be briefly printed.
/PRINT causes the results of analysis to be printed.
PLATEAU_THRESH = threshold used for detecting plateaus in 
        the cross-correlation matrix near maximum, (default=0.01),
        used only if MAGNIFICATION > 1.    Decrease this value for
        high signal-to-noise data
OUTPUTS
xoffset_optimum = optimal X pixel offset of image_B relative to image_A.
yoffset_optimum = optimal Y pixel offset.
CALLS
function  correl_images( image_A, image_B )
pro  corrmat_analyze
PROCEDURE
The combination of function correl_images( image_A, image_B ) and
corrmat_analyze of the result is used to obtain the (x,y) offset
yielding maximal correlation. The combination is first executed at
large REDUCTION factors to speed up computation, then zooming in 
recursively on the optimal (x,y) offset by factors of 2.
Finally, the MAGNIFICATION option (if specified)
is executed to determine the (x,y) offset up to fractional pixels.
MODIFICATION HISTORY
Written, July,1991, Frank Varosi, STX @ NASA/GSFC
Added PLATEAU_THRESH keyword  June 1997,  Wayne Landsman  STX   
Added INIT_FACTOR keyword, default is still 8,  Dec. 2016 W. Landsman