8.16. ASTER¶
In this example we will describe how to process ASTER Level 1A VNIR images. A ready-made ASTER example having the input images and cameras, ASP outputs, and instructions for how to run it, can be found at:
A different worked-out example with illustrations:
ASTER satellite images are freely available from:
When visiting that page, select a region on the map, search for
AST_L1A, and choose ASTER L1A Reconstructed Unprocessed Instrument
Data V003
. (The same interface can be used to obtain pre-existing
ASTER DEMs.) If too many results are shown, narrow down the choices by
using a range in time or deselecting unwanted items
manually. Examining the data thumbnails is helpful, to exclude those
with clouds, etc. Then click to download.
There are two important things to keep in mind. First, at the very last step, when finalizing the order options, choose GeoTIFF as the data format, rather than HDF-EOS. This way the images and metadata will come already extracted from the HDF file.
Second, note that ASP cannot process ASTER Level 1B images, as those images lack camera information.
In this example will use the dataset
AST_L1A_00307182000191236_20160404141337_21031
near San Luis
Reservoir in Northern California. This dataset will contain TIFF
images and meta-information as text files. We use the tool
aster2asp to parse it:
aster2asp dataDir -o out
Here, dataDir
is the directory containing the *VNIR*tif
files
produced by unzipping the ASTER dataset (sometimes this creates a new
directory, and sometimes the files are extracted in the current
one).
This command will create 4 files, named:
out-Band3N.tif out-Band3B.tif out-Band3N.xml out-Band3B.xml
We refer again to the tool’s documentation page regarding details of how these files were created.
Open the images in stereo_gui
(Section 16.62) as:
stereo_gui out-Band3N.tif out-Band3B.tif
and ensure that they are of good quality, or else get another dataset.
Next, we run parallel_stereo
(Section 16.45). We can
use either the exact camera model (-t aster
), or its RPC
approximation (-t rpc
). The former is much slower but more
accurate.
parallel_stereo -t aster --subpixel-mode 3 \
out-Band3N.tif out-Band3B.tif \
out-Band3N.xml out-Band3B.xml out_stereo/run
or
parallel_stereo -t rpc --subpixel-mode 3 \
out-Band3N.tif out-Band3B.tif \
out-Band3N.xml out-Band3B.xml out_stereo/run
See Section 6 for a discussion about various stereo
algorithms and speed-vs-quality choices. Particularly,
--stereo-algorithm asp_mgm
should produce more detailed results.
This is followed by DEM creation:
point2dem -r earth --tr 0.0002777 out_stereo/run-PC.tif
The value 0.0002777 is the desired output DEM resolution, specified in degrees. It is approximately 31 meters/pixel, the same as the publicly available ASTER DEM, and about twice the 15 meters/pixel image resolution.
Visualize the DEM with:
stereo_gui --hillshade out_stereo/run-DEM.tif
To improve the results for steep terrain, one may consider doing
stereo as before, followed by mapprojection onto a coarser and
smoother version of the obtained DEM, and then redoing stereo with
mapprojected images (per the suggestions in Section 6.1.7). Using
--subpixel-mode 2
, while much slower, yields the best results. The
flow is as follows:
# Initial stereo
parallel_stereo -t aster --subpixel-mode 3 \
out-Band3N.tif out-Band3B.tif \
out-Band3N.xml out-Band3B.xml out_stereo/run
# Create a coarse and smooth DEM at 300 meters/pixel
point2dem -r earth --tr 0.002695 \
out_stereo/run-PC.tif -o out_stereo/run-300m
# Mapproject onto this DEM at 10 meters/pixel
mapproject --tr 0.0000898 out_stereo/run-300m-DEM.tif \
out-Band3N.tif out-Band3N.xml out-Band3N_proj.tif
mapproject --tr 0.0000898 out_stereo/run-300m-DEM.tif \
out-Band3B.tif out-Band3B.xml out-Band3B_proj.tif
# Run parallel_stereo with the mapprojected images
# and subpixel-mode 2
parallel_stereo -t aster --subpixel-mode 2 \
out-Band3N_proj.tif out-Band3B_proj.tif \
out-Band3N.xml out-Band3B.xml out_stereo_proj/run \
out_stereo/run-300m-DEM.tif
# Create the final DEM
point2dem -r earth --tr 0.0002777 out_stereo_proj/run-PC.tif
Also consider using --stereo-algorithm asp_mgm
as mentioned earlier.
Here we could have again used -t rpc
instead of -t aster
.
It is very important to use the same resolution (option --tr
) for
both images when mapprojecting. That helps making the resulting images
more similar and reduces the processing time
(Section 6.1.7.3). The mapprojection resolution was 0.0000898,
which is about 10 meters/pixel.
It is possible to increase the resolution of the final DEM slightly by instead mapprojecting at 7 meters/pixel, hence using:
--tr .00006288
or smaller correlation and subpixel-refinement kernels, that is:
--corr-kernel 15 15 --subpixel-kernel 25 25
instead of the defaults (21 21 and 35 35) but this comes with increased noise as well, and using a finer resolution results in longer run-time.
We also tried to first bundle-adjust the cameras, using ASP’s
bundle_adjust
. We did not notice a noticeable improvement in
results.