8.17. ASTER

Advanced Spaceborne Thermal Emission and Reflection Radiometer (ASTER) is a Japanese instrument. ASP can process ASTER Level 1A VNIR images. These are acquired with a stereo rig consisting of two cameras, pointing nadir and back. The orbit is sun-synchronous, at an elevation of 705 km. The ground sample distance is 15 meters/pixel.

See a ready-made ASTER example. It has the input images and cameras, ASP outputs, and instructions for how to run it. Also see a workbook with illustrations.

ASP can correct for the jitter in these cameras (Section 16.36.8).

8.17.1. Fetching the data

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.

It is very important that, 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.

ASTER L1B images are also available. These are produced by projecting L1A images onto the WGS84 ellipsoid at zero elevation. ASTER L1B images can be processed with ASP by using the mapprojection workflow (Section 6.1.7). The user should invoke parallel_stereo with the L1B images (already mapprojected), L1A cameras, output prefix, and a DEM with zero height above the WGS84 datum. The results are nearly the same as obtained with L1A images.

8.17.2. Data preparation

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.66) as:

stereo_gui out-Band3N.tif out-Band3B.tif

and ensure that they are of good quality, or else get another dataset.

8.17.3. Stereo with raw images

Run parallel_stereo (Section 16.49):

parallel_stereo -t aster         \
  --stereo-algorithm asp_mgm     \
  --subpixel-mode 9              \
   out-Band3N.tif out-Band3B.tif \
   out-Band3N.xml out-Band3B.xml \
   out_stereo/run

This used the asp_mgm algorithm, which is the most accurate algorithm ASP has. One can also try the option --subpixel-mode 2 which will be much slower but produce better results.

See Section 6 for a discussion about various stereo algorithms and speed-vs-quality choices.

This is followed by DEM creation with point2dem:

point2dem -r earth --stereographic --auto-proj-center \
  out_stereo/run-PC.tif

This will create a DEM named out_stereo/run-DEM.tif using an auto-guessed local stereographic projection with auto-guessed resolution (about 15 m / pixel, the image ground sample distance). See the point2dem documentation in Section 16.54 for more details about how to run this program.

Visualize the DEM with stereo_gui (Section 16.66):

stereo_gui --hillshade out_stereo/run-DEM.tif

8.17.4. Stereo with mapprojected images

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).

# Initial stereo
parallel_stereo -t aster         \
  --stereo-algorithm asp_mgm     \
  --subpixel-mode 9              \
   out-Band3N.tif out-Band3B.tif \
   out-Band3N.xml out-Band3B.xml \
   out_stereo/run

# Create a low-resolution smooth DEM at 200 meters/pixel
point2dem -r earth --stereographic --auto-proj-center \
  --tr 200 out_stereo/run-PC.tif -o out_stereo/run-200m

# Mapproject onto this DEM at 15 meters/pixel
mapproject --tr 15 out_stereo/run-200m-DEM.tif        \
  out-Band3N.tif out-Band3N.xml out-Band3N_proj.tif
mapproject --tr 15 out_stereo/run-200m-DEM.tif        \
  out-Band3B.tif out-Band3B.xml out-Band3B_proj.tif

# Run parallel_stereo with the mapprojected images
parallel_stereo -t aster                  \
  --stereo-algorithm asp_mgm              \
  --subpixel-mode 9                       \
  out-Band3N_proj.tif out-Band3B_proj.tif \
  out-Band3N.xml out-Band3B.xml           \
  out_stereo_proj/run                     \
  out_stereo/run-200m-DEM.tif

# Create the final DEM
point2dem -r earth --stereographic --auto-proj-center \
 out_stereo_proj/run-PC.tif

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).

One could consider mapprojecting at a higher resolution, for example, at 10 meters/pixel.

It is suggested to also create and inspect the intersection error image (Section 16.54). If it is large (comparable to ground sample distance), the cameras should be bundle-adjusted first (Section 16.5).

See Fig. 16.14 for an illustration.

8.17.5. Using the CSM model

An ASTER camera model consists of a sequence of satellite position samples and a set of camera directions (sight vectors, in world coordinates), sampled at about a dozen image rows and columns. Interpolation is used in-between.

ASP can, in addition, fit a CSM linescan model (Section 8.12) on-the-fly to the ASTER model. This has the advantage that instead of a set of directions on a grid, there is one camera orientation at each satellite position sample. These will be used to solve for jitter in ASTER cameras (Section 16.36.8).

This functionality can be turned on with the option --aster-use-csm in stereo, bundle adjustment, mapprojection, and cam_test (Section 16.9). This option is implicitly assumed when solving for jitter, as that tool only works with CSM cameras.

The CSM model is produced by optimizing the optical center, focal length, and camera orientations, to fit best the provided ASTER sight vectors. No ground information is used, or stereo pair knowledge. The satellite positions do not change. This model results in a triangulated surface that is different by an average of 1 m or so vertically from the one obtained with the original cameras, but this is very small given the ground sample distance of 15 meters, and is not noticeable when taking the difference with a prior terrain model.

The cam_test documentation also describes how to compare the existing ASTER and new CSM-based implementations.

The bundle adjustment program (Section 16.5) will optimize and save the produced CSM models (Section 8.12.6), if invoked with this switch. To save the best-fit CSM models with no further refinement, invoke this tool with zero iterations.

The CSM model may be further refined by tying together multiple datasets and using ground constraints (Section 12.2.2).