Image correlation software CIAS

Simple, free correlation software to compute displacements and other offsets between two images.


 

Features

  • Simple, user-friendly (hopefully) software for matching offsets between two images.
  • Based on normalized cross-correlation.
  • Input:  two repeat spaceborne, airborne, or terrestrial orthoimages or two repeat images from same position (e.g. same orbit path, automatic camera) or two else precisely co-registered images in geotiff or tiff-world format. Both images need to have the exactly same resolution. Both images need to be single channel (greyscale). Image pixels need to be square (same resolution in image x and y; x-resolution will be applied to both x- and y-resolution).
  • Output: ASCII list of offsets in cartesian and polar coordinates and correlation coefficients.
  • Help and information appears corresponding to each processing step in a help/log window. No separate help available (see also below Questions & Answers).
  • Written in IDL.

 

Limitations

  • Normalized cross-correlation (NCC) and orientation correlation implemented (NCC-O), no other algorithms  (cf. References below).
  • Window-based. Cannot be scripted to automize matching of more than one image pair.
  • Only compiled version available, not source code.

 

Download

> the compiled IDL programme cias.sav   (version 23 May 2013)

  • Recent important changes:
    • Fixed bug for large number of measurements using co-registration
    • Fixed problems for image resolutions << 1 m
    • Fixed bug related to image resolution when reading in tiff-world
    • Implemented orientation correlation in addition to normalized cross-correlation

> example data as zipped package:

  • a tiff image triplet over Batura Glacier, Karakoram, of Landsat 7 ETM+ pan image sections from 2000, 2001 and 2002. Only two of them can be matched at one time. Geo-Tiff format, Landsat L1T.
  • a tiff image pair over a section of Muragl rockglacier, Swiss Alps, from 1981 and 1994. Airborne orthophotos (see Kääb and Vollmer, 2000).

If you have IDL
or the IDL Virtual Machine (VM) installed, you can directly start CIAS. E.g. type cias in the command line.

If you don't have IDL/IDL VM
Go to EXELIS, there go to 'My Account' and login or register as new user, go to 'downloads', and download and install the full IDL version for your operating system. Without license, the full IDL version will work as VM. Depending on your installation you can double-click the cias.sav file or run IDL VM and open cias.sav from it.


 

