%18/4/89q

%tutor.tex
%introductory tutorial
%\vskip 1cm


\lessons

\centerline{{\bf INTRODUCTORY TUTORIAL:}}

\vskip 0.5cm
\centerline{{\bf THE BILKO IMAGE PROCESSING SOFTWARE}}
%\vskip 1 cm
%\centerline{{\bf Aim of Lesson}}
\aims

To introduce the concept of image analysis and to demonstrate a series of 
operations by which particular features of an image may be brought into 
prominence.

%\centerline{{\bf Specific Objectives}}
\objectives

After completing this lesson, students should have learned:

1)  to load the BILKO software and digital images for analysis;


2)  to select and apply the image analysis and modification routines of the 
BILKO system;

3)  to read the pixel value for a chosen coordinate: to display and 
interpret the histogram of a loaded image: to carry out simple 
modifications of a look up table so as to enhance particular features 
of an image: to select the colours shown in an image: to modify an 
image by selecting particular areas and by applying transformations 
which enhance or diminish gradients; to plot a transect between chosen 
points on an image; to combine images of a single scene, using data 
from one image to select, or otherwise modify, what is shown of 
another;


4)  to call for help files when in doubt about any image handling 
procedure.
\vskip 1cm
\centerline{{\bf Background Information and Notational Conventions}}

BILKO is an image processing system developed for use with worksheets and 
lessons in oceanographic applications of remote sensing.  Its routines may 
be applied to the analysis of any image and include many standard image 
processing functions.  It is not however designed to compete in power, 
speed and versatility with commercial image processing systems: it is a 
low cost toolkit deliberately optimised to help students learn the techniques 
of remote sensing.

To begin, you should familiarise yourself with all of the available 
options and the notation used by following this demonstration.

To run the programs you will require an IBM PC or close compatible, a 
colour monitor, EGA standard graphics capability and a $1.2$Mbyte 
$5{1\over4}^{\prime\prime}$ floppy disc drive.

All the files necessary to run this demonstration will be found on floppy 
disc 1.  If you have copied the files to a hard disc you will find that 
they occupy about 800k of disc space.

In this lesson you are required to deal with file names and to make 
entries on the keyboard of your computer.  So as to be explicit about 
exactly how entries should be made the following typographic convention is 
used throughout this tutorial.

{\bf  Keynames}

The names of keys are spelled out (for example, \key{ESCAPE},  \key{ENTER},  
\key{CONTROL}) and appear in small capital letters.  On your own keyboard the 
key caps may abbreviate the names or represent them a little differently.

{\bf  Direction Keys}

The \key{DIRECTION} keys are the four arrow keys on your computer's 
keypad.  
The name of the individual \key{DIRECTION} key refers to the direction the 
arrow points: the \key{UP} key, the \key{DOWN} key, the \key{RIGHT} key, or the 
\key{LEFT} key.  Pairs of keys are sometimes denoted the \key{VERTICAL} keys 
and the \key{HORIZONTAL} keys.  You use the \key{DIRECTION} keys to move the 
selection, the pointer, or the insertion point on your screen.

{\bf What You Type}

Anything you are required to type verbatim is printed in italic.  For 
example, if you are asked to type a file called \file{MYVUE.LUT}, what you 
actually type is shown in italic: \type{myvue.lut}.  (This filename is shown in 
lowercase letters as it does not matter whether you type the letters in 
capitals or not).


{\bf Menu Choice}

In BILKO most entries are made by choosing an item from a menu.  The 
convention adopted here is that menu items are shown in bold face 
type as, for example, \menu{Display Image} and \menu{Histogram}

\vskip 1cm
\centerline{\bf Startup}

To begin the tutorial you must load and run the control programme.


\Activity  Type \type{unesco}  \key{ENTER}

\item{}Following a credit screen you will find you have access to a screen 
labelled \menu{Main Menu}.

\item{}From this point forward you control the processing of images from within 
the programme.


\endgroup
\eject

\vskip 1cm
\centerline{\bf The BILKO Menus}


{\bf  The Main Menu}

The \menu{Main Menu} is displayed as white text on a blue ground with just 
one of the 16 entries coloured red.  The entries represent options, red 
indicating the one available for immediate selection.  When the \menu{Main 
Menu} is shown just 7 keys are active:

