cnetcheck
Checks the validity of a control network
This program checks for the validity of a Control Network. It is recommended to run cnetcheck before running jigsaw (can use the same input image cube list and control network) in order to catch a choice of potential issues with the control network and the corresponding input image cube list.
The default primary function of cnetcheck is to idenify any Islands within the control network (CNET). Each identified 'Island' will have an output file associated with it ("PREFIX"_Island.#, where #=sequential number id). The output Island files contain the list of images connected together as a group, the file includes the cube filenames and corresponding serial numbers.
NOTE1: If a serial number is identified as a single image island and the corresponding image cube file name is not listed within the FROMLIST, then the image cube filename will not be included in the appropriate island file.
NOTE2: If it is discovered that a known island is missing an output island file (i.e., output list not created as expected), it is possible that the image cube file name(s) were not listed in the input list (FROMLIST).
All output files are created in the working directory where cnetcheck is initiated.
Categories
History
Christopher Austin | 2008-07-09 | Original version |
Steven Lambright | 2008-07-10 | Fixed output files to only show filenames and usage of c_str. |
Christopher Austin | 2008-07-28 | Fixed NoLatLon option. |
Christopher Austin | 2008-08-01 | Added Control Point IDs to the NoLatLon flat file. |
Christopher Austin | 2008-10-28 | Greatly optimized the NoLatLon option. |
Steven Lambright | 2008-11-24 | Renamed parameters: "LIST" is now "FROMLIST" and "CONTROL" is now "NETWORK" |
Christopher Austin | 2009-04-07 | Added the IGNORE option, which ignores ignored Control Points. |
Christopher Austin | 2009-04-23 | Added a results group that correlates parameter names to keywords, fixed the newline character outputs, and changed NOMATCH to NOCONTROL. |
Christopher Austin | 2009-05-15 | Fixed the island detecting to disregard ignored control points and other bug fixes. |
Christopher Austin | 2009-06-03 | Fixed a bug with ignored Control Measures, changed NETWORK to CNET, changed the output formats to be more useful and consistant. |
Christopher Austin | 2009-08-21 | Cleaned up syntax and improved readability. |
Christopher Austin | 2009-09-18 | Added the SINGLECUBE parameter, renaming SINGLE to SINGLEMEASURE as a consequence. |
Mackenzie Boyd | 2010-05-28 | Modified functionality of NOLATLON option to check all measures, not just each cube. |
Christopher Austin | 2009-06-08 | Added the DELIMIT parameter |
Christopher Austin | 2010-10-06 | Fixed for binary cnet conversion. |
Christopher Austin | 2011-01-18 | Altered to compile with the new Control redesign. |
Christopher Austin | 2011-02-10 | Swapped the order of to serial number and filename in the NOCONTROL output file. |
James Alexander Crough and Eric Hyer | 2011-06-15 | Added ability to check the ratio between the convex hull of the cnet and its parent cube. |
Travis Addair | 2011-08-10 | Added LOWCOVERAGE option to make convex hull check optional. |
Tammy Becker | 2011-11-17 | Modified documentation and changed Tolerance default from 0.0 to 1.0. |
Parameters
Input Files
Type | filename |
---|---|
File Mode | input |
Filter | *.txt *.lis *.list |
Type | filename |
---|---|
File Mode | input |
Filter | *.net |
Output Options
Type | string | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Default | TAB | |||||||||||||||
Option List: |
|
Type | string |
---|
For example, PREFIX=CHK_, will result in an output filename CHK_Island.1 or CHK_NoControl.txt
Type | string |
---|---|
File Mode | output |
Ignore=TRUE is the default for consistency with other apps, such as jigsaw, that do NOT consider invalid points or measures.
When Ignore=FALSE, all valid and invalid control points and control measures are considered for links between images and groups.
Type | boolean |
---|---|
Default | True |
Checks
No output file will be created if all images are controlled.
NOCONTROL=False will turn off this testing of images without control.
Type | boolean |
---|---|
Default | True |
No output file will be created if all serial numbers match to an image cube file name.
NOCUBE=False will turn off the testing for matching serial number and input image file names.
Type | boolean |
---|---|
Default | True |
Note: In general and when possible, a control point should have more than one control measures (more than three).
If there are no such single Control Measures, then no file is created.
Type | boolean |
---|---|
Default | True |
Images under this scenario must be resolved before running jigsaw. A single image must not have more than one measure to the same control point.
If there are no such duplicate Control Measures, then no file is created.
Type | boolean |
---|---|
Default | True |
These images would have a convex hull value near zero, meaning there are not enough control points. Where possible, any image should have measures to multiple control points along the image plane boundaries (convex hull value near 1.0 for a full distribution). Refer to the Tolerance parameter for a distrubution test.
If there are no such single Cubes, then no file is created.
Type | boolean |
---|---|
Default | True |
These identified Serial Numbers and image cube filenames will be followed by the Control Point IDs where the latitude and longitude could not be computed at the associated measures.
If there are no such serial numbers, then no file is created.
Only image cubes included in both the FROMLIST and CNET are checked.
Type | boolean |
---|---|
Default | True |
The main purpose of this test is to isolate the images that have an insufficient distribution of control point measures. This is performed by constructing a convex hull from all Control Measures located on the image in "image pixel space". The convex hull gives a rough estimation of the distributed coverage of Control Points in the input control network across each image. By enabling this option, a file named [PREFIX]LowCoverage.txt will be created containing all images (with corresponding serial numbers) whose convex hull coverage is less than the given user-specified TOLERANCE. A third column will also be output, showing the actual coverage value for each reported image.
The default of 1.0 for a max tolerance will effectively cause nearly every image to be reported, as it is highly unlikely that a convex hull will cover 100% of it's corresponding image. With a tolerance of 0.25, any image whose convex hull covers less than a quarter of the image area will be reported. A minimal tolerance of 0.0 effectively makes the test meaningless, allowing images to "pass" this test without having ay control point coverage.
Only cubes in both the FROMLIST and CNET are checked.
Type | boolean |
---|---|
Default | True |
Inclusions |
|
Type | double |
---|---|
Default | 1.0 |
Minimum | 0.0 (inclusive) |
Maximum | 1.0 (inclusive) |