Q & A

  1. Can I match terrain displacements from two repeat airphotos without orthorectifying them using a DEM but rather by only co-registering them using corresponding, stable points?

    In almost all cases the topographic distortions between repeat airphotos will be too large and will massively contaminate measured displacements.  One main reason for these distortions are the typically different camera positions in particular in repeat airphotos. Similar considerations are valid for repeat satellite data from different orbits. An exception for both cases is very planar or flat topography (Kääb and Prowse, 2011).
     
  2. Can I read in polygons to define the area to be matched as a grid?

    No, as yet you can only digitize polygones directly on screen within CIAS. To use existing polygones you have to produce a XY ASCII list of target points within e.g. a GIS environment based on your polygone.
     
  3. My data produce memory allocation problems.

    Depending on at which stage the problems occur,
    - your images are too big
    for the memory of your computer, or
    - the number of target points to be matched is too big
    for the memory of your computer,
    - or for the correlation algorithm chosen uses too much memory (if NCC-O).
    Clip your images to the essential areas to make them smaller, use lesser target points, use only NCC (if you tried NCC-O), or use a computer with more memory.

     
  4. The overview images display correctly, but the zoom-ins are empty.
    Or: the software seems to have problems with the geoference of my images.
    Or: measurements at the image margins are not recorded.
    Or: when trying to save the results an error message appears: "Warning: attempt to subscript VSARRAY with U is out of range."

    Ground coordinates within the images cannot be negative. This happens if the upper left corner contains already negative coordinates, or if the coordinates of the upper left corner are smaller than the image extent. You have to repare the georeference to avoid negative coordinates. A very simple and provisional way is to generate an arbitrary tiff-world file, and use Tiff-World as choice when asked for georeference source: create text files with the same name as the images, but with extension .tfw. Fill the files with

    1.0
    0.0
    0.0
    -1.0
    100000.0
    100000.0

    CIAS displacements will then be in unit pixels, with the upper left image corner having the coordinates 100000/100000. Alternatively to the 1.0 and -1.0 you can use the ground resolution of the images if known, e.g. 15.0 and -15.0 for Landsat7 pan or ASTER. CIAS displacements will then be in metres. Make sure to choose the coordinates of the upper left image corner (last two lines in the tiff-world file) significantly larger than the image size to avoid margin effects.

    Alternatively, and better, you are able to change the projection of the images or a least the corner coordinates to give no negative coordinates. (See also Q&A no. 9).
     
  5. The help/log window flickers a lot at the beginning or when a number of new informations are printed.

    Don't worry! This is a downside of a robust and platform-independent way to display context-dependent information.
     
  6. How can I filter displacement measurements using the correlation coefficients provided?

    CIAS gives for each match the maximum correlation coefficient (which defines the displacement) and the average coefficient for the search window of each match. There is no recommended standard procedure how to use these two parameters to find (and remove) potential mismatches. To my experience, for some image conditions a threshold on the max_corrcoeff alone works best, in some cases a threshold on the ratio between max_corrcoeff and avg_corrcoeff (max_corrcoeff/avg_corrcoeff; the so-called signal-to-noise ratio, SNR). One can also combine the two by removing a displacement when, for instance, max_corrcoeff and avg_corrcoeff are lower then individual thresholds (Tmax, Tavg) ( [max_corrcoeff < Tmax] AND [avg_corrcoeff < Tavg] ). Instead of SNR one can also use the difference max_corrcoeff-avg_corrcoeff. I have not done and am not aware of a systematic investigation on which parameter or combination works best under which circumstanes. If you have done one, or know one, tell me so that I can link from here. In any case, I expect the optimal filter procedure to vary with image characteristics. And, in any case, the thresholds used have to be optimized to keep as many correct displacements as possible and remove as many mismatches as possible. There will be no threshold that exactly keeps all correct measurements, and removes all wrong ones. Best might be to combine thresholding of correlation coefficients or SNRs with a filter that compares each displacement to its neighbours (see: Heid and Kääb, 2012, Remote Sensing of Environment, 118, 339–355).

  7. How can I display CIAS-results as vectors in ArcMap?

    In principle you have to add the CIAS result file through the 'Add XY Data' command. Depending on your system and ArcGIS specifications there are several ways. Also, the following one might need modification for your specific system. One way to get the CIAS result file into ArcMAP is:
    - import the CIAS result file in MS Excel. IMPORTANT: make sure the decimal delimiter ('.' in the CIAS output) is correctly interpreted as decimal delimiter. Else, change that in the 'Advanced' options of the import. Save the Excel file.
    - In ArcMAP, choose and open the Excel and the sheet containing the CIAS data through the 'Add XY data' command. Make sure the 'X' column is the 'X Field' and the 'Y' column the 'Y Field'.
    - You will see your CIAS measurement points. Change their appearence in the Symbology of the layer: Quantities > graduated symbol; Value: length; choose an arrow as Template; Advanced: rotation field: 'direction' .

  8. CIAS returns wrong results when the reference block size is similar or equal to the search area size.

    Yes, this is a numerical bug that I have not yet tracked down. The search area can be larger or smaller than the reference block. But if it is similar (or even equal), the results are zero, or close-to-zero displacements.
     
  9. I am working with images on the Southern Hemisphere or another projection that includes negative coordinates and have problems to save the CIAS results (e.g. "Warning: attempt to subscript VSARRAY with U is out of range.")

    There are two definitions of UTM for the Sourthern Hemisphere: one with positive Northings north of the equator and negative Northings (Y-coordinates) south of it, and a second definition that adds a constant value to Northings on the Southern Hemisphere to arrive at positive Northings all over the globe. CIAS does not accept negative coordinates. So, in case you have images in the first UTM definition (you can see that from the CIAS information window that shows the georeference values read in) you have to make all coordinates positiv. The easiest may be to just create an tiff-World file and use the georeference option 'TIFF-World' instead of 'GeoTIFF'. (See above Q&A no. 4).
     
  10. CIAS doesn't accept my images. I get a warning that they are not one or two dimension images.

    Likely, you tried to read in colour or multi-layer images. CIAS cannot cope with them. Transform your images to grey-scale images (=1 layer) or extract one layer from your multi-layer images.
     
  11. Once I have digitized a polygon for matching, CIAS stops with "Attempt to subcript POSSARRAY with H is out of range".

    Once you have chosen the raster resolution in the triplet "reference block, search area, raster resolution" (default 15 100 100), and before you digitised the polygon, the software
    shows you how many raster points would be in the entire image. "1" or even "0" is too little, and the software crashes. Choose a finer raster resolution that places more measurement points in the image
    .

 