1.  \key{DIRECTION} keys: By using the direction keys, \key{Up},  \key{Down},   
\key{Left},  \key{Right}, the red highlight may be moved at will between the 
menu items.

2.  \key{ENTER}:  Pressing \key{ENTER} selects the option shown in red.

3.  \key{H}:  Pressing \key{H} displays a Help screen relating to the option 
shown in red.

4.  \key{Esc}:  Pressing the escape, \key{Esc}, key exits the programme and 
returns to DOS.

After a selection has been made you may always return to the \menu{Main Menu} 
by pressing the \key{Esc} key.  The same key provides a return path 
from the Help screens.
Note that Help screens provide an extensive on-line facility which is 
available at any time.  The \key{H} key activates a screen which describes 
the option selected and/or the keys currently available for use.  Long 
Help screens may be scrolled using the \key{UP} and \key{DOWN} arrow keys.


\Activity  Familiarise yourself with the menu and keyboard by making some 
selections.  You will find that the \key{HORIZONTAL} keys move the red 
highlight between the columns while the \key{VERTICAL} keys move it up and 
down.  If you press \key{H} you will find abbreviated 
descriptions of the different menu choices.

\item{} Try one or more selections using the \key{Enter} key.  You should find 
that most give error messages or ask you to provide a file name.  This is 
because you have not yet loaded an image.  You should be able to return to the 
Main Menu by using the \key{Esc} key.


\item{}Note that if you chance to use the \key{Esc} key twice, you leave the 
programme and must carry out the startup procedure once again.


\endgroup


{\bf{ Using the Menu Options}}

To make use of the BILKO software it is necessary to provide an image on 
which to perform the available operations.

\Activity  Return to the \menu{Main Menu}.  Select \menu{Load image} and press 
the \key{Enter} key.  A green box will appear asking for a file name.  At this 
point type:

\item{} \type{eire4}    \key{ENTER}


\endgroup

You should now see an \menu{Image Loading} message followed by a return to 
the \menu{Main Menu}.  (If you make a mistake in the filename the programme 
will not be able to find the file.  It will tell you so and let you try 
again).


With the programme running and an image loaded, you can begin to explore 
the capabilities of the BILKO software.  The remainder of this section 
introduces the items of the \menu{Main Menu} one by one.

The items offered in the \menu{Main Menu}  are:
\vskip 7mm
{\bf
\settabs 5\columns
\+&     Load image           &&          Save image\cr
\+&         Load LUT        &&               Save LUT\cr
\+&         Load palette    &&               Save pallete\cr
\+&         Display image   &&               Cursor\cr
\+&         Histogram       &&               Print image\cr
\+&         Modify LUT      &&               Multi image\cr
\+&         Modify image    &&               Transect\cr
\+&         Modify palette  &&               Undefined\cr
}
\vskip1cm
{\bf 1. Load Image}

The \menu{Load Image} option copies an image from disc into RAM and is an 
essential first action.  This is what you did in the Activity above.
When chosen, a green box will appear asking for the file name.  At this 
point any image can be loaded.  The image you used above is that called 
\file{EIRE4}.

(If a mistake is made in the filename, the program will not be able to 
find the file and will tell you so and let you try again).  When the image 
has been loaded into RAM, you are returned to the main menu.  Note that 
this option does not display an image: it loads an image and makes it 
available.


{\bf 2. Display Image}

The \menu{Display image} option allows you to display the currently loaded 
image on the screen.

\Activity Choose \menu{Display image} to display \file{EIRE4.DAT}.  You should 
see a false colour thermal image of north east Ireland and the North Channel 
linking the Atlantic Ocean and Irish Sea.  On the right hand side of the screen 
you will find a thermometer indicating the relative temperatures of 
the displayed colours: black is lowest and white highest.  The displayed 
image will stay on the screen until you press any key to return to the 
\menu{Main Menu}.  Press any key.  Now the \menu{Main Menu} appears.


\endgroup


{\bf 3.  Cursor}

The \menu{Cursor} option allows the image coordinates, pixel value and 
colour 
value of any individual pixel to be displayed.  All images are stored on 
disc in an 8-bit format, so the pixel value for each image co-ordinate 
will lie in the range 0-255.  The relationship of these values to the 
physical measurement will vary according to the type of image being 
displayed.


