This application will go through an existing control network and copy it
to a new control network updating either apriori or adjusted radii values
using the given shape file. When it encounters a point type of Fixed or
Constrained it will use the control point latitude and longitude to update
the radius from the shape model file. The radius will be calculated based
on a bilinear interpolation of the closest pixels in the shape file. The
AprioriRadius, AprioriRadiusSource and AprioriRadiusSourceFile will be
updated if GETLATLON=APRIORI. The AdjustedRadius will be updated if
GETLATLON=ADJUSTED. There are not keywords for AdjustedRadiusSource or
AdjustedRadiusSourceFile.
If, for a particular point, the application fails to calculate a radius
using the shape file, then the input radius value is kept and the point is
set to Ignore=true. The number of these failures are recorded in the
application's log. The Point IDs for the corresponding control points
will be listed in the ERRORS log output file. If the user did not enter
a filename for this log and there are any points that failed, one will be
created with the name "failures.log".
Note:If a significant number of points in the control
network fail to find a new radius value, the user should make sure that
they have input the correct shape model for the input control network.
Modified to handle control points that fail to calculate a new radius as
explained in the description. Added ERRORS parameter to list PointIDs of
the control points that failed to calculate a new radius. Added filters
for input and output parameters.
Jeannie Walldren
2010-05-27
Created examples.
Christopher Austin
2011-01-19
Altered to compile with the new Control redesign.
Steven Lambright
2011-02-09
Updated to not try to project null lat,lon values
Christopher Austin
2011-03-14
Updated for Control Point's removal of Set/GetSurfacePoint() and added
the GetLatLon parameter.
Steven Lambright
2011-04-11
Changed the DEM parameter name to MODEL
Debbie A. Cook and Tracie Sucharski
2011-06-07
Changed the point type "Ground" to "Fixed"
Tracie Sucharski
2011-07-28
Change radii values for both Fixed and Constrained points. Use bilinear
interpolation to get the correct radius from the shape file. This uses
the same interpolation as the camera. Print error if there are no Fixed
or Constrained points in the network. Change input parameter names to be
consistent with those suggested on the Astrogeology wiki page. Removed NETWORKID
as user parameter since it should carry the ID from the input control net.
Set Apriori as the default for the GETLATLON parameter. Update examples
documentation.
Tracie Sucharski
2011-10-04
Skip edit locked points, keep count for summary. Added appTest for edit
locked points.
David L Miller
2015-06-29
Updated Makefile to be closer to new Isis coding standards and fixed bug where test data
coming from directories that don't start with "/usgs/" would not be found.
A map projected ISIS cube which contains the radii of the target.
The file can cover a larger area than the control points in the
network, but must minimally include all of the control point
locations.
This file will contain the Point IDs of all control points whose
radius could not be calculated from the shape model. This happens
when the radius value is a special pixel or when the program fails to
set universal ground given the lat/lon values of the control point.
Specify which Surface Point to use when setting the new radii.
Type
string
Default
APRIORI
Option List:
Option
Brief
Description
APRIORI
Use the Apriori Surface Point
Use the lat/lon values provided by the Apriori Surface Point
when setting the new radii.
ADJUSTED
Use the Adjusted Surface Point
Use the lat/lon values provided by the Adjusted Surface Point
when setting the new radii. The lat/lon value of the Adjusted
Surface Point is generated by bundle adjust.
Example of the use of cnetnewradii on a control network whose
constrained and fixed points lat/lon values are all contained within the
given shape model.
In this example, cnetnewradii will take the input control network and
copy it to the output network with new radii values calculated for
all constrained and fixed points using an interpolated DN value from
the shape cube. The apriori values will be updated. No error log will
be generated.
GUI Screenshot
Example GUI
Screen shot of GUI with parameters filled in to create control
network with new radii values.
Input Image
SHAPE
Input shape file for cnetnewradii
Parameter Name:
SHAPE
Example of an input shape cube used by cnetnewradii to update the
radii values of contrained and fixed points in the control network.
Example of an output control network corresponding to the input
example with updated radii values. Notice that radii values have
been updated for all contrained and fixed points.
Example 2
Some fixed points fail to be updated
Description
Example of the use of cnetnewradii on a control network` that contains
some fixed points whose radius can not be calculated.
In this example, cnetnewradii will take the input control network and
copy it to the output network with new radii values calculated for
fixed points using the DN value recieved from the shape cube. The
PointIDs of fixed points that fail to calculate a new radius value
will be listed in the error log.
GUI Screenshot
Example GUI
Screen shot of GUI with parameters filled in to create control
network with new radii values.
Input Image
SHAPE
Input shape cube for cnetnewradii
Parameter Name:
DEM
Example of an input shape cube used by cnetnewradii to update the
radii values of fixed points in the control network.
Example of an output control network corresponding to the input
example with updated radii values. Notice that the fixed points
that failed are set to Ignore=True and their original radii values
are retained.