= How To Build A Landmark = === Objectives === * First we will generate a maplet with the following parameters: * center at -10, 350 (lat,wlon) * scale = .001 km/px * size: Q=49, width=99 x 99 px * name = ‘START5’ ---- === LITHOS: Create New Landmark === * ''' lithos''' * '''c''' - create new landmark name * '''START5''' - landmark name * '''l''' - define landmark control point by specifying a latitude and longitude on the body * '''-10 350''' - lat, lon * '''.001,49''' - enter scale (km/px), qsz === LITHOS: Input the new landmark === Once the landmark is created, you need to "load" it into active memory. You use the [[lithos]] command "i" from its main menu. * '''i''' - input landmark * '''START5''' - landmark name (as previously named) * '''y''' - check for images? * '''0.5''' - fractional width. (This is almost always used) * '''n''' - reject invisibles In a second terminal, review the LMRK_DISPLAY1.pgm image. You can use ImageMagick's "Display" command, Graphics Converter, or if using a Mac, pgm files can be displayed in the Finder or Preview. {{{ cd ls -lt | head display LMRK_DISPLAY1.pgm }}} You can also use the SPC_Tools: landmarks === LITHOS: Eliminate Pictures from Landmark === * '''e''' - eliminate pictures from landmark * '''n''' - auto-eliminate new images only (a for auto-eleiminate) * '''0,50,.6,.6,0,4''' - Input INVLIM,SLIM,CLIM,ILIM,RSMN,RSMX * 0 is typical. If you have objects that are obscuring the maplet, then this becomes important * 50 is the emission angle that we keep * .6 means the image must fill at least 60% of the frame * .6 means the illuminated service must fill at least 60% of the frame * 0 is minimum resolution -- almost always is 0 * 4 is the maximum resolution ratio (how many times bigger are the image pixels than the GSD. 3 or 4 is typical. 6+ is seldom effective) * INVLIM = 1000 * MAX INVISIBLE FRACTION (0-1000) * SLIM = MAX EMISSION ANGLE (0-90) * CLIM = MIN FRACTION OF VISIBLE (0-1) * ILIM = MIN FRACTION IN SHADOW (0-1) * RSMN = MIN IMGSCALE/MAPSCALE (0-inf) * RSMX = MAX IMGSCALE/MAPSCALE (0-inf) =>set according to printout and LMRK_DISPLAY * Most permissible: 1000,90,0,0,0,inf => does not throw any image away * Least permissible: 0,0,1,1,inf,0 => throws all away * display LMRK_DISPLAY1.pgm === LITHOS: Get Heights from Shape and Find Normal, V === * '''m''' - get heights from shape model * '''n''' - find normal * '''2''' - normal from heights * '''m''' - get heights from shape model * '''u''' - update landmark file (save) * '''1''' - save map In 2nd terminal: {{{ cd Bennu ls -lt | head display LMRK_Display1.pgm more LMRKLIST.TXT more LMKFILES/START5.LMK more MAPFILES/START5.MAP showmap START5 }}} Then display the START5.pgm (xv, imageMagick, convert, GraphicConverter) === LITHOS: Align Landmarks in Pictures === || Option 1. Use this when the template you see in LMRK_DISPLAY1.pgm is poor || Option 2 (typical). Use this as much as you can || || '''1''' - align landmarks || '''1''' - align landmarks || || '''3''' - align with picture || '''0''' - align with template || || '''23''' - picture #2 in LMRK_DISPLAY || '''3''' - enter spacing || || '''1''' - enter spacing || '''n''' - new spacing? || || '''y''' - new spacing? Yes b/c it only aligned a few images || '''0''' - continue || || '''2''' - enter spacing || '''y''' - update landmark pixel locations? || || '''y''' - new spacing? Yes b/c it only aligned a few images || '''1''' - align landmarks || || '''3''' - enter spacing || '''0''' - align with template || || '''y''' - new spacing? Yes b/c 3 caused a couple images to shift>10px || '''1''' - enter spacing || || '''2''' - enter spacing || '''n''' - new spacing? || || '''n''' - new spacing? No, lets just use the correlated images first || '''0''' - continue || || '''0''' - continue || '''y''' - update landmark pixel locations? || || '''y''' - update landmark pixel locations? || || || '''1''' - align landmarks || || || '''3''' - align with picture || || || '''1''' - picture #2 from last iteration became picture #1 || || || '''1''' - enter spacing || || || '''n''' - new spacing? || || || '''0''' - continue || || || '''y''' - update landmark pixel locations? || || display LMRK_Display1.pgm === LITHOS: Find Template === * '''u''' - update landmark file (save) * '''1''' - Save map * '''0''' - find template * '''c''' - use correlated * '''.5''' - enter correlation limit * '''0''' - find template * '''0''' - continue * '''44''' - number of iterations display LMRK_Display.pgm === LITHOS: Align Landmarks and Find Template === * '''1''' - align landmarks * '''0''' - auto align * '''1''' - enter spacing * '''y''' - new spacing? * '''2''' - enter spacing * '''n''' - new spacing? * '''0''' - continue * '''y''' - update landmark pixel locations? * '''1''' - align landmarks * '''0''' - auto align * '''1''' - enter spacing * '''n''' - new spacing? * '''0''' - continue * '''y''' - update landmark pixel locations? display LMRK_Display1.pgm * '''0''' - find template * '''c''' - use correlated * '''.5''' - enter correlation limit * '''0''' - find template * '''0''' - continue * '''44''' - number of iterations display LMRK_DISPLAY1.pgm REPEAT ONCE === LITHOS: Solve for Heights === * '''2''' - find heights * '''8''' - fill with shape * '''2''' - include existing heights * '''.01''' - input fraction of points * '''1''' - auto include neighboring maps * '''4''' - include limb vectors * '''1,2.5,3''' - input expansion, res/scale limit, d_hgt limit * '''6''' - include differential stereo * '''y''' - use gradients? * '''y''' - autoheights? * '''0''' - begin iteration * '''.025''' - input weight * '''30''' - enter number of iterations * '''0''' - end iterations display LMRK_DISPLAY1.pgm display slope.pgm === LITHOS: Final Alignment and Save === * '''1''' - align landmarks * '''0''' - auto align * '''1''' - enter spacing * '''n''' - new spacing? * '''0''' - continue * '''y''' - update landmark pixel locations? *# We are skipping V-4 fo