\Activity  Select the cursor option now.  A yellow cursor appears on the screen 
and details of its position and pixel value are shown at the bottom of the 
screen.  The cursor is initially placed at (x, y) = (171, 85) in 
\file{EIRE4.DAT} and the pixel value at this point is 146.  This corresponds to 
colour 9 in the look up table (LUT) which defines the way in 
which each of the 16 displayable colours are assigned to a range of pixel 
values.  Use the arrow keys to move the cursor around the image.  Toggle 
the \key{CAPS LOCK} key to move in individual pixel steps or in pixel steps 
of 20.  Move the cursor to the top left hand corner of the image, to the 
light green area represented as colour 10.
  Move the cursor around in this 
green section and notice how the colour number does not change but the 
pixel value does.  Now exit from the cursor option: press \key{Esc}.
This last observation leads to the next item of this tutorial.



\endgroup



{\bf 4. Load LUT}

The final point of the last section is important: each colour in an image 
covers a range of pixel values.  Just what colour is used is determined by 
the way in which the look up table, LUT, is mapped onto the pixel values.  
Detail in a particular feature may be brought out by mapping a different 
range or \lq stretch\rq\  of pixel values to different colours.

\Activity Choose the \menu{Load LUT} option and enter the file name 
\file{eire.str}.  Return 
to the Main Menu and choose \menu{Display image}.
Notice how the land areas are now shown in black and that much more detail 
is shown up in the water areas.  Notice how the thermometer showing the 
current LUT has been changed from the default LUT.


\endgroup

\Activity  Restore the original stretch using the \key{Esc} key.  Choose 
\menu{Load LUT} and enter the file name \file{DEFAULT.STR}.  Use \menu{display 
image} to show that the image has returned to its initial condition.


\endgroup

The use of lookup tables is an important aspect of image processing and 
will be treated again under the option \menu{Modify LUT}.  To appreciate 
what 
can be done however it is necessary first to introduce the option called 
\menu{Histogram}.



{\bf 5. Histogram}

The \menu{Histogram} option displays a histogram showing the number, $f(N)$, of 
pixels in the loaded image having a given pixel value versus the set of 
values, 
$N$, a pixel can take.  By using left and right arrow keys, a green line can be 
moved through the histogram, the corresponding frequency of the data 
value in the image being displayed at the bottom. 
 The image statistics 
are displayed at the top of the histogram.  The yellow line on the 
histogram indicates the mean value.  Notice that the histogram of 
\file{EIRE4.DAT} 
is essentially bimodal.  The lower values represent land pixels and higher 
values, water pixels.

\Question{1}  Enter the \menu{Histogram} option and use the left and right 
arrows.

\item{1.1} What pixel value is found most frequently in the lower peak of the 
histogram displayed?

\item{1.2} What is the greatest number of pixels having any single value in the 
histogram displayed?

\endgroup


{\bf 6. Modify LUT}

The \menu{Modify LUT} option contains a sub-menu offering three options:  
\menu{Histogram equalization}, \menu{Linear stretch} and \menu{Manual stretch}.  

As in the \menu{Main Menu} use of the arrow keys changes the option shown in 
red and the \key{ENTER} key selects that option.  All options may be used to 
remap the current LUT to the pixel values.

\menu{Histogram equalization} is an automatic contrast stretch which 
allocates approximately equal areas of the display to each of the 16 
available colours in the image.  This option gives a good overview of the 
image, without revealing small scale image detail.

\Question{2}  Execute the \menu{Histogram equalization} option and look at the 
resulting 
image and thermometer.  How does this stretch compare with \file{EIRE4.STR} 
loaded earlier?

\endgroup

\menu{Linear stretch} allows the user to choose two points between which a 
simple linear stretch is carried out.  The lower point defines the pixel 
value below which all pixel values will be mapped to zero (black) and the 
upper point defines the pixel value above which all pixel values will be 
mapped to 255 (white).  Between these two points, the LUT is mapped 
linearly to the pixel values.

\Activity  Select \menu{Linear stretch}: a histogram will be displayed.  Adjust 
the 
upper limit of the stretch by toggling  \key{CAPSLOCK} to ON and 
holding down left or right arrow keys as appropriate; this will move the 
red, right hand cursor, through the histogram.  To set the lower limit of 
the stretch toggle the \key{CAPSLOCK} key OFF and use the right or left 
arrow keys to move the left, blue, cursor through the histogram.  Press 
\key{ENTER} when you are finished, and reply \type{N} when asked whether you 
want 
to overlay the stretch.  Remember you can press \key{H} at any time to get 
help on what to do.

