lithos

Aligns maplets to the current shape model and will provide slight changes to the shape (stored in MAPFILES).

Lithos is the key for SPC. It works on a single landmark, which defined the associated maplet. This landmark must be created (i.e. fully defined) and all the images it includes must be shifted so that everything is aligned. Once those are done, you can calculate the topography which includes identifying other maps that overlap, creating a template, and then solving the whole system.

The output from make_script(P) is used as input to Lithos and LithosP for batch processing. The mark_script program will create a script for each landmark that you will process, which is taken as input (e.g. lithos < LAND01.IIN > LAND01.OOT)

Build a template

Option 0

Align images

Option 1

Calculate topography

Option 2

Housekeeping functions

Option c - create a landmark

Option i - "input" a landmark.

Basically, load and start using the landmark.

Option e - eliminate

- Good values to use, "0 40

0.2

0.2

0

2"

- Based on:

Input INVLIM, SLIM, CLIM, ILIM, RSMN, RSMX

Fraction of the landmark that is obscured by other objects (ex. If a large boulder is in the way)

1000 * max invisible fraction (0-1000).

Suggested: 0

0 keeps everything

Emission Angle: Eliminate the image if above the entered value (user range: 0-90)

Suggested: 40-60, eliminate images with big emissions angles.

90 keeps everything

How much of the maplet is visible: Eliminate the image if below the entered value (user range: 0-1.0).

Suggested: 0.2, the image must only contain 20% of the maplet.

0 keeps everything

How much of maplet is in shadows: Eliminate the image if below the entered value (user range: 0-1.0).

Suggested: 0.2, the image cannot have more than 20% in shadow.

0 keeps everything

Minimum ratio of the image to maplet, eliminate the image if less than the entered value (user range: 0 to inf).

Suggested: 0, accept the highest resolution images you can.

0 keeps everything

Maximum ratio of the image to maplet, eliminate the image if greater than the entered value (user range: 0 to inf).

Suggested: 2, reject images with less than twice the resolution of your maplet.

999999 keeps everything

Input - optional file

aaa.INN - a script that sends batch commands

Input - stdin

Basic steps

Create a landmark, "C"

Input a landmark (really that is selecting it for use), "I"

Creating a template (the virtual idea of the topography and albedo based on the maplets), 0, 0, 40

Aligning the maplets (0 for auto, 1 for manual, 2 for move all maplets, 3 to align to a specific maplet)

Update and save, "U 1"

Output

aaa.OOT

landmark and map files

LMRK_DISPLAY0.pgm

LMRK_DISPLAY1.pgm

-- stretched version

slopeb.pgm - shows slope both in x and y

PowerPoint Notes

Description

Creates landmark files, determines landmark topography (MAPFILE), and locates landmark center in images

Inputs

INIT_LITHOS.TXT

SUMFILESR

SPC IMG

NOMINALS

SPICE

MAPLETSL

Outputs

SUMFILESL

LMKFILESL

MAPLETSL

LMRKLIST.TXT

Process Overview

Maplet Definition

3D topography & relative albedo model of a portion of the surface

Control vector V from body center to origin of local coordinate system

Local coordinate system axes ui(i=1, 3) with u3 normal to the local surface

2-D grid, typically 99x99 pixels with positions x=(x1, x2) relative to origin

Local heights h(x1, x2) and relative albedos a(x1, x2) at each grid point

Camera coordinate system ci(i=1, 3) and S/C position W

Maplet control point not tied to a specific surface feature

Maplet pixel scale not tied to specific image resolution

Specifying a Maplet

Maplets specified by selecting control point based on

(1) pixel, line position of a given image

(2) Lat/Lon

(3) Relative to local coordinates

(x1, x2) of existing nearby maplet

Setting scale (km/pix),

#pixels/row

(1) => (p, l) mapped onto surface, control vector V determined by bi-linear interpolation from heights of nearest 4 vectors of a-priori topography. Same with (2), (3)

Construct local tangent plane and set u3 normal to local surface

Interpolate heights from a-priori topography to maplet pixels => h(x1,x2)

Picture Description

