Home

User Documentation

Getting Started
Learn More
Explore in Detail
Get Inspired

Contributor Documentation

Getting Started
Learn More
Explore in Detail
Get Inspired

Quick Links

Software Manual
AstroDiscuss
GitHub
API Reference

Documentation Versions


ISIS 2

Documentation
Tutorials
Technical Documents
USGS

ISIS Application Documentation


findimageoverlaps

Standard View | TOC | Home

Uses the input image footprints to find their intersections and writes these intersections to a file for used in other programs such as autoseed.

Description
Categories
Groups
History


Description

Several programs in Isis have an input parameter "OVERLAPLIST." This program is designed to produce the OVERLAPLIST for other Isis programs to use.

An overlap list is a file describing how the images in a file list intersect each other. The output contains encoded information that describes how many cubes overlap in a particular latitude/longitude area. For example, it might define "lub0454d.342.cub and lub0421c.342.cub overlap in longitudes 262.2 degrees to 270.3 degrees and latitudes -58.3 degrees to -60.3 degrees." The information in the file is much more precise than that, but the general idea of the data is the same. Having image intersection information is key for problems such as initial control point placement

The overlap list is generated using the footprints of the input images. A requirement to running this program is running footprintinit on all of your input files. The precision of the footprints directly affects the precision of the overlap list/intersection information. If you re-spiceinit or in any way change the SPICE data of an image then you should re-run footprintinit and this program to update your image intersection information. Programs that do not change SPICE data (for example, calibration) do not require you to re-run this program.

The algorithm for finding these overlaps is:
  1. Create a list of the image footprints
  2. For each combination of items in the list (in the order of 1,2 1,3 1,4 2,3 2,4 3,4) where the first item is the left hand side and the second item is the right hand side, do the following:
    1. If the left and right hand side have overlapping serial numbers associated with them then move on to the next combination of items in the list.
    2. If the lat/lon area associated with the left and right hand side are identical, then copy the serial numbers from the right hand side into the left hand side and delete the right hand side.
    3. If the right hand side is empty or extremely tiny then delete it.
    4. Intersect the left and right hand side.
      1. If the intersection is empty or extremely tiny then move on to the next combination of items in the list.
      2. If the intersection is equal to the left hand side, then update the right hand side to be itself minus the intersection. Update the left hand side to have the right hand side's serial numbers. Move on to the next combination of items in the list.
      3. If the intersection is equal to the right hand side, then update the left hand side to be itself minus the intersection. Update the right hand side to have the left hand side's serial numbers. Move on to the next combination of items in the list.
      4. Subtract the intersection from the left hand side. If this fails, try to subtract the right hand side from the left hand side to automatically correct. Update the left hand side. Add the intersection as a new item in the list with the serial numbers of the left hand side.

Categories


Parameter Groups

Files

Name Description
FROMLIST List of input cubes to be intersected
OVERLAPLIST Output overlap list
ERRORS Error list file for errors generated when making the overlap list

Settings

Name Description
DETAILED Output detailed error information

Files: FROMLIST

Description

Use this parameter to specify the cubes for which we will find the intersections of. If you are working with a control network then this is the list of files associated with the control network.

Type filename
File Mode input
Filter *.lis

Files: OVERLAPLIST

Description

This file will contain the intersected image footprints in a non-human readable format.

Type filename
File Mode output

Files: ERRORS

Description

This file will contain the errors that occurred while calculating the image overlaps. These errors are typically caused by complicated math involving arbitrary polygons failing to produce an understandable result and can often be alleviated by simplifying the input polygons. Basically, the errors might be fixed by reducing the precision of your image footprints; but increasing precision might fix them too.

Type filename
File Mode output
Internal Default No Error Output

Settings: DETAILED

Description

When this is set to true, and there is an errors file, the maximum amount of information about each error is printed to the errors file. When this is false, only filenames will be reported in the errors file.

Type boolean
Default false

History

Steven Lambright2008-11-03 Original version
Steven Lambright2008-11-24 Added the "DETAILED" and "ERRORS" parameters.
Steven Lambright2009-01-07 Added the number of errors to the results output
Steven Lambright2009-05-27 Uses different method call to ImageOverlapSet for optimization
Steven Lambright2009-05-28 The input list will be internally sorted by serial number so that one list of input images will always produce the same results regardless of the sort order.
Christopher Austin2010-03-26 Added an error when no new overlaps are calculated. (i.e. All overlaps contain only a single Serial Number)
Christopher Austin2010-09-27 Moved the above error handling to ImageOverlapSet.
Steven Lambright2011-09-26 Improved documentation in preparation for the October release. Working with me to document findimageoverlaps was Ra'ad Saleh and Bob Sucharski.
Marjorie Hahn2016-08-05 Fixed a bug where ImageOverlapSet was not recording overlaps where one image is fully enveloped within another. Fixes #2199.
Marjorie Hahn2016-10-03 Added an exception for giving findimageoverlaps a cube list of only one cube. Fixes #4200.
Ian Humphrey2017-05-23 Added a tryLock to avoid a segfault that could occur on OSX. Fixes #4810.