\item{}View the results of the following stretches:

\item{1}.  Limits at 0 and 60
\item{2}.  Limits at 135 and 175

\endgroup


These stretches show how important it is to use the correct LUT for 
detailed work.  In stretch 1, the land is enhanced while the water is 
saturated: in stretch 2, the reverse is true.


The \menu{Manual stretch} option, allows the user to select at will the 
pixel 
values (or range) to which the colours will be mapped i.e. the user can 
create his/her own LUT.  This option has possibilities beyond the needs of 
this present tutorial.

Notice that the result of exercising choice among the \menu{Modify LUT} 
options is to produce screens of different types. \menu{Histogram 
equalization} produces an image: \menu{Linear stretch} gives a histogram 
with 
controls for selecting limits: and \menu{Manual stretch} shows a histogram 
mapped against the palette colours.

{\bf  7.  Modify palette}

Through the \menu{Modify palette} option you may select the colours used in 
an image.  Note that this is indeed a choice of colour: it does not alter 
the way in which the pixel values are mapped to colours via the LUT.  
Initially a default 16-colour palette is loaded but you are free to change 
this and may choose any 16 colours from an available 64.

The option allows you considerable freedom to choose the colours used in 
images.  It will become clear that a well-organised palette considerably 
enhances your ability to interpret the viewed image.  Together, the 
\menu{Modify LUT} and \menu{Modify palette} options give you complete control 
over how the colours are mapped to pixel values and which colours are used 
in a particular mapping.

In the vocabulary of image processing each of the 16 chosen colours is 
assigned a slot of pixel values, that is, a single chosen colour is 
assigned to each pixel whose value lies between limits defined by the 
LUT.  Colours are assigned numbers with 0 corresponding to black and 255 to 
white.

When you select the \menu{Modify palette} option you see the loaded image, 
and, to the right of the screen, a vertical column with 16 horizontal bands 
of colour.  Below the image there is a box marked \menu{slot} and another 
marked \menu{colour}.

When in the \menu{Modify palette} option use of the vertical arrow keys 
moves 
a marker up and down the coloured column and at the same time raises or 
lowers the number in the slot box.  It is thus possible to identify the 
colour that is assigned to a particular slot.  Use of the horizontal arrow 
keys changes the colour in the marked band of the vertical column and the 
number in the colour box.  It also shows an immediate change in the colour 
of the image.

\Activity 1.  Select the \menu{Modify palette} option and create your own 
palette.  
Watch the changes in the image.

\item{} 2.  Try to form a palette with a sense of progression in it -- the 
spectral 
colours perhaps -- and see if you can identify pattern in the image.

\item{} 3.  Exit to the \menu{Main Menu} and choose \menu{Modify LUT}.  Select 
\menu{Manual stretch}.  You will now see the 16 slots displayed horizontally 
below a histogram.  The bands are of the variable length depending on 
the active LUT.  Now select Histogram Equalization in the Modify LUT 
option and return to Manual stretch: you will see your colours now as 
equal bands.

\endgroup

Note in the above exercises that the Help screen is always available to 
show you a way out of trouble.

\Question{3} Load \file{EIRE4.STR} using the Load LUT option and 
\file{EIRE4.PAL} using the Load 
Palette option.  View the image.  What do you see?

\endgroup

\Activity Complete the exercise by returning to the original colour palette.  
Escape 
back to \menu{Main Menu}: select the \menu{Load Palette} option and load the 
file \file{DEFAULT.PAL}.

\endgroup

{\bf 8. Modify image}

A blue Sub-menu appears when the \menu{Modify image} option is chosen and 
the 
\menu{Main Menu} turns green.  Choices from the sub-menu, as elsewhere, are 
made by moving the red highlight to the required entry and pressing 
\key{Enter}.

As the name suggests, \menu{Modify image} provides options which alter the 
memory resident image.  The options are: \menu{Sub image}, \menu{Smooth}, 
\menu{Gradients} and \menu{Zoom}.

