ISIS Application Documentation
cnetthinner | Standard View | TOC | Home |
Generate an updated control network with fewer points, with efficient spatial distributed across images.
Description
Categories
Groups
History
cnetthinner will compute the most efficient spatial control point distribution for each image in the control network using an input number of maximum points. This would typically be used for very densely populated control networks that could be processed more quickly if some of the less-useful control points or measures were ignored or removed. cnetthinner's goal is to decrease the total number of control points without compromising their spatial coverage, as much as is possible.
cnetthinner accomplishes this goal using an algorithm called Suppression via Disk Covering (SDC) [1] to select the most spacially-efficient control points to retain.
The maximum and minimum number of Control Points to keep in the output Control Network can be specified with the MAXPOINTS and MINPOINTS parameters. MAXPOINTS must be specified by the user and should be determined by examining the current size and density of the Control Network. Suppressed Control Points can either be set to Ignored or Removed entirely from the output Control Network using the SUPPRESSED parameter. The results can also be adjusted using the WEIGHT and TOLERANCE parameters. The TOLERANCE parameter adjusts how flexible the number of output points allowed from the suppression calculation is around the MAXPOINTS value and the WEIGHT parameter adjusts how much each input control point's strength is weighted in the algorithm, specifically based on the number of valid measures with "goodness of fit" it has.
cnetthinner will output a Control Network and also output a Results PVL group. The Results group provides the following information about the results:
Group = Results Points = (Original Number of Points) Saved = (Number Of Points Retained) Suppressed = (Number of Points Ignored or Removed) Efficiency = (Number of Points Removed / Original Number of Points) * 100 percent End_Group
Name | Description |
---|---|
CNET | Input |
ONET | Output |
Name | Description |
---|---|
WEIGHT | Weight applied to control point |
TOLERANCE | Point count tolerance |
MAXPOINTS | Number of points to retain per image |
MINPOINTS | Select minimum number of points to save |
SUPPRESSED | Disposition of removed points |
NETWORKID | Name of the resulting network |
The input Control Network to calculate a spacially-efficient subset of.
Type | filename |
---|---|
File Mode | input |
Internal Default | None |
Filter | *.net |
The output Control Network, which is the result of the suppression calculation on the input Control Network.
Type | filename |
---|---|
File Mode | output |
Internal Default | None |
Filter | *.ctl *.pvl *.net |
A weight factor of the natural LOG(#Measures) * WEIGHT is applied to the AVERAGE(GoodnessOfFit) of all the measures to produce the strength of a control point for purposes of selecting the best points of spatial distribution accross the images in the control network. The equation is:
AVERAGE(GoodnessOfFit of all Measures) * (1 + LOG(#Measures) * WEIGHT)
Type | double |
---|---|
Default | 0.0 |
This tolerance factor adjusts the range of acceptable point count output results. Valid range is: 0.0 - 1.0. (Though 1.0 will result in only 1 output point.)
Type | double |
---|---|
Default | 0.1 |
Specify the number of control points per image to retain. Typically, the absolute minimum points would be 3, but more are better. In some cases, you may hundreds or perhaps 25 or so.
Type | double |
---|
For non-reference images that may have very little overlap, this is the minimum number of control points to retain regardless of the total points contained in the overlap. This is intended to retain the minimum number of points jigsaw requires to produce an acceptable bundle adjustment.
Type | double |
---|---|
Default | 3.0 |
Type | string | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Default | REMOVE | |||||||||
Option List: |
|
Users have the option to rename the output control network.
Type | string |
---|---|
Internal Default | None |
Kris Becker | 2016-09-27 | Original Version |
Kristin Berry | 2016-11-25 | Add documentation, error-checking, and updates to meet ISIS coding standards and get checked in. Changed application name from cnetsuppress to cnetthinner on Kris's request. |
Kris Becker | 2020-01-20 | In file CnetManager.cpp, method KPoint::calculateStrength. Replaced BOOST ASSERT (abort) with the line "if ( count LE 0 ) return ( 0 )" to prevent a divide by zero and subsequent seg fault if a point doesn't contain valid measures when computing the point depth weight. |
Ken Edmundson | 2023-11-30 | Moved Kris Becker's bug fix of 2020-01-20 from UofA code base to USGS code base and updated documentation. References #5354. |