Giter Site home page Giter Site logo

sentinel-1_incidence_angle_normalization's Introduction

Sentinel-1 incidence angle normalization

Sentinel-1 data acquisition in the mode of Interferometric Wide Swath(IW) and Extra Wide Swath (EW) acquire data over wide areas which results in progressive reduction in brightness from near to far range. The backscatter coefficient values depend to a great extent on the incident angle. This can be problematic and affect the detection and classification of sea surface features. Therefore, incidence angle normalization is required to reduce the variation of backscatter energy over the SAR scene

How to perform incidence angle correction

  • Provide calibrated Sentinel-1 data

    The scr/angle_correction.py script requires a Sentinel-1 product that contains 3 bands

    • Co-polarized band (calibrated in db units)
    • Cross-polarized band (calibrated in db units)
    • Incidence angle

    If the Sentinel-1 data is not in the format described above, the user can run the bash script S1_preprocessing.sh. It takes the raw GRD Sentinel-1 data and follows a series of steps (based on the graphs created in SNAP) to pre-process the data. It outputs the pre-processed SAR image which contains the 3 bands mentioned above. There are two graphs in the graphs folder. The one named s1_preprocessing_land.xml is used to pre-process Sentinel-1 data over land. The one named s1_preprocessing_ocean.xml is used to pre-process Sentinel-1 data over ocean

  • Collect points over Sentinel-1 swath

    Digitize points (e.g QGIS or ArcGIS) over the SAR scene from near to far range. Ideally, the points should be closely spaced. The more points are collected (very close to each other) the more accurate the angle correction will be. Ideally, the points should be digitized over the same landcover type to avoid any bias

  • Run angle_correction script

    Examples on how to run the script are given within the script

usage: angle_correction.py [-h] 
                           [-o OUTDIR] 
                           [-i LOAD_SAR] 
                           [--ref_angle REF_ANGLE]
                           [--linear LINEAR] 
                           [--sqr_cosine]

optional arguments:
  -h, --help            show this help message and exit
  -o OUTDIR, --outdir OUTDIR
                        Specify an output directory
  -i LOAD_SAR, --load_sar LOAD_SAR
                        Provide a path to the sar data
  --ref_angle REF_ANGLE
                        Provide a value for incidence angle normalziation. If not provided, 33 degrees is the default
  --linear LINEAR       Performs angle correction based on linear regression. It requires a shapefile (points) as an input. 
                        Point data should be colected from near to far range. It is more appropriate for oceonographic applications
  --sqr_cosine          Performs angle correction based on the square cosine. Is it more appropriate for land applications

Results

Figure (a) shows the linear regression before incidence angle normalization. Figure (b) shows the linear regression after incidence angle normalization

angle_correction

sentinel-1_incidence_angle_normalization's People

Contributors

ioannisgkanatsios avatar

Stargazers

 avatar Arnav Dutta avatar EJ avatar

Watchers

 avatar

Forkers

ytkz11

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.