The geology.at feature Prolog primitive (Appendix 1) can
access raster data which represents a geological map.
The pixel values returned by this primitive correspond to
different geological units. The geological_unit fact acts as
a key linking this unit number with a high level description
of the geology e.g.
geological_unit(11, ‘permanent ice’).
geological_unit(51, knobby hummocky terrain’).
There are also some facts which are not directly usable
by the predicates in MIS, but which have been included so
that various constants and physical values for Mars can
be looked up without consulting a textbook e.g.
atmosphere (‘carbon dioxide’, 95.32, percent,carr).
When performing stereo matching using images selected
by MIS, a record is kept of all the images which produced
successful and unsuccessful stereo matches. This infor-
mation is stored in example_stereo_pair facts so that future
searches for stereo pairs could avoid unnecessary calcu-
lation e.g.
example.stereo.pair('635A83', '603A41', good).
example.stereo pair('323S41', '639A92', bad).
It is often necessary to find images which illustrate a par-
ticular type of feature. Descriptions of all the Viking Or-
biter images are not generally available in digital form, al-
though catalogues of images containing clouds (Jansma,
1992) and image clarity (Bolef et al, 1982) do exist. To
solve this problem, two sources of example descriptive
information can be used and entered as lists in Prolog
facts. The first source is from photographic illustrations
and captions contained in geological books and papers
about Mars. The second source is from visual interpreta-
tion of images which are recorded whenever members of
the EXODUS project view an image in the course of their
work. A reference key, indicating the source of the in-
formation is included with these facts. Some of the words
used in the image descriptions may be unfamiliar to users,
therefore "dictionary" facts are included where explana-
tions are needed. A third potential source might be image
understanding routines which scan images or DEMs for
particular features.
example jmage('041A11', [volcano, caldera, 'orographic
clouds, carr).
example jmage('437S03' [| boomerang shaped structures!
cook).
dictionary('orographic clouds', 'clouds formed during uplift
of air over large scale features).
Books and scientific papers are also a useful source of
facts about estimated crater retention age of features
on Mars. In the example below, the typical, minimum,
and maximum estimated ages (thousand million years) of
Olympus Mons are given (Carr, 1981).
example-crater-age(’Olympus Mons’, 0.1, 0.1, 0.3, billion
years’, carr).
Finally, some of the Prolog predicates to be discussed
790
in section 3.1, on stereo image pair selection, rely upon
constant values or limits. These can be expressed as
“rule” facts. In the examples below, which refer to the
selection of stereo image pairs, the first argument acts as
a rule identifier. The second argument is acted upon by
the predicate using this fact. The final argument is used
either as a comment statement or as a unit specifier e.g.
rule('maximum stereo precision value’, 1000, metres).
rule('maximum difference in solar altitude’, 5, degrees).
rule(’'maximum difference in solar azimuth’, 45, degrees).
rule(’'maximum stereo illumination difference’, 10, x10).
rule(’'maximum stereo IFOV’, 650, metres).
rule(’'minimum overlap proportion’, 0.05, fraction).
These particular values were tightly chosen so as to im-
prove the chances of the selected image pairs matching,
and a height precision of better than 1km. Such tight cri-
teria may result in a smaller number of stereo pairs be-
ing selected and consequently poor spatial coverage (See
Figure 1). To improve spatial coverage, "rule" fact values
can be relaxed, however this is usually at the expense
of the proportion of the images which can be matched or
with a lower height precision.
2.3 Prolog predicates
Prolog predicates are assertions of facts or rules, which
may be expressed in terms of other predicates (Clocksin
and Mellish, 1981). This is illustrated in the moder-
ate_size_feature predicate described below:
moderate.size feature(Name):—
feature_size(Name, Size),
between(10, Size, 50).
feature_size(Name, Size):—
feature(Name, Lon, Lat, Size).
feature_size(Name, Size):—
feature(Name, Lat1,Lat2,Lon1,Lon2, Size).
The purpose of this predicate is to determine whether a
cartographic feature can be given an arbitrary class of
“moderate-size”. A feature is defined as “moderate” if it
is between 10 and 50km in diameter or length. A second
predicate, feature_size is used to return the size of a fea-
ture. This is necessary because there are two classes of
feature, circular and areal/linear, and the latter has lon-
gitude and latitude ranges. A selection of some of the
standard predicates used by MIS is given in Appendix 2.
3. APPLICATIONS
3.1 Selection of stereo pairs
Experiments undertaken during the EXODUS project have
shown that the selection of candidate stereo image pairs,
solely based upon image overlaps and having a suffi-
ciently good base to height ratio, does not necessarily
guarantee that they will successfully automatically stereo
match. Early results suggested that even though the
stereo matcher uses radiometric normalization, the BRDF
of the surface changes the appearance of features dra-
matically (Muller et al, 1992). Other factors include
pr
gh
lis