ISIS Planetary Geodesy Software
(formerly RAND/USGS Planetary Geodesy (RUPG) Software)
Narrative description of Randlsq Main printout Description (general file format)
File: ISIS-PG-FMT511.doc, .pdf, or .asc
Version: 2006.08.10
=======================================================================
The following is a general guide to the solution "general printout" output that is generated by the randlsq program. The "Group" designations here are meant to be a general guide to the different sections of that output.
The examples below are taken from the file "ULCN2005-printout.dat", the main printout file of the Unified Lunar Control Network 2005.
Group 1 - Camera angle weighting.
=======
If camera angle weighting has been specified (iawt=1), the weighting for all camera angles is given here, including the one standard deviation (one sigma) weight in degrees, and the actual weight applied in 1/radians**2.
If not specified (iawt=0), this printout will not appear.
Example:
Camera angle right ascension - uncertainty specified (deg), weight used (1/rad**2): 1.00000000 3282.8064
Camera angle declination - uncertainty specified (deg), weight used (1/rad**2): 1.00000000 3282.8064
Camera angle twist - uncertainty specified (deg), weight used (1/rad**2): 1.00000000 3282.8064
Group 2 - General description of solution parameters.
=======
Number of images (NPIC), number of control points (NPOI), number of image measures (line and sample) (NMEA), and number of unknowns (NUNK). This is followed by a list of the types of parameters being solved for.
Example:
INITIAL CONFIGURATION FOR THESE DATA
NPIC = 43866 NPOI = 272931 NMEA = 546126 NUNK = 950391
SOLVING FOR CORRECTIONS TO LATITUDES OF POINTS
SOLVING FOR CORRECTIONS TO LONGITUDES OF POINTS
SOLVING FOR CORRECTIONS TO RADII OF POINTS
SOLVING FOR CORRECTIONS TO ALPHA C-MATRIX ANGLES
SOLVING FOR CORRECTIONS TO DELTA C-MATRIX ANGLES
SOLVING FOR CORRECTIONS TO KAPPA C-MATRIX ANGLES
Group 3 - Parameter Weights in RAND Scheme
=======
These are parameter weights, as used by the original RAND weighting scheme. Numbers are simply listed in solved for order, from parameter number 1 to parameter number NUNK. (The order is as specified in the list of types of parameters in "group 2" above, i.e. latitude, longitude, radii of point 1, then point 2, etc., then the three angles for image 1, then image 2, etc.) A "20" here indicates the parameter is fixed (e.g. weighted with a value of 10^20). A "-38" here indicates the parameter is free (weighted with a value of 10^-38).
(Note that a bug currently exists that when angle weighting is done (IAWT=1) or control point weighting is done (from the a priori input file) this listing will not show the correct weights for camera angle parameters or control point parameters, respectively, as the printout is done before those weights have been applied.)
Example:
The 66 "20" values reflect that the latitude, longitude, and radius coordinates of the first 22 control points are to be fixed. (But note in this particular case, these weights are ignored as they are later overridden by specific weights from the a priori input file.)
WEIGHTS
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38
-38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38
-38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38
etc.
Group 4 - Iteration Output
=======
The output from each iteration of the program follows. For each iteration there are two sub-groups of output, with one (Group 4A) being the measurement residuals, and the other (Group 4B) being the solution statistics for the current iteration.
Note that the first set of (Group 4A and 4B) output is actually from the "zeroth" iteration of the program, i.e. it is a simple calculation of the residuals (observed minus computed) values, but derived only from the a priori values before any solution is done. The (4B) statistics are actually the statistics for these residuals only and not a solution. In other words, this set of residuals and the statistics only show how well the a priori information actually matches the measurement data before a solution is done.
After that printout, an actual least squares solution is done, and the next and succeeding sets of output are all from actual solutions. Therefore, if "nit" iterations are specified in the program control file (see file ISIS-PG-FMT101.doc or .pdf for format), then the actual number of least squares solution iterations will be NIT-1.
Group 4A - Residual output from the current iteration
========
Shown for each line and sample measurement from the input mm measurement file, are the image number, the control point number, the X or SAMPLE residual (mm), and Y or LINE residual (mm).
Example:
PICTURE POINT XO-XC YO-YC
5503559 1 -0.03959 -0.24139
16620062 10 -0.07242 -0.08646
16170025 100 -0.08233 0.06269
16140430 100 -0.13691 -0.27135
29111574 1000 0.09592 -0.43485
15831434 1000 0.06703 -0.21000
29320962 1001 -0.06119 -0.31545
29320929 1001 -0.09810 -0.11393
29020894 1003 0.16548 -0.06924
etc.
Group 4B - Residual or Solution Statistics.
========
Next is printed the residual (first iteration) or solution (later iterations) statistics.
If this solution is being done using the method of conjugate gradients, after the first (mathematically "zeroth") iteration only, the used normal matrix array (array "ltl") size, in number of elements, is printed.
For the second and later iterations, the previous iteration solution standard deviation (SIG1, see below) is printed for comparison with this iteration's standard deviation.
For the second and later iterations, if the solution standard deviation has changed by less than 10^-6, a message is also printed that says "Solution has CONVERGED."
Next, statistics are printed. For the first iteration these are actually just the statistics based on the residuals with no solution having been done. For later iterations they are the true solution statistics. These values are the standard deviations (in mm) for the line (or Y) measurements (SIGL), for the sample (or X) measurements (SIGM), for both (SIG1), and then as the a posteriori standard deviation of unit weight (SIG2), where:
SIGL = sqrt ( sum Y**2 ) / NMEA )
SIGM = sqrt ( sum X**2 ) / NMEA )
SIG1 = sqrt ( (sum X**2 + sum Y**2) / (NMEA*2) )
SIG2 = sqrt ( (sum X**2 + sum Y**2) / (NMEA*2 - NUNK) )
where X are the sample residuals, Y are the line residuals, and NMEA and NUNK are as in Group 1 above. Note that NMEA*2 - NUNK can be zero or negative and yet a solution can be obtained if a sufficient number of parameters are weighted. However, if this case occurs a warning is issued and SIG2 is set to 1.
Example 1:
Normal matrix array size is 6815871
SIGL = 1.03999 SIGM = 0.71315 SIG1 = 0.89167 SIG2 = 2.47421
Example 2:
Previous SIG1 = 0.89167
SIGL = 0.01939 SIGM = 0.01999 SIG1 = 0.01969 SIG2 = 0.05464
=======================================================================
Reference: Model, program, and format generally follow that specified in:
Colvin, Tim R. (1992). "Photogrammetric Algorithms and Software for Spacecraft Optical Imaging Systems," _ A RAND NOTE _, N-3330-JPL.
=======================================================================
Document History:
Begun 2006.08.10 by B. Archinal.
Modifications:
=======================================================================
(End of document.)