Examples / References

When using CIAS for a publication, please refer to Kääb and Vollmer (2000) and Heid and Kääb (2012) (see a few lines below).  Thanks!

(most publications available as PDF here)

References on CIAS:

Kääb A. and Vollmer M. (2000): Surface geometry, thickness changes and flow fields on creeping mountain permafrost: automatic extraction by digital image analysis.
Permafrost and Periglacial Processes.11, 315-326
.

Kääb A (2002): Monitoring high-mountain terrain deformation from repeated air- and spaceborne optical data: examples using digital aerial imagery and ASTER data.
ISPRS Journal of Photogrammetry & Remote Sensing. 57 (1-2). 39-52.

Heid T. and Kääb A. (2012): Evaluation of existing image matching methods for deriving glacier surface displacements globally from optical satellite imagery
Remote Sensing of Environment, 118, 339-355.

Other work that used CIAS:

Kääb A, K. Isaksen, T. Eiken and H. Farbrot. (2002): Geometry and dynamics of two lobe-shaped rock glaciers in the permafrost of Svalbard.
Norwegian Journal of Geography. 56. 152-160.

Kääb A., C. Huggel, F. Paul, R. Wessels, B. Raup, H. Kieffer and J. Kargel (2003): Glacier Monitoring from ASTER Imagery: Accuracy and Applications.
Proceedings of EARSeL-LISSIG-Workshop Observing our Cryosphere from Space, Bern, March 11 – 13, 2002. EARSeL e Proceedings. 2. 43-53.

Kääb A. and Weber M. (2004): Development of transverse ridges on rock glaciers: field measurements and laboratory experiments.
Permafrost and Periglacial Processes. 15(4), 379-391.

Strozzi. T, A. Kääb, R. Frauenfelder. (2004): Detecting and quantifying mountain permafrost creep from in situ inventory, space-borne radar interferometry and airborne digital photogrammetry
International Journal of Remote Sensing. 25(15). 2919–2931.

Roer I., Kääb A. and Dikau R. (2005): Rockglacier kinematics derived from small-scale aerial photography and digital airborne pushbroom imagery
Zeitschrift für Geomorphology N.F. 49(1), 73-87.

Roer I., Kääb A. and Dikau R. (2005): Rockglacier acceleration in the Turtmann valley (Swiss Alps): Probable controls
Norwegian Journal of Geography. 59, 157–163.

Kargel, J., M. Abrams, M. Bishop, et al. (2005): Multispectral imaging contributions to global land ice measurements from space  .
Remote Sensing of Environment. 99 (1-2), 187–219.

Kääb, A. (2005): Combination of SRTM3 and repeat ASTER data for deriving alpine glacier flow velocities in the Bhutan Himalaya.
Remote Sensing of Environment. 94 (4), 463–474.

Kääb, A. (2005): Remote sensing of mountain glaciers and permafrost creep .
Schriftenreihe Physische Geographie. 48, 266 pages. ISBN 3 85543 244 9

Wangensteen, B., Tønsberg, O.M., Kääb, A., Eiken, T. and Hagen, J.O. (2006): Surface elevation change and high resolution surface velocities for advancing outlets of Jostedalsbreen
Geografiska Annaler. 88A (1), 55-74.

Wangensteen, B., Gudmundsson, A., Eiken, T., Kääb, A., Farbrot, H. and Etzelmüller, B. (2006): Surface displacements and surface age estimates for creeping slope landforms in Northern and Eastern Iceland usingdigital photogrammetry
Geomorphology. 80(1-2), 59-79.

Kääb, A. and Kneisel C. (2006): Permafrost creep within a recently deglaciated glacier forefield: Muragl, Swiss Alps
Permafrost and Periglacial Process. 17 (1), 79-85.

Kääb, A., B. Lefauconnier and K. Melvold (2006): Flow field of Kronebreen, Svalbard, using repeated Landsat 7 and ASTER data.
Annals of Glaciology. 42(1), 7-13.

