This Tutorial was written by Any corrections, additions shall be sent to this adress for inclusion in an updated version. Version: 2002070901

This Tutorial describes the basic interaction between the stereo package written by Paul Sheer (formerly reachable at which is available at metalab mirrors at /pub/Linux/apps/math and as well as the free (GPL) GIS GRASS available via

Here is a list of tools necessary/useful in conjunction with both tools:
1. A image manipulation program like GIMP, XV will do for the moment as well

1. Working Installation of stereo (a daunting task given that the software is unmaintained since October 1997)
2. Working Installation of GRASS (5.x pre or later)
3. digitized Photographs / WebImages / Videosnapshots / Satellite Imagery / non-Orthophotos / Postcards / and even drawings and maps taken from as many as possible positions with as high as possible resolution as possible.

The images are being prepared for inclusion into stereo using image processing software (uncompressed tiff / targa with as much as possible contrast and sharp edges)
Some WKP (well-known positions are crossreferenced in as many as possible different images)
e.g. WKPs include mountain peaks, buildings (Sears tower for example) and other obvious landmarks with known relative/absolute coordinates (like: this tree root is 5 m N / 16 m E / 12 m above point gamma with point gamma being some other WKP)

A pretty coarse example is shown below:

This is a basic example based on the pictures a.tiff and b.tiff along with the calibration file cal.txt.
The red arrows show the position of the calibration points A, ..., while the green ones depict the positions of interest (POI) to be deduced from the pictures.
(Yes this are garden pictures and no the accuracy was well within 5% which is absolutely ok for the purpose of demonstration)

Load both pictures as well as cal.txt in stereo and mark the calibration points in both pictures using the clever mag glass function provided.
You may also use the Save Desktop feature of stereo to save your current session (due to current the inherent instability of stereo recommended, already being worked on btw)
Now you may triangulate single points using the corresponding Triangulate Point button within stereo.
You may also triangulate multiple points with corresponding Triangulate Multiple Points button within stereo.
Use ALT-R to render the image and see the 3D result

The results may be saved to a ascii-file containing relative positions. Depending on the further usage of the datapoints you may generate a DEM by using the GRASS tools pipeline:
Warning: Be sure to use the correct region using g.region!
e.g.: > fs=tab sites=sites.in_grass input=sites.from_stereo
2. as well as
e.g: > in=sites.in_grass out=simple.dem
3. display using d.rast as usual

Please keep in mind:
Keep out all buildings from DEMs if at all possible as buildings tend to interrupt landscapes heavily
(Use a separate building elevation map at higher spatial resolution to be merged with the DEM using r.mapcalc for that purpose. It makes your data more granular and opens way to fields like city wind calculation and the like without all to much trouble.)