Skip to content

Co-Register service specifications


icon

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:

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

  2. 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 and blue single band assets of a WorldView-2 and Pléiades Calibrated Datasets. Another example is the co-registration of a pair of s0_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.

cover

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.

graph TB b[(Calibrated Datasets)] style b fill:#ffde86,stroke:#333,color:#282828,stroke-width:2px b --> a1[input n] b --> a2[input ...] b --> a3[input 2] b --> an[input 1] subgraph Input style Input fill:#e8e8e8,stroke:#818181,color:#282828 a1[/Dataset n/] style a1 fill:#acc8ff,stroke:#333,color:#282828,stroke-width:2px a2[/Dataset .../] style a2 fill:#acc8ff,stroke:#333,color:#282828,stroke-width:2px a3[/Dataset 2/] style a3 fill:#acc8ff,stroke:#333,color:#282828,stroke-width:2px an[/Dataset 1/] style an fill:#acc8ff,stroke:#333,color:#282828,stroke-width:2px alist[/List of comma separated <br> single band assets/] style alist fill:#acc8ff,stroke:#333,color:#282828,stroke-width:2px aref[/Reference asset <br> in list of assets/] style aref fill:#acc8ff,stroke:#333,color:#282828,stroke-width:2px ba2[/AOI as WKT/] style ba2 fill:#acc8ff,stroke:#333,color:#282828,stroke-width:2px ba1[/S-expression/s/] style ba1 fill:#acc8ff,stroke:#333,color:#282828,stroke-width:2px end subgraph Co-registered Stacking an --> stack[Co-location] a3 --> stack[Co-location] a2 --> stack[Co-location] a1 --> stack[Co-location] alist --> stack[Co-location] aref --> stack[Co-location] ba2 -.-> stack[Co-location] stack --> csn(Co-located<br>assets from<br>secondary<br>Dataset n) style csn fill:#cfdfff,stroke:#333,color:#282828 stack --> cs3(Co-located<br>assets from<br>secondary<br>Dataset 2) style cs3 fill:#cfdfff,stroke:#333,color:#282828 stack --> cs2(Co-located<br>assets from<br>secondary<br>Dataset 1) style cs2 fill:#cfdfff,stroke:#333,color:#282828 stack --> cs1(Other assets from<br>reference<br>Dataset) style cs1 fill:#cfdfff,stroke:#333,color:#282828 stack --> cs(Reference asset from<br>reference<br>Dataset) style cs fill:#cfdfff,stroke:#333,color:#282828 csn --> stack1[Co-registration] cs3 --> stack1[Co-registration] cs2 --> stack1[Co-registration] cs --> stack1[Co-registration] stack1 --> dsn(Co-registered<br>assets from<br>secondary<br>Dataset n) style dsn fill:#cfdfff,stroke:#333,color:#282828 stack1 --> ds3(Co-registered<br>assets from<br>secondary<br>Dataset 2) style ds3 fill:#cfdfff,stroke:#333,color:#282828 stack1 --> ds2(Co-registered<br>assets from<br>secondary<br>Dataset 1) style ds2 fill:#cfdfff,stroke:#333,color:#282828 stack1 --> ds1(Reference asset from<br>reference<br>Dataset) style ds1 fill:#cfdfff,stroke:#333,color:#282828 dsn -.-> arithm[Band<br>arithmetic] ds3 -.-> arithm[Band<br>arithmetic] ds2 -.-> arithm[Band<br>arithmetic] ds1 -.-> arithm[Band<br>arithmetic] cs1 -.-> arithm[Band<br>arithmetic] ba1 -.-> arithm[Band<br>arithmetic] end subgraph Output style Output fill:#e8e8e8,stroke:#818181,color:#282828 dsn --> o5[/Co-registered<br>assets from<br>secondary<br>Dataset n/] style o5 fill:#acc8ff,stroke:#87afff,color:#282828,stroke-width:2px ds3 --> o4[/Co-registered<br>assets from<br>secondary<br>Dataset 2/] style o4 fill:#acc8ff,stroke:#87afff,color:#282828,stroke-width:2px ds2 --> o3[/Co-registered<br>assets from<br>secondary<br>Dataset 1/] style o3 fill:#acc8ff,stroke:#87afff,color:#282828,stroke-width:2px ds1 --> o2[/Assets from<br>reference<br>Dataset/] cs1 --> o2[/Assets from<br>reference<br>Dataset/] style o2 fill:#acc8ff,stroke:#87afff,color:#282828,stroke-width:2px arithm -.-> o1[/New asset/s from <br> band arithmetic/] style o1 fill:#acc8ff,stroke:#87afff,color:#282828,stroke-width:2px end

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

  1. 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. ↩

  2. 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. ↩

  3. GeFolki GitHub page, available at: https://github.com/. ↩

  4. GeFolki User manual, available at: https://github.com/. ↩