Find heights
(lithos Main Menu Option 2. Find heights)
Description
This Main Menu option solves for the brightness and slope of each pixel. It includes a variety of options, including stereo and photoclinometry.
Suboptions
When you choose Option 2. Find heights from the Main Menu, you will see this set of Suboptions:
Main Menu: Q 0123O IUCRSG NVAMBX DEPL FZH? 2 >2 TOOLS 0. Begin integration 1. Auto include neighboring maps 2. Include existing heights 3. Include shape vectors 4. Include limb vectors 5. Include external map 6. Include differential stereo 7. Include shadowing 8. Fill with shape 9. Include control points Q. Exit
0. Begin integration - Provide these inputs:
Weight for the conditioning heights - Always use .025.
Whether to use weight 0.025 or not depends on a number of factors. Often in the first slope to height integration you may want to use a smaller number, 0.01. Also if you have a large number of overlapping maps and the seeds.pgm plot looks very dense, you may want to decrease the weight so as not to over constrain the solution with too many seed heights. Also, if some of the conditioning heights are derived from maps that have poorly determined heights, you should decrease the value of the weight to even less than 0.01. If this does not improve the heights integration, you may skip options 1 and 2 and use option 6 before you perform the heights integration.
Number of iterations - Typically use 30.
- After the iterations are finished, enter one of these choices:
- '0' to go back to the Main Menu
- '1' to input more iterations
- '2' to change the weight
1. Auto include neighboring maps - Includes data from surrounding maplets that have been added to the "overlap" list.
If you are building a maplet for the first time, there won't be any overlaps assigned, so this option won't be needed until later.
2. Include existing heights - Use this option most times. You dn't have to use this option if you include an external map.
- This option uses heights from the existing topography as conditioning heights, with the fraction input by the user (typically 1%). Therefore, this option weights data from the current maplet as well, and that way the changes will occur slowly and will remain stable.
3. Include shape vectors - This option is seldom used, perhaps only in the beginning stage of creating the first set of landmarks.
4. Include limb vectors - Constrains the solution by using limb data.
This option prompts you to enter expansion, res/scale limit, d_hgt limit. Entries can be separated by 'Enter', ' ', or ','. "Expansion" is included only for backwards compatibility, "res/scale limit" refers to the resolution of the pictures that it searches for limbs, and "d_hgt limit" refers to the distance away (in number of pixels) it will search for limbs. d_hgt limit is similar to the Enter spacing prompt from Align landmarks (i.e., you need to enter a number between 1 and 5). Typically, use the values 1, 2.5, 3 for these entries.
5. Include external map - You can use an external map, often a big map, to provide seed heights for the slope to heights integration.
- You have to input a map name and a fraction of points just like when using editing heights.
If the input to the "fraction of points" is < 0.0001 then instead of seed heights use slopes directly derived from the external map. Doing so means that you can skip options 1 and 2 and go directly to option 0 integration.
6. Include differential stereo - This option calculates stereo points at random locations on the maplet. Testing has shown that this option is a good way to keep maplets from tilting at the edges.
- After you enter this option, respond to these prompts:
use gradients - enter 'y'
autoheights - enter 'y'
7. Include shadowing - This is still an experimental procedure. It will be tried thoroughly when there's significant shadowing in the images used for the map in question.
8. Fill with shape - This option uses the shape model to fill any "holes" in the maplet, if they exist.
9. Include control points - This option is rarely used. It will use landmarks as seed heights.
Q. Exit - Exit to the Main Menu.
Typical Example
The following sample shows how to use 2. Find heights when starting at the Main Menu.
Sometimes options 6 or 7 (or both) will be removed, but the others are typically present.
2 <- Find heights option 8 <- Fill w/ shape 2 <- Include existing heights .01 <- weighting 1 <- Include overlaps 4 <- Include limbs 1, 2.5, 3 <- inputs for limbs 7 <- Include extended shadowing 6 <- include stereo y <- use gradients y <- use auto heights 0 <- Begin integration .025 <- weighting 30 <- number of iterations 0 <- End iterations
The following sample output begins with the '0' input for Begin integration:
0 0 gc seeds.pgm input weight .025 Enter number of iterations 30 -0.33759 0.34356 -0.34050 0.41873 gc slope.pgm -0.28767 0.27729 -0.25837 0.36825 gc slope.pgm ... -0.22599 0.18857 -0.16774 0.26969 gc slope.pgm -0.22600 0.18859 -0.16777 0.26958 gc slope.pgm 0. end iterations 1. more iterations 2. change weight 0 -8.18594598952327801E-006 Current landmark = EE0001 SCALE = 0.000100 QSZ = 49 Lat/Lon/Rad = -6.800 264.090 0.266 Region = EE gc LMRK_DISPLAY0.pgm gc LMRK_DISPLAY1.pgm check display Main Menu: Q 0123O IUCRSG NVAMBX DEPL FZH?
Additional Reference
1. Auto include neighboring maps
- [From LITHOS.f] - This provides conditioning heights from overlapping maplets. Points on the overlapping maplet are chosen randomly according to a fixed formula that provides more points (up to 5%) if the overlapping maplet is higher resolution than the target maplet, 2.5% if resolutions are the same and dropping to zero at low resolution overlap. The projection is done by the subroutine GET_MAP (see abstract).
3. Include shape vectors
- [From LITHOS.f] - This option provides conditioning heights from the existing shape model, with a fraction set by the user and heights from the subroutine GET_HEIGHTS. Option 3 is almost never used.
4. Include limb vectors
[From LIMB_HEIGHTS.f] - There are three user input search parameters. ZEXP is an expansion parameter that is always set to 1 but is kept for backward compatibility with old scripts. ZRES restricts the image RESOLUTION (in km/px) relative to the maplet SCALE: RESOLUTION < ZRES*SCALE. ZHGT is the maximum allowed difference between predicted limb point height on a maplet and the measured height in units of maplet SCALE.
5. Include external map
- [From LITHOS.f] - This option gets conditioning heights from an externally produced map, with a fraction set by the user and heights from the subroutine GET_MAP (see abstract). If the fraction is set to zero, the option fills missing data areas with slopes from the external map, in much the same way as option 8, but with less granularity. If used in this context, option 5 should always be used before option 8. Note that this option may be used twice, once to provide conditioning heights and once to fill in missing slopes. Option 5 is the natural interface between SPC and other sources of topographic data such as SPG or scanning lidar.
6. Include differential stereo
- After you enter this option, respond to these prompts:
use gradients - enter 'y'
autoheights - enter 'y'
- [From LITHOS.f] - This option determines conditioning heights from differential stereo. Features in a maplet move on trajectories as their heights change, owing to the obliqueness of its appearance in an image. The subroutine STEREO (see abstract) uses differences in these trajectories from image to image to determine conditioning heights.
7. Include shadowing
- [From LITHOS.f] - Occasionally, a template will contain no data because a portion is not illuminated in any image. This option determines the maximum height that such a point can have and still be in shadow according to existing topography and randomly uses such values as conditioning heights. This is still an experimental procedure. It produces craters, for example, with sloped ramps in permanently shadowed areas.
9. Include control points
- [From LITHOS.f] - This option is some paleocode that uses landmark centers as conditioning heights. It is never used.
(Compiled by JRW)