About ISIS


Technical Documents


Technical Documents

ISIS Application Documentation


Standard View | TOC | Home

Creates a control network for a list of images



This program creates a control network for a set of cubes. The program uses the footprint overlap information from findimageoverlaps to decide where multiple images overlap.

Image showing how cube footprints overlap

The figure above shows the outline footprint of three images. They overlap in such a way so image #1 and #2 cover some of the same area on the ground, image #2 and #3 also cover some of the same area, and all three images, #1, #2 and #3, cover the same small area down the middle.

The program will create a set of control points for each overlap and will create a control measures for each image the control point falls on. The seeding method defined in the DEFFILE, controls the location and density of the control points.

Group = PolygonSeederAlgorithm
  Name             = Grid
  MinimumThickness = 0.3
  MinimumArea      = 100000000
  XSpacing         = 10000
  YSpacing         = 10000

The seeding definision file above tells autoseed to use an algorithum called "Grid", not to seed points in overlaps with a thickness ratio of less than "0.3", not to seed overlaps with an area of less than "100000000 square meters", and to space the pattern of points at "10000 meters" spacing in both the X and Y directions. For seeding algorithum templates see the "$ISISROOT/appdata/templates/autoseed" directory.

Image showing contorl points generated by autoseed

The figure above shows the position of the control poinsts generated by autoseed as blue "+" using the seeding definision file above.

autoseed also has the ability to use an existing control network, CNET, to ignore overlaps that contain at least one control point. This allows the user to run autoseed multiple times with different seeding parameters and algorithms. This can be useful when one run fails to seed all the overlaps or overlaps of different size and shape need to be seeded differently.

ISIS programs that must be run prior to running autoseed:


Related Objects and Documents


Parameter Groups


Name Description
FROMLIST List of input cubes for which to create a control network
DEFFILE PVL file containing the definition of the autoseeding algorithm
OVERLAPLIST Input cube overlap list
CNETControl network containing existing control points and measures
ONET Output control network
ERRORS Errors generated while seeding the overlaps


Name Description
NETWORKID Name of this control network
POINTID The pattern to be used to create point ids.
DESCRIPTION The description of the network.



Use this parameter to select a filename which contains a list of cube filenames. The cubes identified inside this file will be used to create the control network. The following is an example of the contents of a typical FROMLIST file:


Each file name in a FROMLIST file should be on a separate line.

Type filename
File Mode input
Filter *.lis



Use this parameter to select the filename which contains the definition of the seeding to be preformed. This file must contain a valid autoseed plugin definition in PVL format.

Type filename
File Mode input
Filter *.api *.def



Use this parameter to select the file name which contains the overlap polygons to be seeded with control points. The overlap polygons can be derived by the findimageoverlaps application.

Type filename
File Mode input

Files: CNET


Use this parameter to provide the file name of an existing control network. The control measures in this network should correspond to the cubes in the FROMLIST. If any control point from this network falls inside one of the overlaps listed in OVERLAPLIST that overlap will be ignored (i.e., not seeded)

To combine the existing network (CNET) with the one created by autoseed (ONET) use the cnetmerge application.

Type filename
File Mode input
Internal Default No previous control network
Filter *.net

Files: ONET


This file will contain the output control network.

Type filename
File Mode output



This file will contain the errors that occurred while seeding the overlaps. Including:

Type filename
File Mode output
Internal Default No Error Output



The ID or name of this particular control network. This string will be added to the ouput control network file, and can be used by you to identify the network.

Type string

Control: POINTID


This string will be used to create unique IDs for each control point created by this program. The string must contain a single series of question marks ("?"). For example: "VallesMarineris????"

The question marks will be replaced with a number beginning with zero and incremented by one each time a new control point is created. The example above would cause the first control point to have an ID of "VallesMarineris0000", the second ID would be "VallesMarineris0001" and so on. The maximum number of new control points for this example would be 10000 with the final ID being "VallesMarineris9999".

Note: Make sure there are enough "?"s for all the control points that might be created during this run. If all the possible point IDs are exausted the program will exit with an error, and will not produce an output control network file. The number of control points created depends on the size and quantity of image overlaps and the density of control points as defined by the DEFFILE parameter.

Examples of POINTID:

Type string



A text description of the contents of the output control network. The text can contain anything the user wants. For example it could be used to describe the area of interest the control network is being made for.

Type string


Stuart Sides2005-08-20 Original version
Steven Lambright2007-07-27 Changed category from Geometry to Control Networks
Stuart Sides2008-11-11 Removed terminal output code
Steven Lambright2008-11-24 Added the "OVERLAPLIST" parameter.
Christopher Austin2008-12-18 Added the optional CNET parameter and fixed memory leaks.
Christopher Austin2008-12-22 Removed beta status, fixed a bug, and added test.
Christopher Austin2009-01-26 Replaced the cerr output with the ERRORS option.
Christopher Austin2009-02-09 Added the seed definition parameters to the results group of the print.prt file
Christopher Austin2009-03-16 Fixed the progress objects.
Travis Addair2009-08-05 Moved seed definition parameters to unique group, and encapsulated the group creation within the seeding objects.
Travis Addair2009-08-11 Added .def filter to the SEEDDEF parameter.
Christopher Austin2009-10-23 Added keywords to the SEEDDEF file which tell autoseed which Control Measures to mark as ignored under the keyword's conditions. These new keywords include "PixelsFromEdge", "MinEmission", "MaxEmission", "MinIncidence", "MaxIncidence", "MinResolution", and "MaxResolution". Any Control Point with less than 2 valid measures as a result of these keywords will be marked as ignored.
Christopher Austin2009-11-25 Added the keywords "MinDN" and "MaxDN" to the SEEDDEF possibilities. Using these keywords will increase runtime.
Eric Hyer2010-01-29 Added Results group to print.prt
Christopher Austin2010-03-26 Now throws an error if the output Control Net is empty.
Eric Hyer2010-04-16 Added optional parameters to results group. Also now report invalid or unrecognized keywords found in the def file to the user.
Sharmila Prasad2010-04-28 Fixed error while checking for max and min dn values restriction for a valid control point. Ignore control points with special pixel dn values.
Christopher Austin2010-05-05 Adapted to handle seeding in both XY and SampleLine units using the optional Seeddef keywork SeedDomain.
Christopher Austin2010-06-09 Added the ControlPointsIgnored and ControlMeasuresIgnored keywords to the results group.
Sharmila Prasad2010-06-30 Throw exception, when SetUniversalGround Fails
Christopher Austin2010-09-27 Removed the SetUniversalGround fail exception, and added an exception when serial numbers in the overlaps list are not included in the FROMLIST.
Christopher Austin2011-01-18 Altered to compile with the new Control redesign.
Steven Lambright2011-04-11 Changed SEEDDEF to DEFFILE and TO to ONET as per the control network standard application parameter names.
Debbie A. Cook and Tracie Sucharski2011-06-07 Changed point type "tie" to "free"
Travis Addair2011-07-18 AprioriSample and AprioriLine are now set to the same values as Sample and Line when creating a new Control Measure.
Stuart Sides2011-09-30 Reworked the documentation with Laszlo Kestay and Jac Shinaman
Debbie A. Cook2012-11-23 Changed to use TProjection instead of Projection. References #775.
Jeannie Backer2016-04-22 Modified code to get TargetRadii using the cube label and mapping group if these values can not be found using the TargetName alone. Sets control net using these radii values rather than attempting to find them again. References #3892