Rival Peak Photo Pixel Analysis

by Edward Earl

The Goal

The goal of this project is to determine the relative elevation of multiple summits that rival each other to be a high point, or for the same prominence. In successful cases, it may be determined with very high confidence which rival summit is highest; thus future peakbaggers will know which summit must be climbed in order to claim the high point or the prominence, without having to climb all of them.

Required Resources

To apply the project to a specific case requires a good digital photograph taken from one rival peak showing one or more other rival peak(s), or from a nearby peak showing at least two rival peaks. In the former case, the elevation of the camera relative to the summit from which it was taken must be known. In either case, the position (latitude, longitude and elevation) of the point from which the picture was taken must be known accurately, and there must be at least two identifiable peaks in the background whose positions are known accurately.

It is strongly preferred, however, that there be as many background peaks as possible. With only two background peaks, there is no redundancy in the calibration of the photo pixel coordinate system to the angles at which an object would appear in the field; hence no error analysis is possible. It is possible to guess the error based on the pixel resolution, but there is no way to know other sources of error such as atmospheric refraction and projection distortion. Ideally, one should have at least six background peaks.

Click here for a more complete description of the techniques one should employ for taking a digital photograph to get the best possible results for pixel coordinate analysis.

The Method

Using the position of the camera and of each background peak, a software tool calculates the spherical angles at which each background peak appears in the field. The tool then calibrates a mathematical transformation that maps the field angles of each background peak to its pixel coordinates in the photo. A document describes this transformation. The transformation is totally general: the camera can be aimed up or down at any angle, and can be be tilted sideways at any angle.

Next, the software tool feeds the pixel coordinates of each rival point into the calibrated transformation to calculate the field angles of each rival point. Finally, given the field angles and distance away from the camera, the software tool calculates the elevation of each rival point relative to the camera.


The software tool of the project is called Geopix, which is publicly available for download. There is no installation procedure. It is a single executable file which you save wherever you choose on your local hard drive. You run it directly from that point.

A user guide is available.

Source code in C++, organized in three files, is available:


Geopix was used successfully to determine that the southwest summit of Buckner Mtn, the Skagit WA county HP with over 3000' prominence, is 9.6 inches higher than the northeast summit. The error of the calculation is ±3.9 inches.

You can examine the data file and photo used in the calculation.

Error Sources

Since Geopix is used to discern very small differences in elevation, it is imperative that its error be quantified. Known error sources are:
Pixel quantization error
Positions of objects on a digital photograph cannot be measured to a resolution better than 1 pixel. For each background point and rival point, Geopix reports the distance subtended by the angle corresponding to 1 pixel.

Projection error
It cannot be known exactly what is the projection from the non-Euclidean space of spherical angles at which objects appear in the field to the Euclidean X-Y pixel coordinates on the photograph. This will depend slightly on the optics of the camera used, but for most optical systems the projection is gnomonic, which is what Geopix assumes.

Even if it is known that the projection is gnomonic, it is not known exactly where the optical axis of the camera is. However, the result is usually not very sensitive to the presumed optical axis. Users can sometimes manually adjust the optical axis to minimize the residual error.

Projection error is small near the optical axis but can increase rapidly at angles farther from the optical axis. For this reason, it is suggested that background and rival points be not too far from the axis. The more background points are used, the better, but if background points that are too far from the axis cause the residual error to increase, then this is almost certainly due to projection error, and these points should not be used. Users should experiment with the inclusion and exclusion of background peaks that might involve significant projection error.

Panoramic photos are difficult to use because they must necessarily be highly distorted and involve large projection error. A photo of this nature will be evident in the large residual error no matter what background points are used.

Camera position error
Obviously, Geopix can only calculate the height of a rival peak relative to the camera when the picture was taken, which may have been at a different height than the rival summit that the picture was taken from. Any error in one's knowledge of the camera height becomes an error in the measured rival summit difference. Geopix cannot possibly determine this error; therefore it is incumbent on the party taking the picture to be aware of it.

Mapping and surveying error
The positions of the points entered into Geopix are most likely read from a topo map, and their positions are surveyed. Some background peaks may not show an exact elevation on a map, and their elevations must be guessed based on interpolation or relative contour size. Errors in these procedures will introduce errors into the Geopix analysis. For this reason, it is best to avoid background points that are too close, since an error in the position of the point corresponds to a larger error in the point where it appears in the photo. Geopix reports the size of one pixel at the distance of each background point. If a pixel is smaller than the accuracy to which its position (horizontal or vertical) can be measured, it is best not to use that background point.

