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 lessuseful 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 spaciallyefficient 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 spaciallyefficient 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 nonreference 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  20160927  Original Version 
Kristin Berry  20161125  Add documentation, errorchecking, and updates to meet ISIS coding standards and get checked in. Changed application name from cnetsuppress to cnetthinner on Kris's request. 
Kris Becker  20200120  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  20231130  Moved Kris Becker's bug fix of 20200120 from UofA code base to USGS code base and updated documentation. References #5354. 