![]() Microwave Remote Sensing Lab (MRSLab) Indian Institute of Technology Bombay, India |
![]() Microwave Remote Sensing Laboratory (MiRSL) University of Massachusetts Amherst, USA |
This package generates derived SAR parameters (viz. polarimetric descriptors, vegetation indices, polarimetric decomposition parameters) from various SAR sensors or input polarimetric matrix (S2, C3, T3, Sxy, C2, T2).
-
Install
gdal
Packageconda install gdal -c conda-forge
-
Install
polsartools
PackageYou may choose any of the following options
-
a.
pip
(stable release):pip install polsartools
-
b.
conda
(stable release)conda install polsartools -c bnarayanarao
-
c. GitHub (Weekly Build)
pip install git+https://github.com/Narayana-Rao/polsartools.git#egg=polsartools
Use this if you encounter errors like:
AttributeError: module 'polsartools' has no attribute 'xyzabc'
Note for Windows users: If installing via GitHub (option c), make sure to install Microsoft C++ build tools first. Download here: https://visualstudio.microsoft.com/visual-cpp-build-tools
-
Sample use cases and notebooks are provided at polsartools-notebooks repo. Detailed documentation is available at polsartools.readthedocs.io
-
Supported sensors
- Airborne
- UAVSAR (GRD, MLC)
- ISRO ASAR (H5)
- E-SAR (GTC)
- Spaceborne
- NISAR (RSLC, GSLC)
- RISAT-1 (Compact-pol)
- RADARSAT-2 (Full-pol)
- ALOS-2 (Fine Beam Dual-pol (FBD), Quad-pol (HBQ) Level 1.1 CEOS)
- Planetary
- Chandrayaan-II DFSAR (Full-pol)
- Airborne
-
Full-pol :
- H-A-Alpha decomposition
- Yamaguchi 4-Component decomposition
- Shannon Entropy parameters
- Non-negative Eigen value decomposition
- Neumann Decomposition
- Model free 4-Component decomposition for full-pol data (MF4CF)[11]
- Model free 3-Component decomposition for full-pol data (MF3CF)[4]
- Radar Vegetation Index (RVI) [8]
- Generalized volume Radar Vegetation Index (GRVI) [2]
- Polarimetric Radar Vegetation Index (PRVI) [1]
- Degree of Polarization (DOP) [10]
-
Dual-pol:
- H-Alpha parameters
- Shannon Entropy parameters
- Dual-pol Radar Vegetation Index (DpRVI) [5]
- Dual-pol Radar Vegetation Index for GRD data (DpRVIc) [12]
- Radar Vegetation Index (RVI) [9]
- Degree of Polarization (DOP) [10]
- Polarimetric Radar Vegetation Index (PRVI) [1]
- Dual-pol descriptors [13]
- Model free 3-Component decomposition for dual-copol data (MF3CD)
-
Compact-pol :
-
Polarimetric speckle filters:
- boxcar
- refine lee
-
Other polarimetric functions
- Stokes parameters
- multi-look PolSAR matrix
- Convert matrices
- Pauli RGB from full-pol data
- Psuedo RGB from Dual/compact pol data
- Polarimetric signatures
- Full-pol and Dual-pol H-Alpha plot
- Full-pol H-A-Alpha plot
- H-Alpha clusters (Full-pol)
The package logo visually encapsulates key concepts in PolSAR data processing:
- Poincaré Sphere Representation: Central to the logo is a stylized visualization of the Poincaré sphere, highlighting the diversity of polarization states encountered in SAR imaging.
- Huynen Polarization Fork: A dotted elliptical curve represents the great circle containing Huynen's characteristic polarization states: co-polarized maximum, saddle point, and minima. These vectors lie in a common plane, revealing target symmetries and scattering behaviors.
- Quadrant Background: The four background squares reflect brightness variations in SAR intensity data, showcasing:
- Bright vs. dark reflectivity regions
- Co-polarized (diagonal) vs. cross-polarized (off-diagonal) intensity distribution
Designed to reflect what this package does best: demystify PolSAR, one pixel at a time.
We welcome contributions! Whether it's fixing bugs, adding new features, or improving documentation, your help is greatly appreciated.
-
Fork the repository - Fork this repository to your GitHub account.
-
Clone your fork - Clone the repository to your local machine:
git clone https://github.com/Narayana-Rao/polsartools.git
-
Create a branch - Create a new branch for your changes:
git checkout -b feature-branch
-
Make changes - Implement your changes or additions.
-
Test your changes - Run the tests to ensure that your changes don’t break anything.
-
Commit and push - Commit your changes and push them to your fork:
git commit -am "Description of changes" git push origin feature-branch
-
Create a Pull Request - Open a pull request to the main repository with a clear description of the changes.
If you encounter a bug or issue, please follow these steps to report it:
-
Check the existing issues: Before submitting a new bug report, check if the issue has already been reported in the Issues section.
-
Submit a bug report: If the issue hasn’t been reported, please open a new issue and include the following information:
- A clear description of the problem.
- Steps to reproduce the issue.
- Expected vs actual behavior.
- Any error messages or stack traces.
- Relevant code snippets or files if possible.
- Version of
polsartools
and Python you're using.
We’re always open to suggestions for new features or improvements!
-
Check existing feature requests: Please make sure the feature request hasn't already been made in the Issues section.
-
Submit a feature request: If it hasn’t been requested already, please open a new issue with the following information:
- A clear description of the feature.
- Why you think this feature would be beneficial.
- Any specific use cases or examples.
Click here to request a feature
If you use PolSARtools
in your research or projects, please cite it as follows:
Bhogapurapu, N., Dey, S., Mandal, D., Bhattacharya, A. and Rao, Y.S., 2021. PolSAR tools: A QGIS plugin for generating SAR descriptors. Journal of Open Source Software, 6(60), p.2970. doi: 10.21105/joss.02970
@article{bhogapurapu2021polsar,
title={PolSAR tools: A QGIS plugin for generating SAR descriptors},
author={Bhogapurapu, Narayanarao and Dey, Subhadip and Mandal, Dipankar and Bhattacharya, Avik and Rao, YS},
journal={Journal of Open Source Software},
volume={6},
number={60},
pages={2970},
year={2021},
doi= {10.21105/joss.02970}
}