Atmospheric refraction
Geopix can take atmospheric refraction into account, but the exact degree of refraction depends on weather conditions that can only be guessed. Users who are concerned about this can and should rerun Geopix with different degrees of refraction over the entire reasonable range of weather conditions (described in the user guide) and observe how the result varies.

Another way of dealing with unknown atmospheric refraction is to minimize the residual error with respect to the degree of refraction; with sufficient redundancy, this technique actually measures the degree of refraction!

Ellipsoidal distortion of the earth
This source of error (about 0.3% of the Earth's radius) is unimportant because it is overwhelmed by atmospheric refraction, which is equivalent to about 10% to 15% of the Earth's radius.
Geopix calculates and reports the residual differences between the expected and observed positions at which background points appear. If there is any redundancy in the background points, the result represents all sources of error, known and unknown. Geopix then translates that error to a rival point height error.


A simple way to demonstrate empirically how well Geopix works uses any photograph containing at least several identifiable peaks. Treat one as a rival point and all others as background points. Then compare Geopix's calculated height for the "rival" point and compare that to its known height. To see if the result is truly consistent, repeat this experiment in which each known point is treated, one by one, as a rival point. Such a technique is easily performed using nearly any photograph that was originally intended to calculate a real life rival point.

Seven peaks in the photograph for Buckner were used as background peaks: Katsuk Pk, Monument Pk, Robinson Mtn, Tower Mtn, Fisher Pk, Black Pk, and Silver Star Mtn. The following table shows Geopix's calculated height for each peak as if it were a rival peak, using the other six peaks as background peaks.

"Rival" PeakDistance
Elevation Pixel
Actual Calculated Error
Katsuk Pk 12.4 8690 8677±31 -13 17.5
Monument Pk 47.3 8592 8645±101 +53 66.4
Robinson Mtn 40.6 8726 8712±84 -14 57.0
Tower Mtn 24.2 8444 8430±47 -14 34.0
Fisher Pk 14.2 8065 8083±21 +18 19.9
Black Pk 13.9 8970 8978±32 +8 19.6
Silver Star Mtn 31.1 8876 8821±61 -55 43.7

In the table above, the calculated error is √3 times the standard deviation reported by Geopix. √3 was chosen as the number of sigmas because that is the ratio of the half-width to the standard deviation of a uniform distribution.

Bob Bolton provided a photograph looking north from South Sister, which was also good enough to provide a similar type of validation test. The results of this test are as follows:

"Rival" PeakDistance
Elevation Pixel
Actual Calculated Error
Middle Sister 5.1 10047 10054±7 7 5.1
Three Fingered Jack42.2 7841 7832±24 -9 41.6
Mt Jefferson 63.6 10497 10464±56 -33 62.7
North Sister 7.0 10085 10081±6 -4 6.9
Olallie Butte 79.9 7215 7212±75 -3 78.8
Mt Hood 141 11239 11282±160 43 139
Black Crater 18.2 7251 7262±21 11 17.9

Paul Klenke took pictures looking both directions from the two rival summits of American Ridge on the east side of Mt Rainier, and these images were both good for that type validation test. The results of the test on the shot looking from the E summit to the W summit are as follows:

"Rival" PeakDistance
Elevation Pixel
Actual Calculated Error
Dewey Pk 9.44 6710 6758±42 42 9.0
Cowlitz Chimneys S pk 18.4 7605 7575±67 -30 17.8
Little Tahoma 26.1 11138 11140±100 2 25.3
Columbia Crest 29.8 14410 14490±92 80 29.0
Naches Pk 10.4 6452 6436±40 -16 10.1
K Spire 25.0 8886 8820±81 -66 24.3
Liberty Cap 30.8 14112 14180±112 68 29.9

and from the W summit to the E summit:

"Rival" PeakDistance
Elevation Pixel
Actual Calculated Error
Point 4934 15.9 4934 4910±27 -24 17.1
Point 5235 16.7 5235 5250±39 15 18.0
Point 5653 16.5 5653 5670±30 17 17.9
Point 6857 10.3 6857 6850±23 -7 11.2
Nelson Ridge N pk9.1 7049 7056±25 7 9.8

Paul's images also provide an opportunity to calculate the relative heights of the rival summits looking in both directions, to check the consistency of the results. According to the shot looking from the E summit to the W summit, the W summit is 3.4 feet higher, plus or minus 1.0 feet. According to the shot looking from W to E, the E summit is 4.1 feet lower, plus or minus 0.5 feet. The consistency between these two results is encouraging.

In every test case, the calculated height is within the calculated error of the (known) actual height, and the error is comparable to or less than the pixel resolution. Hence Geopix is a very credible tool.