You are on page 1of 3

SAR Images Co-registration Parallel Implementation

A. Giancaspro1, L. Candela3, E. Lopinto3, V. A. Lorè2, G. Milillo3

1
Telespazio - Localita’ Terlecchia – 75100 Matera - Italy
2
Consorzio Innova – Recinto II Fiorentini – 75100 Matera - Italy
3
Agenzia Spaziale Italiana – Centro di Geodesia Spaziale - 75100 Matera – Italy

Abstract-Image co-registration is basilar for interferometry Coarse Selection, to refine the GCPs using cross-
SAR remote sensing applications. This paper describes a correlation among image cells centered on the GCPs
parallel implementation based on the Farm skeleton using identified by the Very Coarse GCPs Selection;
the MPI library for the co-registration module of SAR
Toolbox software. Fine Selection, for complex SAR images only, to
further refine the GCPs using coherence
I. INTRODUCTION maximization among image cells centered on the
GCPs identified by the Coarse Selection.
Image co-registration is basilar for interferometry
SAR remote sensing applications both conventional, like
digital elevation model generation, and differential, like
subsidence analysis. Image co-registration algorithm is a Very Coarse

very time-consuming operation, so well suited to parallel


programming techniques.
Coarse
Telespazio is the prime-contractor of ASI-PQE2000,
an Italian Space Agency research project aiming at
experimenting Earth Observation Applications in High
Performance Computing (HPC) for testing the ASSIST Complex Y
environment [2, 3]. Image

In the framework of this project, Telespazio, in N


cooperation with Consorzio Innova, has selected the SAR Fine

Toolbox co-registration tool for the implementation in