\menu{Sub image} allows a sub image of the loaded image to be taken and 
subsequently treated as the memory resident image, that is, the sub image 
is treated as a new image.  When finished, the sub image created may be 
saved to disc via the \menu{Save image} option.

The \menu{Zoom} option allows any user selectable section of the memory 
resident image to be temporarily magnified.  When the zoomed image 
appears, 
a cursor is also presented so pixel values can be investigated.

The \menu{Smooth} and \menu{Gradient} options act as low and high pass filters 
respectively as the names suggest.  These options operate on the currently 
loaded image.

\Activity Apply the \menu{Gradients} option to \file{EIRE4.DAT}.  Select the 
\menu{Modify 
LUT} option and do a contrast stretch with \menu{Histogram equalization}.  
The boundary between land and water areas is sharpened, as are the 
gradients within the water area itself.  Note, for example, the thermal 
gradients associated with the front lying off the North East Coast of 
Northern Ireland.

\item{} Return to the \menu{Main Menu} and select the \menu{Histogram option}.  
Notice 
how selection of the \menu{Gradients} option has modified the original 
bimodal pattern of the histogram.

\endgroup

\Question{4} Reload the original \file{EIRE4.DAT} and before running 
\menu{Gradients} on 
it, 
apply the \menu{Smooth} option first.  What is the effect of applying 
\menu{Smooth} first?

\endgroup

\eject


{\bf 9. Multi image}

Selection of the \menu{Multi image} option causes a sub-menu to be offered.  
This has four options: \menu{Radiometric masking}, \menu{Two band ratioing}, 
\menu{Scattergram} and \menu{Image arithmetic}.  As in the \menu{Main Menu} use 
of the arrow keys changes the option shown in red and the \key{ENTER} key 
selects that option.

The options of this sub-menu differ from those described earlier in that each 
requires the input of two image filenames.

\menu{Radiometric masking} makes it possible to use a selected pixel range from 
one image to mask out part of a second image.  This option is particularly 
useful when both visible and infrared channels from the same scene are 
available.  In this case the visible image can be used to identify the land/sea 
boundary and the information applied to the thermal image, where the boundary 
may be uncertain.

The programme requires the names of two files  to perform the radiometric mask.  
The first is that of the file defining the mask, the second that of the image 
to be examined.

The mask file is loaded into memory so that its histogram can be computed.  
After the second filename has been entered the histogram is displayed.  Below 
the histogram are shown two boxes which display the range to be masked, from 
zero upwards, and the percentage of the image to be masked.  Having selected 
the most appropriate mask the \key{ENTER} key is selected.  The second image 
file is then read into memory and the mask applied.

On completion, the program returns to the Main Menu.  To view the masked image 
select the \menu{Display image} option.  Examination of the histogram of a 
masked image shows that the masked values are ignored in the statistics and in 
subsequent stretches.

\Activity  Use \file{EIRE2.DAT} as the masking file and \file{EIRE4.DAT} as the 
image file.  Try the value 13 as the entry for the range to be masked.  You 
should see the required masking of land data.  Try some stretches of the data 
to confirm that only unmasked pixels contribute to the image statistics.

\endgroup

The \menu{Two band ratioing} option perfoms a simple ratio on the data sets of 
any two image files.  This means the pixel value on row $i$ and column $j$  of 
the first image, or numerator, is divided by the corresponding value on row $i$ 
and column $j$ of the second image, or demoninator, assuming this second value 
is non-zero.  The range of possible ratios lies between the values $R_{min}$ 
and $R_{max}$ where $R_{min}$  is the ratio of the minimum value in the first 
image divided by the maximum value in the second image, and $R_{max}$ is either 
undefined or is the ratio of the maximum value in image one divided by the 
smallest value in image two.  The upper limit is undefined in cases where the 
minimum value in the second image is zero.

To display the values determined by the ratio option a linear stretch is 
applied to map the ratios onto the range [0,255].  The mapping is established 
by selecting appropriate subranges of values in the numerator and denominator.  
This is done by choosing a box region on the scattergram (see below for an 
explanation of the scattergram) of the two images.  The numeraor lies along the 
x-axis and the denominator along the y-axis.  The two cursors  define the upper 
and lower limits of the mapping.  The top left cursor corresponds to $R_{min}$ 
and is mapped to zero, while the bottom right hand cursor corresponds to 
$R_{max}$ and is mapped to 255.  All ratios outside the range are mapped to 
zero or 255 respectively.  It should be remembered that any two boxes selected 
on the scattergram which have the same area and whose corresponding vertices 
lie on the family of lines $y=x+c$ will generate identical liner maps.