Raup, B., A. Kääb, J. Kargel, et al. (2006): Remote sensing and GIS technology in the Global Land Ice Measurements from Space (GLIMS) Project.
Computers and Geosciences.

Kneisel, C. and Kääb, A. (2007): Mountain permafrost dynamics within a recently exposed glacier forefield inferred by a combined geomorphological, geophysical and photogrammetrical approach.
Earth Surface Processes and Landforms. 32(12), 1797-1810.

Kääb, A., R. Frauenfelder and I. Roer (2007): On the response of rockglacier creep to surface temperature increases.
Global and Planetary Change. 56(1-2), 172-187.

Kääb, A. (2008): Remote sensing of permafrost-related problems and hazards.
Permafrost and Periglacial Processes. 19(2), 107-136.

Strozzi T., Delaloye R., Kääb A., Ambrosi C., Perruchoud E. and Wegmüller U. (2010): Combined observations of rock mass movements using satellite SAR interferometry, differential GPS, airborne digital photogrammetry, and airborne photography interpretation
Journal of Geophysical Research, 115: F01014, doi:10.1029/2009JF001311.

Klug, C., Bollmann, E., Sailer, R., Stötter, J., Krainer, K., & Kääb, A. Aerophotogrammetrical monitoring of permafrost creep on two rock glaciers in the Austrian Eastern Alps.
Proceedings, 10th International Conference on Permafrost. Paper 7561, 6pp.

Kääb A. and Prowse T.  (2011): Cold-regions river flow observed from space.
Geophysical Research Letters, 38, L08403.

Redpath, T. A. N.; Sirguey, P.; Fitzsimons, S. J. & Kääb, A.(2013): Accuracy assessment for mapping glacier flow velocity and detecting flow dynamics from ASTER satellite imagery: Tasman Glacier, New Zealand.
Remote Sensing of Environment, 133, 90-101.

Schubert, A., Faes, A., Kääb, A. & Meier, E. (2013): Glacier surface velocity estimation using repeat TerraSAR-X images: Wavelet- vs. correlation-based image matching.
ISPRS Journal of Photogrammetry and Remote Sensing, 82, 49–62.

Derrien A, N. Villeneuve,  A. Peltier, F. Beauducel (2015): Retrieving 65 years of volcano summit deformation from multitemporal structure from motion: The case of Piton de la Fournaise (La Réunion Island). Geophysical Researh Letters. 42(17) 6959–6966,
 

Other releated references on image cross-correlation:

Debella-Gilo M. and Kääb A. (2010): Sub-pixel precision image matching for measuring surface displacements on mass movements using normalized cross-correlation.
Remote Sensing of the Environment, 15(1):130-142.

Haug T. , Kääb A. and Skvarca P. (2010): Monitoring ice shelf velocities from repeat MODIS and Landsat data – a method study on the Larsen C ice shelf, Antarctic Peninsula, and 10 other ice shelves around Antarctica.
The Cryosphere, 4:161-178.

Heid T. and Kääb A. (2012): Repeat optical satellite images reveal widespread and long term decrease in land-terminating glacier speeds
The Cryosphere, 6, 467-478.

Heid T. and Kääb A. (2012): Evaluation of existing image matching methods for deriving glacier surface displacements globally from optical satellite imagery
Remote Sensing of Environment, 118, 339-355.

Debella-Gilo M. and Kääb A. (2012):Locally adaptive template sizes for matching repeat images of Earth surface mass movements
ISPRS Journal of Photogrammetry and Remote Sensing, 69, 10-28.

Debella-Gilo M. and Kääb A. (2012): Measurement of surface displacement and deformation of mass movements using least squares matching of repeat high resolution satellite and aerial images.
Remote Sensing, 4(1), 43-67.


 

Acknowledgements

CIAS was originally written by M. Vollmer and A. Kääb (Kääb and Vollmer, 2000) and further developed by A. Kääb.

This release is sponsored by the European Research Council (AdG) and the European Space Agency (Glaciers_cci).


 

Contact

Please report problems and questions through e-mail to me. I will try to help, and collect in the Q&A.

 

 

Published Feb. 11, 2013 9:12 PM - Last modified June 23, 2020 1:31 PM