HPC environment. SAR Toolbox is a European Space
Agency project (http://earth.esa.int/services/stbx/)
developed by Telespazio. Fig. 1 – GCP Selection steps

II. THE CO-REGISTRATION TOOL


The SAR Toolbox co-registration tool is capable of B. Warp Function Evaluation
generating, starting from one master SAR image and one
or more slave(s) SAR images, the co-registered ones Warp function is computed using the GCPs
such that each relative image pixel is referred to the same coordinates generated by the GCP Selection in the image
point of the earth. coordinates reference system of the master and slave(s)
images.
The SAR Toolbox co-registration algorithm is made
up of three main steps: C. Image Interpolation
Ground Control Point (GCP) selection The last step in the co-registration process is the
Warp function evaluation interpolation of the slave(s) image pixels on the master
Image Interpolation image pixels. Different interpolation function can be
selected such as nearest neighbor, bilinear, cubic
A. Ground Control Point Selection convolution, sync and constant shift. The image
interpolation is computed on blocks of the slave(s)
The GCP selection (see Fig. 1) is organized as three
images.
main functions:
Very Coarse Selection, to give an initial estimation
of the GCPs;

0-7803-7536-X/$17.00 (C) 2002 IEEE 1337

Authorized licensed use limited to: M Th Koelen. Downloaded on June 9, 2009 at 13:56 from IEEE Xplore. Restrictions apply.
III. PARALLEL IMPLEMENTATION
A well-tested general strategy for parallel Worker #1
implementation is the use of composition of stream
parallel skeletons, such as Pipeline, Loop and Farm
models [1], in order to reduce the application to a Worker #2
composition of sequential portion of codes or,
recursively, skeletons.
Emitter Collector
...
Our parallel implementation is based on the Message
Passing Interface (MPI), a library of routines realizing
processes communications via commonly available
operating system services calls.
Worker #N
MPI realizes the Single Program Multiple Data
(SPMD) programming paradigm, that is the same
program is run into several instances, which can
communicate one with the other using the MPI library Fig. 2 - A graphic representation of Farm skeleton
functions. Message Passing is obtained with a
communication context, where running processes
dynamically receive a rank. This identifier is used for The number of Workers strongly depends on theirs
explicitly send and receive message (i.e. a packet of execution time and on the arrival and scheduling times
data). The number of concurrently running processes has [3].
to be determined before of its execution. If one of this
processes fails, the whole system becomes not stable. A general Farm skeleton has been implemented using
MPI libraries. Obtained Farm skeleton has been
We have been focused on MPI implementation of the specialized both to GCP Selection and to Image
Farm parallel skeletons. Interpolation co-registration algorithm steps.
Farm template is made up of three fundamental steps:
A. GCP Selection Parallel Implementation
Initialization also known as Emitter
The parallel implementation designed for this step is
Computation also known as Worker
a Farm skeleton. There is an initial latency time used to
Termination also known as Collector compute the GCPs coordinate values from the Very
These processes run concurrently communicating Coarse selection and to read master and slave(s) images
data (see Fig. 2). The Emitter process prepares data and cells from disk.
passes it to one of the running Worker processes. These
The Emitter process prepares a task packet containing
compute data and pass it to the Collector process.
master and slave image cells and GCPs coordinate values
The Emitter initializes all data structures to be used for transmitting these data to the requesting Worker.
during the computation and loops delivering task packets
The Worker process computes both Coarse Selection
to Workers, according to an on-demand strategy. When
and, for complex SAR images only, Fine Selection and
no more packets can be generated, a number of empty
sends the updated GCPs coordinate values to the
task packets, depending on the number of Worker
Collector process.
currently running, are sent.
The Collector process simply collects GCPs values
The Worker asks to the Emitter process for a task
and stores them onto disk for subsequent processing.
packet to be computed, receives the packet and executes
the computation until the Emitter process sends an empty
B. Image Interpolation Parallel Implementation
task packet. The result of the computation or a
termination message, when an empty task packed is The parallel implementation for this step is built on a
received, is sent to the Collector process. Farm skeleton. There is an initial latency time used to
compute the Warp function on GCPs coordinate values
The Collector process receives and collects result of
and read slave(s) image cells from disk.
computation until a termination message is received from
all the running Workers. The Emitter process prepares a task packet,
containing the slave image cell, and transmit these data to
the requesting Worker.
The Worker process computes the interpolation,
using the Warp function previously computed, on the

1338

Authorized licensed use limited to: M Th Koelen. Downloaded on June 9, 2009 at 13:56 from IEEE Xplore. Restrictions apply.
received slave image cell and sends the updated image Monographs in Parallel and Distributed Computing.
to the Collector process. Pitman, 1989.
The Collector process receives the updated image [2] M. Vanneschi: "PQE2000 HPC tools for industrial
cells and performs slave(s) image reconstruction. Applications". IEEE Concurrency, (4): 68-73, 1998.
[3] M. Vanneschi: “Programma ASI-PQE2000:
IV. TEST Metodologie per la Programmazione Parallela e
ASSIST”. Seminario c/o IESI-CNR (Bari), 13 giugno
The software system has been tested on two PIII
2001.
500Mhz bi-processor Windows NT workstation nodes
connected via a 100Mbits Hub switch and running
MpiCH Windows implementation of MPI library. A node
has been devoted to run both the Emitter and the
Collector processes of the GCP Selection, first, and of
the Image Interpolation implemented Farm skeletons;
this node has been, so, mainly dedicated to I/O from and
onto disk (master and slave image cell formation,
interpolated slave image cell re-writing) and
communication (via TCP/IP with Worker processes, as
Emitter and Collector processes do not communicate).
The other node has been used for running several
instances of the Worker process of GCP Selection, first,
and Image Interpolation, so using communication (via
TCP/IP with Emitter and Collector processes, as Worker
processes do not communicate) and CPU computation
(Coarse Selection and Fine Selection functions and
Image Interpolation).
Significant reduction in the computation time has
been measured with respect to the sequential
implementation.

V. CONCLUSION
A parallel implementation for the Co-registration tool
of SAR Toolbox has been realized using Farm skeleton
based on the MPI library functions.
Future improvements are related to the strategy used
for scheduling the activation of Worker in the
implementation of Farm skeleton, in order to preserve
loading balance. The execution time of each Worker
should be annotated and used for deriving next Worker to
be used for computation.

ACKNOWLEDGEMENT
The authors would like to thank Ing. M. Mariani of
Telespazio for his helpful support and Dr. Gian Rocco
Verdone of Telespazio for his involvement on all matters
related to the SAR Toolbox co-registration algorithm and
its C-language implementation.

REFERENCES
[1] M. Cole, “Algorithmic Skeletons: Structured
Management of Parallel Computations”. Research

1339

Authorized licensed use limited to: M Th Koelen. Downloaded on June 9, 2009 at 13:56 from IEEE Xplore. Restrictions apply.

You might also like