Montana State University
Image Coalignment Workshop
2008 July 2
COREGISTRATE is an IDL program for coregistration of images. Its features are:
For a detailed demo of COREGISTRATE, download the contents of this directory (everything is included in coregistrate.tar), open IDL, and .run test4. The source code is well documented.
The IDL implementation is coregistrate.pro, which was developed for MOSES data analysis. The algorithm uses an amoeba (downhill simplex) method to optimize the positioning of an arbitrary number of tie points that translate, rotate and distort the image.
Two different heuristics for image alignment are built in. One is based on cross-correlation, while the other is mathematically similar to a chi squared statistic. For two images that are sufficiently similar, the chi squared method typically performs best, as it exhibits a sharper minimum than the cross correlation.
The demonstration script, test4.pro, is summarized in test4flowchart.pdf.
Presently, the choice of image alignment heuristic is hardwired in the source code. Sorry about that. If you feel like making it more elegant, please share the modified source with me.
IDL's built-in C_CORRELATE function exhibits edge effects that bias the coregistration of data. For COREGISTRATE, I therefore implemented a modified cross-correlation function. A C_CORRELATE based cross correlation heuristic is also included in COREGISTRATE, just to demonstrate its poor performance.
In the course of developing COREGISTRATE, I found at least two bugs in IDL: one on POLYWARP, and one in CONVOL. Both try to provide a mechanism for handling bad data, but neither really works. The bugs were submitted to RSI, and my demonstration code is in IDL_bug_demos. My workaround for CONVOL is called CK_CONVOL.
Page maintained by Charles Kankelborg