Left: empty placeholder maplet wrt which we select maplet centers

Right: Control point distribution on Enceladus based on Lat/Lon

Extracting Image Data

Automatically find all images that contain area of given maplet, whole or in part, based on the a-priori geometry

Automatically filter candidate images based on number of criteria such as;

Resolution ratio between maplet/image scale (typically 1/3 - x3)

Range of off-nadir view angles at maplet center (typically up to 60 )

Brightness threshold of portion of image extract

Any number of images (3 - few hundreds) used

Maplet pixels projected in focal plane and image brightness resampled on maplet pixels via bilinear interpolation

Dark & invisible pixels are ignored & pixel brightness rescaled

Extracting Image Data With No A-Priori Topo Information

Zero initial albedo

Flat slopes from smooth sphere a-priori shape

Predicted brightness is a near uniform value across template

Extracting Image Data With A-Priori Topo Information

Resampled images at 175 m/pix projected on existing low-res topography at 500 m/pix

Predicted brightness is derived from that low resolution topography

Menu Description

Be aware that bold characters are inputs, boxed characters are code output, and normal text is description. Some of the descriptions are in the code, but are not boxed in this wiki

LANDMARK/MAPLET CONSTRUCTION

0 . Find template

1 . Align landmarks

2 . Find heights

O . Attach map to maps or limbs

LANDMARK/MAPLET I/O AND CREATION

I . Input landmark

Input 6 character name

U . Update landmark files

C . Create new landmark

Input 6 character landmark name

R . Replicate or Rename landmark

Input 6 character old landmark name

Input 6 character new landmark name

Delete old landmark? (y/n)

S . Change scale, qsz or orientation

G . Turn on rename

ADJUST INPUT DATA AND NOMINALS

N . Find normal

Normal from radius vector

Normal from heights

Normal from shape

Normal from stereo

V . Find V, Z or PTG

V from Z and pointing

Z from V and pointing

PTG/SCOBJ from Z and V (selected image)

PTG/SCOBJ from Z and V (current images)

A . Reset albedo or slopes

M . Get heights from shape model

B . Get heights from surrounding map

List possibilities? (y/n)

if y

CP0002 0.0500 1.0000CQ0004 0.0500 1.0000CQ0008 0.0250 1.0000CQ0009 0.0250 0.9822CQ0017 0.0120 0.9153DP0002 0.0500 0.8923...... ...... ......

Input a 6-character name.

0 to cancel

X . Turn on/off extract filter. Tol = 0.050

DELETE, ELIMINATE OR IGNORE FILES

D . Delete or Disconnect landmark

E . Eliminate pictures from landmark

c . Continue

a . Auto remove

n . Auto remove (new pictures)

m . Manual remove

p . Check peripheral visibility

o . Remove no-correlation pix

t . Auto change topo flag

For a , n , & t Input INVLIM, SLIM, CLIM, RSMN, RSMX

P . Picture status

Tuck or untuck

Toss

L . Turn off picture restriction

INFORMATION AND DISPLAY

F . Find maplets containing surface point

Z . Use zoom display

H . Hide screen output

Example of Finding a Tempalte

../LITHOSPHERE/LITHOS

i

CQ0082 - input landmark

n - no new pictures (auto)

