ISIS Application Documentation
Generate an updated control network with fewer points, with efficient spatial distributed across images.
Description
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
References
Efficiently selecting spatially distributed keypoints for visual tracking
S Gauglitz, L Foschini, M Turk, T Höllerer
Image Processing (ICIP), 18th IEEE International Conference on, 18691872
Categories
History
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.


Parameter Groups
Files
Parameters

Files:
CNET
Description
The input Control Network to calculate a spaciallyefficient subset of.
Type
 filename 
File Mode
 input 
Internal Default
 None 
Filter
 *.net 
Files:
ONET
Description
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

Parameters:
WEIGHT
Description
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)
Parameters:
TOLERANCE
Description
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.)
Parameters:
MAXPOINTS
Description
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.
Parameters:
MINPOINTS
Description
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.
Parameters:
NETWORKID
Description
Users have the option to rename the output control network.
Type
 string 
Internal Default
 None 