Having selected the most suitable range for the stretch  \key{ENTER}  is 
selected. On completion the program returns to the\menu{ Main Menu}.  The ratio of the 
two images can be viewed by selecting the \menu{Display image} option.

The \menu{Scattergram} option generates a two-dimensional representation of the 
information in any two selected images.  In this the axes take values from zero 
to 255 and correspond to the possible pixel values of each image file.  A point 
on the graph at the position $(x,y)$ indicates that for some single position 
$(a,b)$ in the image files the value $x$ is taken in image 1 and $y$  is taken 
in image 2.  This option allows the user to select a suitable subregion of 
interest for the scattergram.

On completion the scattergram is displayed by pressing either  \key{ENTER}  or 
the spacebar the first image can be reviewed and a new region of interest 
selected.

The \menu{Image arithmetic} option allows the user to perform one of three 
simple arithmetic operations over a selected area of interest based on one of 
the image files.  After entering the filenames of the two images a further 
sub-menu of options appears.  The three options are (\romannumeral1) 
\menu{addition}, (\romannumeral2) \menu{average}, and (\romannumeral3) 
\menu{subtraction}.  Having selected the operation to be performed the first 
image is displayed.

To speed up the process it is possible to select a small subregion of special 
interest by using the two box cursors.  It may be necessary to initialize these 
cursors by pressing \key{ENTER} .  On completion the program returns to the 
Main Menu, where the resultant image can be viewed by selecting the 
\menu{Display image} option.


{\bf 10. Transect}

The \menu{Transect} option allows a transect to be plotted between any two 
points on an image.  This is shown on the screen as a graph of pixel 
values 
versus position along the line between the points.  To define the end 
points of the transect two cursors are used.

Transects may be superposed by pressing the space bar when viewing one 
transect.

\Activity Use the Help screen to guide you through the creation of a transect 
across 
the land/water boundary in \file{EIRE4.DAT}.  Form a second transect across 
the front noted previously.

\endgroup

{\bf 11. Save image, Save LUT, Save palette}

The three \menu{Save} options have common elements which make it useful to 
describe them together.  Each of these options will be used after 
exercising the corresponding \menu{Modify} option and is used to put a record 
on disc of work which has been done on an image.

Save options are used, for example, after you hve changed the look up 
table to suit some particular requirement and wish to retain it for later 
use.  With the new LUT, the one currently active, select \menu{Save LUT}.  
You will then be asked to choose a file name.  Insert a name of up to 8 
characters with an extension of 3 characters.

Within BILKO the convention used is that the file extension for look up 
tables is \file{STR}, for example, \file{DEFAULT.STR} and \file{EIRE4.STR}.  
File 
exensions for images are \file{DAT}, for example \file{EIRE4.DAT}, and for 
palettes are \file{PAL}, for example \file{EIRE4.PAL}.  You do not need to 
use 
these extensions but you are likely to find it helpful if your own file 
names conform to the convention.

\vskip1cm\hrule


The BILKO software was written by R.D.Callison. This Introductory Tutorial was written by R.D.Callison and D.A.Blackburn.

\vskip1cm
{\sl Comments or suggestions relating to this lesson should be sent to:\hfil\break\hfil\break
Mr R.D.Callison\hfil\break
Pharos Scientific Ltd.\hfil\break
Unit \#9, Prospect Business Centre and Technology Park\hfil\break
Dundee, DD2 1TY, United Kingdom\hfil\break
}


\vfill
\eject

\centerline{\bf Answers to Questions --- Section 1}
\vskip 1cm

{\bf Question 1}

1.1       \qquad  34\hfill\break
1.2   \qquad  3668\hfill


{\bf Question 2}

Detail can be seen in land areas but very little remains in sea areas.

{\bf Question 3}

You should now see clearly that the warmer waters are shown in red shades, 
while colder waters are shown in blue shades, and the land has been 
masked out.

(Note that it may be necessary to adjust the contrast and brightness 
controls on your monitor in order that the various shades of colour are 
clearly distinguishable from one another).

{\bf Question 4}

There is a loss of detail.
\vfill
\eject