n - no new pictures (manual

x - turn on extract filter

.025 - filter setting

0 - find template

CQ0082Lat = 34.721Lon = 30.609Rad = 7.830 k chi lambda phi res 1 0.982 1.657 0.000 0.013 2 0.980 1.758 0.020 0.013 3 0.978 1.894 0.000 0.013 . . . 19 0.975 1.566 0.000 0.013 20 0.890 0.564 0.388 0.011 21 0.967 1.200 0.106 0.006 22 0.974 1.467 0.039 0.006 Picture to toggle a use all b use registered c use correlated 0 end/continue q Quit

a use all pics (find template will then be repeated)

0 find template

CQ0082Lat = 34.721Lon = 30.609Rad = 7.830 1 0.982 1.657 0.000 0.013 2 0.980 1.758 0.020 0.013 3 0.978 1.894 0.000 0.013 . . . 19 0.975 1.566 0.000 0.013 20 0.890 0.564 0.388 0.011 21 0.967 1.200 0.106 0.006 22 0.974 1.467 0.039 0.006 Picture to toggle a use all b use registered c use correlated 0 end/continue q Quit

0 - find template

40 - entering number of iterations

rms brightness residual = 0.0263363486 rms brightness residual = 0.025349268 rms brightness residual = 0.0248495566 rms brightness residual = 0.0245736285 rms brightness residual = 0.0244101752 . . . rms brightness residual = 0.0237731646 rms brightness residual = 0.0237679522 rms brightness residual = 0.0237629545 rms brightness residual = 0.0237581461 rms brightness residual = 0.023753511slope sigma = 0.20933789259641114 -0.13586 0.16231 -0.42437 0.16636 -0.21634 0.21424 gc tmpl.pgm

(slope sigma above is not correct for example landmark)

gc LMRK_DISPLAY1.pgm

z (zoom display)

gc LMRK_DISPLAY1.pgm

Useful when hundreds of images are displayed

We have used the brightness variations in 22 pictures at varying geometries and illuminations to solve for a “template”.

This is a slope/albedo map of the landmark.

This only works if the landmarks are roughly aligned (Option 1) and the map normal (Option N) is roughly correct and the pointings and s/c positions (see REGISTER) are roughly correct.

Example of Aligning Landmarks

1 - aligning landmarks

0. Auto align 1. Individual shift 2. Global shift 3. Align with picture 4. Align with gradient

0 - auto align

1 - value selected for spacing (larger values do a dumber correlation over a wider range)

1 M0130996017 -0.001 0.006 0.983 +++++ 2 M0130996102 0.013 -0.008 0.980 +++++ 3 M0130996187 0.012 0.003 0.979 +++++ 4 M0131278391 -0.052 -0.011 0.972 +++++ 5 M0131278655 0.010 -0.005 0.979 +++++ 6 M0131278919 0.006 0.004 0.977 +++++ 7 M0131279183 0.002 0.001 0.983 +++++ 8 M0131279711 0.014 -0.011 0.977 +++++ 9 M0132106609 -0.002 0.003 0.944 +++++ 10 M0132106706 0.007 0.045 0.896 +++++ 11 M0132225961 0.012 0.003 0.960 +++++ 12 M0134213600 0.012 0.014 0.952 +++++ 13 M0135729214 -0.001 0.000 0.983 +++++ 14 M0135844895 0.029 -0.002 0.934 +++++ 15 M0135844957 0.006 0.011 0.960 +++++ 16 M0137457715 0.020 0.009 0.979 +++++ 17 M0138840893 -0.002 0.005 0.979 +++++ 18 M0140968493 0.004 0.008 0.981 +++++ 19 M0143092151 -0.006 -0.003 0.976 +++++ 20 M0132106900 0.000 0.007 0.890 +++++ 21 M0138580606 0.010 0.012 0.967 +++++ 22 M0138580916 0.004 -0.003 0.974 +++++

n - new spacing? (y/n)

0. continue. 1. halve shifts. 2. quarter shifts.

0 - continue

y - update landmark pixel locations? (y/n)

1 - (Don't know what this does)

0. Auto align 1. Individual shift 2. Global shift 3. Align with picture 4. Align with gradient

If 1 (Individual shift) selected

1 - individual shift

5 - picture to move landmark in. 0 to quit.

2,6 - input shift of windowin pixels

0 - picture to move landmark in. 0 to quit. (window shift)

If 2 (Global shift) selected

2 - global shift

2,6 - input shift of window in pixels

If 3 (Align with picture) or 4 (align with gradient) selected

3 or 4

4 - entered key picture (0 for auto)

1 - value entered for spacing

“3. Align with picture” is like auto align except that it uses imaging data instead of the template.

“4. Align with gradient” is like auto align except that it uses the gradients normal to the sun direction instead of the template.

Note that the key picture gets moved to the first position.

Note that all pictures except the key pictures have their topo flags set to *.

To turn them back you’ll need to type a “0” followed by a “a” from the main menu.

Note that we move the window around the image data and not the data itself

We prefer to use 99x99 pixel landmarks (qsz=49).

Because there is a single black pixel between displays, common points should always be at the same location, modulo 100.

Example of Finding Heights

2 - finding heights

TOOLS 0. Begin integration 1. Auto include neighboring maps 2. Include existing heights 3. Include shape vectors 4. Include limb vectors 6. Include differential stereo 7. Include shadowing 8. Fill with shape 9. Restart Q. Exit

2 - include existing heights

0.001 - include fraction of points

8 - fill with shape

1 - auto include neighboring maps

4 - include limb vectors

1,2.5,3 - input expansion, res/scale limit, d_hgt limit

0 - begin integration

.025 - inputted weight

30 - entered number of iterations

gc slope.pgm

If

this display has “pimples” it means that some constraining heights are out to lunch.

Change the weight (2) to a smaller value like 0.01 and do more iterations (1).

0. end iterations 1. more iterations 2. change weight

0 - end iterations

We have integrated the slopes we got in Option “0” to produce a height map.

The integration is conditioned by existing heights from the previous distribution (2), overlapping maps (1), limbs (4).

We can also get heights from the shape model (3) and from differential stereo (6).

The latter is used at the very beginning when there are no other options.

We have not saved our new map yet.

To do that type “u” from the main menu and then “1” .

The other u option “0” just saves the .LMK file and removes the .MAP file.

Example of Attaching Map to Maps or Limbs

o

RECENT (=CQ0082) - input 6-character landmark name

y - Reset?(y/n)

1. Automatic 2. Manual 3. Limbs 4. Detach from limb or landmark

If 2 (Manual) is selected:

Overlapping maps:CQ0017 0.0120CQ0046 0.0060CQ0049 0.0060CQ0077 0.0060CQ0080 0.0060CQ0081 0.0060

CQ0046 - entering name of overlapping map. (0 to end)

gc tmpl.pgm

0. laplacian correlation. 1. albedo correlation 2. gradient correlation

0 - laplacian correlation

0.0521 0.0998 0.9254 0.9977

y - iterate offset?(y/n)

y - ?

y - ?

n - ?

y - save result?(y/n)

y - reciprocate (correlation I think)?(y/n)

o

RECENT - inputted 6-character landmark name

y - reset? (y/n)

1. Automatic 2. Manual 3. Limbs 4. Detach from limb or landmark

1 - Automatic

CQ0017 -0.1161 0.2823 0.6792 0.9825 0.0211 -0.0060 0.6810 0.9819 0.0010 0.0024 0.6811 0.9819 0.0003 0.0000 0.6811 0.9819 -0.0937 0.2787 -0.3610CQOO82 0.1085 -0.1120 0.9092 0.9974 0.0073 -0.0067 0.9141 0.9974 0.0006 -0.0009 0.9141 0.9974 0.0000 -0.0001 0.9141 0.9974 0.1164 -0.1197 0.1653

o

RECENT - inputted 6-character landmark name

n - reset? (y/n)

1. Automatic 2. Manual 3. Limbs 4. Detach from limb or landmark

3 Limbs

y - clear? (y/n)

1,5,3 - input expansion, res/scale limit, d_hgt limit

M0126110079 286.05 103.29 0.02 33M0126606842 461.07 199.50 0.05 19M0127878280 47.32 188.06 0.05 26M0128123031 263.28 105.08 0.03 62M0128124639 160.01 81.49 0.01 11M0128164602 420.62 167.69 0.02 12

o

CQ0082 - inputted 6-character landmark name

n - reset? (y/n)

1. Automatic 2. Manual 3. Limbs 4. Detach from limb or landmark

4 - Detach from limb or landmark

CQ0046 - entered 6-character image (12-character works too). 0 to end.

0 - entered 6-character image (12-character works too). 0 to end.

We have now determined the location of landmark CQ0082 relative to overlapping landmarks and limbs of some images, in addition to its location on the body in other images.

Note the use of

“RECENT” as an input.

Slope and albedo estimation

CategoryPrograms