Co-Register service specifications
This service provides a multi-mission and multi-temporal image stack of co-registered single band assets taken from Optical or Radar Calibrated Datasets. It performs heterogeneous co-registration in the image domain of secondary assets to the reference. It can also generate assets from the co-registered stack using band arithmetic.
The tutorial of the Co-Register service is available in this section.
Service Description
The Co-Registered Stacking (Co-Register) service performs the co-registration of "secondary" images to a "reference" image.
The service employs the GeFolki1,2 coregistration software3,4 developed at ONERA in the Multidate Earth observation Datamass for Urban Sprawl Aftercase (MEDUSA) project. GeFolki allows heterogeneous image co-registration and is working in the image domain. Thus, the service can co-register images with different spatial resolutions and from different sensors.
The coregistration of a pair of single band assets from Optical or Radar calibrated datasets does not require having them in the same map projection and spatial resolution. A co-location step has been included in the service to pre-process the input and have reference and secondary images at the same spatial resolution. In the co-registration all secondary assets are co-registered with the same reference asset. The service does not modify the intra-product co-registration of multiband satellite products. The computation of (u,v) displacement in the chosen band (e.g. red
) with GeFolki is executed once for each secondary datasets (e.g. calibrated datasets no.2, and no.3) by identifying as secondaries the asset in the other dataset/s (e.g. 2.red
, 3.red
) having the same CBN of the one chosen as reference asset (e.g. 1.red
). The secondaries in the other bands (e.g. green
and blue
) are transformed by applying the (u,v)-r-s displacement obtained for each pair of datasets (e.g. (u,v)-1-2 displacement to transform green
, and blue
of dataset no.2, and (u,v)-1-3 displacement to transform green
, and blue
of dataset no.3).
With the Co-Register service the user can perform a co-registration:
-
between multiple products of the same sensor (multi-temporal stack),
-
between multi-sensor EO data (multi-sensor stack)
Thus, two different use cases are possible:
-
Multi-temporal co-registration: when the user wants to co-register multiple satellite products of the same sensor acquired at different dates (e.g. a Worldview-3 pair acquired before and after crisis).
-
Multi-sensor co-registration: when the user wants to co-register multiple satellite products of the same nature (e.g. with similar multispectral bands or at same SAR band) from different sensors (SAR or optical) acquired at same or different dates. As an example the user may need to co-register
red
,green
andblue
single band assets of a WorldView-2 and Pléiades Calibrated Datasets. Another example is the co-registration of a pair ofs0_db_c_vv
co-pol backscatter single band assets in C-BAND taken from a Sentinel-1 and a RCM Calibrated Dataset.
The co-registration is a mandatory step when dealing with multi sensor EO data. It allows to overcome limits in the georeferencing of different EO products from different missions and better detect changes.
Figure 1 - A comparison between Red-Cyan composites of reflectance before (left) and after (right) the co-registration of calibrated panchromatic single band assets acquired from two different sensors. Panchromatic images acquired respectively from GeoEye-1 and WorldView-3 missions before and after the 7.5 earthquake event occurred in central Sulawesi on the 28th September which triggered a tsunami with 3-metre high waves. After the co-registration of GeoEye-1 panchromatic against the WorldView-3 one, damages to the Mercure Palu Hotel and the Arqam Babu Rahman floating Mosque are clearly visible in the right side Red-Cyan composite.
Single band assets included in the co-registered stack can be then used for processing (e.g. change detection using band arithmetic).
Warning
The AOI shall be wide enough to not only cover the area of change but also surrounding stable features. Having stable areas far away from where a change occurred lets the algorithm defining the GCP to be used in the co-registration. For instance to ensure a good quality co-registration of single band assets acquired before and after an earthquake, the AOI must not only contain damaged built up areas but also surrounding undamaged urban areas.
Warning
The role of topography must be considered when co-registering images. The co-registration of non-ORTHO images over mountain areas cannot be of good quality, especially if images are acquired with different looking angles. In these areas the co-registration is advisable only using images orthorectified with a good quality DEM. Differences in looking angles could also affect the quality of co-registration in case of tall buildings if images are orthorectified with a good quality DEM.
Several downstream on-demand processing services can take advantage of co-registered assets, such as those devoted to visualizing inter-sensors images or the ones to perform change detection.
Workflow
The service implements the workflow depicted below.
Input
Input of Co-Register are single-band assets (e.g. reflectance or Sigma Nought in dB) taken from Calibrated Datasets which are derived from the systematic calibration of supported Optical and Radar sensors. The co-registration is made at dataset level to avoid shifts in intra sensor bands. Co-registration is possible if input assets are homogeneous, thus the mix of single band assets from SAR and Optical Calibrated Datasets is not supported.
Warning
This service does not support SAR complex data (e.g. Sentinel-1 SLC, Saocom-1 L1A products).
Parameters
The Co-Register service requires a specified number of mandatory and optional parameters. Table 1 lists all service parameters.
Parameter | Description | Required | Default value |
---|---|---|---|
Input product reference(s) | Input Dataset(s) including single band reflectance or backscatter assets to be employed in the co-registration | YES | |
List(s) of comma-separated assets | List of single-band assets from input datasets as comma-separeted items (reference plus secondary(ies) assets) | YES | |
Reference asset in the list | The single band asset to be used as reference in the list of comma-separeted assets | YES | |
Area of Interest | Area of interest expressed in WKT | NO | |
S-expression/s | S-expression(s) defined as 'new_asset_name:(s-expression)' to generate new single band asset(s) from the co-registered stack (e.g. average) | NO |
Table 1 - Service parameters for the Co-Register processor.
Below are given more information about the service parameters.
Input-product-reference/s
This first mandatory parameter is the list of input Dataset(s) that are used to create the co-registered stack. In the list the user must insert the catalog reference of two or more Calibrated Datasets (Optical or SAR).
Warning
The service allows users to co-register multiple satellite products of the same nature. The list cannot include a mix of SAR and Optical Calibrated Datasets.
Warning
The specified input Datasets must include at least one single-band asset. Only TOA/BOA reflectance or Sigma Nought single-band assets can be used in the co-registration.
List-of-comma-separated-assets
This second mandatory parameter is a list of bands expressed as a comma separated list of common band names. It defines, for each input-reference product, the list of common band names to extract. There's a one-to-one mapping between the input-reference and the bands parameters. The list of single band assets to be used for the co-registration shall be given as a list of comma separated items following the following convention:
dataset_number.single_band_asset
Example
To build a 6-band
multitemporal co-registered stack using 4 single-band assets (e.g. blue, green, and red reflectance assets) from 2 Optical Calibrated Dataset from same missions (e.g. by specifying 2 input optical Calibrated Dataset from Sentinel-2 given as input product references 1, and 2) the users shall define the 6 input assets in Co-Register as following:
1.blue,1.green,1.red,2.blue,2.green,2.red
Example
To build a 2-band
multi-sensor co-registered stack using 1 single-band asset (e.g. s0_db_c_vv sigma nought asset) from 2 Radar Calibrated Datasets (e.g. by specifying 2 input Radar Calibrated Dataset acquired from two C-band sensors given as input product references 1, and 2) the users shall define the 2 input assets in Co-Register as following:
1.s0_db_c_vv,2.s0_db_c_vv
Warning
Use comma separated reference.asset
and avoid spaces between assets.
Note
All CBNs available in the ESA Charter Mapper can be found here.
Reference asset in the list
The third mandatory parameter defines the reference asset in the list-of-comma-separated-assets.
Co-Register employs a co-registration of each single band asset from secondary datasets against one single band asset from the reference dataset. Thus from the list of comma separated assets the user must specify which is the reference one to be employed in the co-registration. This asset shall be specified using the same convention used in the definition of the list of assets:
reference_dataset_number.single_band_asset
This single-band asset will be the reference in the co-registration and the other secondary assets in the list will be co-registered to this asset.
As an example when building a multitemporal co-registered stack using blue, green, and red single band assets from 3 Optical Calibrated Dataset, if the user defines as reference single band asset 1.red
, the Dataset 1
will be the reference dataset and its red
single band asset will be the reference asset for the co-registration. In this scenario, GeFolki will be executed once for each secondary datasets (e.g. calibrated datasets no.2, and no.3) by identifying as secondaries the asset in the other dataset/s (e.g. 2.red
, 3.red
) having the same CBN of the one chosen as reference asset (e.g. 1.red
). In particular, GeFolki is applied firstly with datasets 1 and 2 to derive the (u,v)-1-2 displacement from 1.red
(secondary) against the reference 2.red
(reference). Later, it is employed with datasets 1 and 3 to derive and (u,v)-1-3 displacement from 1.red
(secondary) against the reference 3.red
(reference). After that, the obtained red-based (u,v)-r-s displacement/s are then used to transform the other secondary single band assets (e.g. the (u,v)-1-2 displacement to transform 2.blue
, 2.green
, and the (u,v)-1-3 displacement to transform 3.blue
, 3.green
).
AOI (optional)
This fourth parameter (optional) may define the area of interest expressed as a Well-Known Text value.
Warning
If set, it overrides the automatic determination of the maximum common area between the input-reference products geometry.
Tip
In the definition of “Area of interest as Well Known Text” it is possible to apply as AOI the drawn polygon defined with the area filter. To do so, click on the Magic tool wizard button in the left side of the "Area of interest expressed as Well-known text" box and select the option AOI from the list. The platform will automatically fill the parameter value with the rectangular bounding box taken from the current search area in WKT format.
S-expression (optional)
This last optional parameter allows generating new asset(s) derived from the co-registered input assets.
To generate a new item in the co-registered stack, the expression to be defined in this parameter is composed by the name of the new asset and the s-expression to be used for generating it separated by a colon : .
output_asset_name:(s-expression)
Warning
The s-expressions inserted by the user must be given within brackets.
As an example, to derive a new asset representing the average between red
assets from a pair of co-registered single band assets (1.red
and 2.red
) the expression to be inserted shall be:
average:(/ (+ 1.red 2.red) 2)
This will add a new single band asset named average
in the co-registered stack with average values derived from 1.red
and 2.red
.
S-expressions in the ESA Charter Mapper supports arithmetic (* + / -) and logical (< <= == != >= > & |) operators plus some pre-defined functions.
More information about supported functions can be found in Table 2.
Function | Description | Syntax |
---|---|---|
asarray | convert the input (list, tuples, etc.) to an array | (asarray x) |
interp | returns the one-dimensional piecewise linear interpolant to a function with given discrete data points (xp, fp), evaluated at x | (interp x xp fp) |
mean | returns the mean value (scalar) from the given input array x | (mean x) |
norm_diff | returns the normalized difference between A and B as per ((x - y) / (x + y)) | (norm_diff x y) |
where | return elements chosen from x or y depending on condition | (where (condition) x y) |
Table 2 - Supported functions that can be used in s-expressions.
Note
The current list of functions can be further expanded in the future based on the user's needs.
Examples of s-expressions which can be used to generate new bands from the Co-register service are listed in the below sections.
Sum
The following s-expression:
sum:(+ 1.pan 2.pan)
can be used to generate a band as the sum of 1.pan
and 2.pan
.
Difference
The following s-expression:
difference:(- 1.pan 2.pan)
can be used to generate a band as the difference of 1.pan
and 2.pan
.
Average
The following s-expression:
average:(/ (+ 1.pan 2.pan) 2)
can be used to generate a band as the average between the values of 1.pan
and 2.pan
.
Difference from average
The following s-expression:
diff_from_avg:(- 1.pan (mean 1.pan))
can be used to estimate a band of difference from the average value of 1.pan
.
Normalized difference
The following s-expression:
ndvi:(norm_diff 1.nir 1.red)
can be used to derive multiple spectral indexes defined as normalized difference (e.g. NDVI, NDWI, NDBI, etc.).
Water masking via binarization of NDWI or backscatter values
The following s-expression:
opt_water_mask:(where (>= (norm_diff 1.green 1.nir) 0.3) 1 0)
can be used to derive water mask from binarization. Here (norm_diff 1.green 1.nir)
is used to derive the NDWI index. The value 0.3
represents the threshold as TOA reflectance. Similar s-expressions can be made also for SAR such as:
sar_water_mask:(where (<= 1.s0_db_c_hh -23) 1 0)
in which 1.s0_db_c_hh
is the asset and the value -23
represents the threshold as Sigma Nought in dB.
NDVI loss from pre- and post-event reflectance assets
The following s-expression:
ndvi_loss:(where (>= (- (norm_diff 1.nir 1.red) (norm_diff 2.nir 2.red)) 0.25) 1 0)
can be used to derive NDVI loss from binarization of the NDVI difference before and after an event (e.g. wildfire or landslide). Here (norm_diff 1.nir 1.red)
is used to derive the NDVI index. The value 0.25
represents the threshold as NDVI difference.
Output
The output of Co-Register is a multi-mission and multitemporal co-registered stack. The output STAC item includes as many single band assets as provided in the input. Assets are given as single band GeoTIFF in COG format.
The below table provides product specifications for the Co-Register service.
Attribute | Value / description |
---|---|
Long Name | Geometric Co-registered stack from Optical or SAR EO data |
Short Name | source_reference_number.source_asset (e.g. 1.nir) |
Description | Multiband co-registered stack of N images from optical and radar sensors |
Processing level | L1 / L2 (according to input) |
Data Type | Float32 |
Band | N single-band |
Format | COG |
Projection | According to input |
Fill Value | According to input |
-
Plyer, A., et al. (2015), "A New Coregistration Algorithm for Recent Applications on Urban SAR Images", Geoscience and Remote Sensing Letters, IEEE, 12(11), 2198-2202. DOI: 10.1109/LGRS.2015.2455071. ↩
-
Brigot, G., et al. (2016), "Adaptation and Evaluation of an optical flow method applied to co-registration of forest remote sensing images", accepted with modifications in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, Volume: 9, Issue7, July 2016. DOI: 10.1109/JSTARS.2016.2578362. ↩
-
GeFolki GitHub page, available at: https://github.com/. ↩
-
GeFolki User manual, available at: https://github.com/. ↩