ISIS Application Documentation
Creates a lat/lon polygon and writes it to the image
Description
This applications creates a geometric polygon ("footprint") of the input
image, where each vertex is a latitude/longitude coordinate in the image.
Depending on the granularity of the search (SINC/LINC, NUMVERTICES), this
polygon can represent anything from a rough approximation to a
fine-grained model of the latitude/longitude extents of the image.
These polygons are used in a variety of ISIS applications, primarily for
performing fast intersection tests to determine if a given coordinate or
line falls within the bounds of an image in latitude/longitude space.
Because many applications can see performance gains on the order of
magnitudes from using polygons over repeatedly creating cameras, it is
highly recommended that this application be run on all images in a control
network prior to performing network population. The application
"autoseed" requires the presence to these polygons, while "cnetadd" has a
significant optimization in place using polygons.
The application "spiceinit"
must be run prior to running this application.
Categories
Applications
History
Tracie Sucharski | 2005-07-19 |
Original version
|
Jacob Danton | 2006-02-10 |
Changed input from a list of cube files to a single cube and added appTest.
|
Brendan George | 2006-06-30 |
Fixed application test
|
Brendan George | 2006-09-19 |
Added call to propagate and modify the history blob
|
Tracie Sucharski | 2007-05-09 |
Added error check to insure spiceinit has been run.
|
Brendan George | 2007-05-21 |
Moved from Geometry category to Control Network category
|
Steven Lambright | 2007-07-26 |
Moved Control Network category to Control Networks Category (Control Network category is invalid) and updated program description.
|
Steven Koechle | 2007-10-19 |
Changed name from polyinit to footprint init
|
Steven Koechle | 2008-08-19 |
Updated to work with Geos3.0.0
|
Steven Koechle | 2008-12-15 |
Deletes old footprint (generated off cubes serial number) if its found.
New name for blob is just Footprint.
|
Steven Koechle | 2009-04-17 |
PIXINC parameter was removed, ImagePolygon now uses a new method of
finding footprints
|
Steven Lambright | 2009-05-29 |
PIXINC re-implemented. This functionality is crucial. Existing polygons will no
longer be deleted if this program fails.
|
Christopher Austin | 2009-06-16 |
Changed default PIXINC to 100, added test cases.
|
Christopher Austin | 2009-06-18 |
Added the cross test.
|
Christopher Austin | 2009-07-01 |
Added EMISSION and INCIDENCE
|
Christopher Austin | 2009-07-09 |
Changed param EMISSION to MAXEMISSION, and INCIDENCE to MAXINCIDENCE.
|
Christopher Austin | 2009-07-21 |
Added LIMBTEST parameter, and fixed multiple tests, including multiple
PIXINC coverage.
|
Christopher Austin | 2009-07-28 |
Replaced PIXINC with SAMPINC and LINEINC.
|
Christopher Austin | 2009-08-05 |
Changed the maximum value of MAXEMISSION and MAXINCIDENCE to 180.
Added TESTXY and an app test for it.
|
Christopher Austin | 2009-08-20 |
Changed SAMPINC and LINEINC to SINC and LINC for consistancy with
camstats.
|
Christopher Austin | 2010-02-17 |
Added the INCREASEPRECISION parameter.
|
Christopher Austin | 2010-03-08 |
Added a results group when using INCREASEPRECISION which privides the
final SINC and LINC used for the footprint.
|
Christopher Austin | 2010-05-18 |
Prevented an infinite loop caused by Naif error handling.
|
Christopher Austin | 2010-07-13 |
Fixed error reporting.
|
Christopher Austin | 2011-04-12 |
Added the INCTYPE parameter (so it is consistant with caminfo).
|
Christopher Austin | 2011-05-12 |
Added smarts to the VERTICES option.
|
Travis Addair, Bob Sucharski, Trent Hare | 2011-10-07 |
Overhauled documentation.
|
Tracie Sucharski | 2012-05-03 |
Added comment to documenation indicating spiceinit must be run prior to this
application.
|
Steven Lambright | 2012-05-14 |
The automatically calculated linc/sinc will now always be >= 1. References #686.
|
Debbie A. Cook | 2012-12-10 |
Changed to use TProjection instead of Projection. References #775
|
Janet Barrett | 2014-08-04 |
Modified so that the program can be run on a mosaic file. Fixes #2158.
|
Jeannie Backer | 2014-08-22 |
Updated pushframe truth data due to modification of THEMIS VIS distortion model. References #1659.
|
Jeannie Backer | 2016-04-22 |
Modified code to get TargetRadii using the cube label and mapping group rather than just the TargetName.
References #3892
|
christopher Combs | 2017-06-01 |
Removed terminal output from poleMultiBoundary apptest. Fixes #4548.
|
|
Parameter Groups
Files
Name
|
Description
|
FROM |
Input cube
|
Options
Name
|
Description
|
INCREASEPRECISION | Allow automatic adjustments to fix invalid polygons |
INCTYPE |
Polygon quality
|
LINC |
The accuracy of the footprint in the line direction (larger is less
accurate)
|
SINC |
The accuracy of the footprint in the sample direction (larger is less
accurate)
|
NUMVERTICES |
Polygon steps
|
MAXEMISSION |
The maximum valid emission angle
|
MAXINCIDENCE |
The maximum valid incidence angle
|
Limb Test
Name
|
Description
|
LIMBTEST | Defines how limb images are to be handled |
XY Test
Name
|
Description
|
TESTXY | Tests the footprint's XY projection |
MAP |
File containing mapping parameters
|
|
Files:
FROM
Description
The cube to initialize polygons.
Type
| cube |
File Mode
| input |
Filter
|
*.cub
|
Options:
INCREASEPRECISION
Description
Enabeling this option will allow the automatic reduction of the SINC
and LINC parameters whenever their current values result in an
invalid polygon. In addition, a results group will be created with
the keywords SINC/LINC which reveal what SINC/LINC values were
actually used for the creation of the footprint.
NOTE: This parameter can result in a drastic increase in running time
as well as a change to user input values.
Type
| boolean |
Default
| FALSE |
Options:
INCTYPE
Description
When true, use NUMVERTICES to set an approximate number of steps for
the footprint. Otherwise use POLYLINC and POLYSINC to create the
polygon based on the dimentions of the cube.
Type
| string |
Default
| LINCSINC |
Option List:
|
Option |
Brief |
Description |
LINCSINC |
Use POLYLINC and POLYSINC for polygon quality
|
Enable this option to use the number of samples and lines to skip
around the perimeter of the image to compute the polygon
footprint.
Exclusions
|
VERTICES |
Use NUMVERTICES for polygon quality
|
Enable this option to use a total number of vertices around the
perimeter of the image to compute the polygon footprint.
Exclusions
|
|
Options:
LINC
Description
This is approximately how many lines in the input image
to skip for every point stored in the footprint.
Type
| integer |
Default
| 100 |
Minimum
| 1
(inclusive)
|
Options:
SINC
Description
This is approximately how many samples in the input image
to skip for every point stored in the footprint.
Type
| integer |
Default
| 100 |
Minimum
| 1
(inclusive)
|
Options:
NUMVERTICES
Description
Specifies the approximate number of vertices (+/- 3) to take around
the image to compute the polygon footprint. (In limb images, the
number of steps can be much more or less than 3 off.) Note that
currently, an increment of 4 or less will not work for pushframe
instruments such as THEMIS-VIS.
Type
| integer |
Default
| 40 |
Minimum
| 4
(inclusive)
|
Options:
MAXEMISSION
Description
When this value is provided, footprintinit will only consider points
with an emission angle less than or equal to the provided value.
There should never be an emission angle above 90. However,
planet features can cause abnormalities.
Type
| double |
Internal Default
| Ignore Emission |
Minimum
| 0.0
(inclusive)
|
Maximum
| 180.0
(inclusive)
|
Options:
MAXINCIDENCE
Description
When this value is provided, footprintinit will only consider points
with an incidence angle less than or equal to the provided value.
There should never be an incidence angle above 90. However,
planet features can cause abnormalities.
Type
| double |
Internal Default
| Ignore Incidence |
Minimum
| 0.0
(inclusive)
|
Maximum
| 180.0
(inclusive)
|
Limb Test:
LIMBTEST
Description
This parameter is used to specify how limb images are to be handled.
Type
| string |
Default
| ELLIPSOID |
Option List:
|
Option |
Brief |
Description |
ELLIPSOID | Use an Ellipsoid Shape Model |
If a limb image is detected, an ellipsoid shape model will be
used reguardless of the shape model defined by spiceinit.
|
SPICEINIT | Use Spiceinit Shape Model |
If a limb image is detected then use the shape model defined
by spiceinit. This is
|
|
XY Test:
TESTXY
Description
Tests the ability to project the footprint from lat/lon to x/y
coordinates. If the test fails, an error will be thrown, and the
lat/lon footprint will not be written to the input cube.
Type
| boolean |
Default
| FALSE |
Inclusions
|
|
XY Test:
MAP
Description
A file containing the desired XY mapping parameters. This
file can be a simple label file, hand produced or created via
the "maptemplate" program. It can also be an existing cube label
which contains a Mapping group. In the later case the input cube
will be transformed into the same map projection, resolution, etc.
Type
| filename |
File Mode
| input |
Default Path
| $ISISROOT/appdata/templates/maps |
Default
| $ISISROOT/appdata/templates/maps/sinusoidal.map |
Filter
|
*.map *.cub
|