{"id":37064621,"url":"https://github.com/polsartools/polsartools","last_synced_at":"2026-02-18T08:01:53.001Z","repository":{"id":60397989,"uuid":"508384098","full_name":"polsartools/polsartools","owner":"polsartools","description":"A python package for processing Polarimetric Synthetic Aperture Radar (PolSAR) data.","archived":false,"fork":false,"pushed_at":"2026-02-16T06:36:24.000Z","size":54740,"stargazers_count":46,"open_issues_count":2,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-16T14:26:43.886Z","etag":null,"topics":["alos-2","chandrayaan-2","decomposition","nisar","polarimetric-decompositions","polarimetric-sar-data","polsar","radar-vegetation","radarsat","risat","sar","sentinel-1","synthetic-aperture-radar","uavsar"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/polsartools/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/polsartools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-06-28T16:55:29.000Z","updated_at":"2026-02-16T06:36:28.000Z","dependencies_parsed_at":"2025-06-11T03:52:03.028Z","dependency_job_id":"69a75017-630a-4066-8b27-6402f6e677ca","html_url":"https://github.com/polsartools/polsartools","commit_stats":{"total_commits":39,"total_committers":1,"mean_commits":39.0,"dds":0.0,"last_synced_commit":"1d22d1c26e8dcbf346393870bccf2b6bce9f803e"},"previous_names":["polsartools/polsartools","narayana-rao/polsartools"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/polsartools/polsartools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polsartools%2Fpolsartools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polsartools%2Fpolsartools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polsartools%2Fpolsartools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polsartools%2Fpolsartools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/polsartools","download_url":"https://codeload.github.com/polsartools/polsartools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polsartools%2Fpolsartools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29573401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T07:57:19.261Z","status":"ssl_error","status_checked_at":"2026-02-18T07:57:18.820Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alos-2","chandrayaan-2","decomposition","nisar","polarimetric-decompositions","polarimetric-sar-data","polsar","radar-vegetation","radarsat","risat","sar","sentinel-1","synthetic-aperture-radar","uavsar"],"created_at":"2026-01-14T07:33:12.127Z","updated_at":"2026-02-18T08:01:52.996Z","avatar_url":"https://github.com/polsartools.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"logo.png\" alt=\"\"/\u003e\n\u003c/p\u003e\n\n## A Python package for processing Polarimetric Synthetic Aperture Radar (PolSAR) data.\n\n![Silver Medal](https://img.shields.io/badge/Award-ISRS--ICON_Silver-silver?style=flat-square\u0026logo=github) \n[![Build](https://github.com/polsartools/polsartools/actions/workflows/ci.yml/badge.svg)](https://github.com/polsartools/polsartools/actions/workflows/ci.yml)\n[![Documentation Status](https://readthedocs.org/projects/polsartools/badge/?version=latest)](https://polsartools.readthedocs.io/en/latest/?badge=latest)\n\n[![image](https://img.shields.io/pypi/v/polsartools.svg)](https://pypi.python.org/pypi/polsartools)\n[![](https://static.pepy.tech/badge/polsartools)](https://pepy.tech/project/polsartools)\n\n[![image](https://anaconda.org/bnarayanarao/polsartools/badges/version.svg)](https://anaconda.org/bnarayanarao/polsartools)\n[![image](https://anaconda.org/bnarayanarao/polsartools/badges/downloads.svg)](https://anaconda.org/bnarayanarao/polsartools/files)\n\n[![GitHub commits](https://img.shields.io/github/commits-since/polsartools/polsartools/0.11.svg)](https://GitHub.com/polsartools/polsartools/commit/)\n[![License: GPL 3.0](https://img.shields.io/badge/License-GPL_3.0-green.svg)](https://opensource.org/licenses/gpl-license)\n\n\n\n\n\u003c!-- ## Jointly Developed By\n\n| [![MRSLab](docs/contributions/mrslab_logo.png)](http://mrslab.in) | [![MiRSL](docs/contributions/mirsl_logo.png)](https://www.umass.edu/microwave-remote-sensing) |\n|:--:|:--:|\n| **Microwave Remote Sensing Lab (MRSLab),** \u003cbr\u003e Indian Institute of Technology Bombay, India | **Microwave Remote Sensing Laboratory (MiRSL),** \u003cbr\u003e University of Massachusetts Amherst, USA | \n --\u003e\n\n\u003ch2\u003eJointly Developed By\u003c/h2\u003e\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" style=\"padding: 20px;\"\u003e\n      \u003ca href=\"http://mrslab.in\"\u003e\n        \u003cimg src=\"docs/contributions/mrslab_iitb.png\" alt=\"MRSLab\" width=\"200\"\u003e\u003cbr\u003e\n        \u003cstrong\u003eMicrowave Remote Sensing Lab (MRSLab)\u003cbr\u003eIndian Institute of Technology Bombay, India\u003c/strong\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" style=\"padding: 20px;\"\u003e\n      \u003ca href=\"https://www.umass.edu/microwave-remote-sensing\"\u003e\n        \u003cimg src=\"docs/contributions/mirsl_umass.png\" alt=\"MIRSL\" width=\"250\"\u003e\u003cbr\u003e\n        \u003cstrong\u003eMicrowave Remote Sensing Laboratory (MiRSL)\u003cbr\u003eUniversity of Massachusetts Amherst, USA\u003c/strong\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n## 🏆 Awards \u0026 Recognition\n\n### **ISRS I-CON (Silver)**\nThis award was presented by the **Indian Society of Remote Sensing (ISRS)** during the *Innovation Contest for Geo Spatial Information Technology-2025*.\n\n**Why this work was recognized:**\nOur project was honored for addressing the \"Big Data\" challenges of the current generation of SAR missions (such as NISAR, EOS-04, BIOMASS, and Sentinel-1). The judges recognized **PolSARtools** for:\n\n* ☁️ **Cloud-Native Innovation:** Bridging the gap between raw polarimetric data and **Analysis Ready Data (ARD)** using cloud-optimized formats.\n* 🔓 **Open Science:** Promoting inclusive research by lowering the coding barrier through our integrated **QGIS plugin**.\n* 🏗️ **Scalability:** Providing a reproducible architecture capable of handling the petabyte-scale influx of modern satellite imagery.\n\n\n\n\n## 💠 General Information\nThis package generates derived SAR parameters (viz. polarimetric descriptors, vegetation indices, polarimetric decomposition parameters) from various SAR sensors or input polarimetric matrix (S2, C4, C3, T4, T3, Sxy, C2, T2). \n\n\n## 💠 Installation\n1. **Install `gdal` Package**\n\t\n\t```bash\n\tconda install gdal -c conda-forge\n\t```\n\n2. **Install `polsartools` Package**\n\n\tYou may choose any of the following options \n\t  \n\t  - a. `pip` (stable release):\n\t\n\t\t```bash\n\t\tpip install polsartools\n\t\t```\n\t\n\t - b. `conda` (stable release)\n\t\n\t\t```bash\n\t\tconda install polsartools -c bnarayanarao\n\t\t```\n\t\n\t - c. GitHub (Weekly Build)\n\t\n\t\t```bash\n\t\tpip install git+https://github.com/polsartools/polsartools.git#egg=polsartools\n\t\t```\n\t\tUse this if you encounter errors like: `AttributeError: module 'polsartools' has no attribute 'xyzabc'`\n\t\t\n\t\t\u003e**Note for Windows users:** \n\t\t\u003e If installing via GitHub (option c), make sure to install Microsoft C++ build tools first. \n\t\tDownload here: https://visualstudio.microsoft.com/visual-cpp-build-tools\n\n\n## 💠 Example Usage\n\nThe following code example demonstrates a typical processing pipeline using ```polsartools``` on NASA-ISRO SAR (NISAR) Geocoded Single-look Complex (GSLC) data. It includes polarimetric covariance matrix (C3) extraction, Pauli RGB visualization, speckle filtering,  H/A/α decomposition, and plotting in the H/α and H/A/α feature spaces.  \n\n```python\nimport polsartools as pst\n\ndef main():\n  # Generate C3 from NISAR GSLC full-pol data with 5x5 multilooking\n  pst.import_nisar_gslc('path/to/nisar_gslc.h5',mat='C3',\n                    azlks=5, rglks=5,\n                    fmt='tif', cog=False, \n                    )\n\n  # Visualize Pauli-decomposition RGB\n  c3path = 'path/to/nisar_gslc/C3'\n  pst.pauli_rgb(c3path)\n\n  # Apply 3x3 refined-Lee speckle filter\n  pst.filter_refined_lee(c3path,win=3)\n\n  # Perform H-A-Alpha decomposition\n  c3_rlee = 'path/to/nisar_gslc/rlee_3x3/C3'\n  pst.h_a_alpha_fp(c3_rlee)\n\n  # Generate H-Alpha 2d plot\n  entropy_path = c3_rlee+'/H_fp.tif'\n  alpha_path = c3_rlee+'/alpha_fp.tif'\n  pst.plot_h_alpha_fp(entropy_path, alpha_path,\n                      ppath='./halpha_2D.png')\n\n  # Generate H-A-Alpha 3d plot\n  ani_path = c3_rlee + '/anisotropy_fp.tif'\n  pst.plot_h_a_alpha_fp(entropy_path, ani_path,alpha_path,\n                      ppath='./haalpha_3D.png')\n\nif __name__ == \"__main__\":\n    main()\n\n```\n\n\nMore example use cases and notebooks are provided at [polsartools-notebooks](https://github.com/polsartools/polsartools-tutorials) repo. Detailed documentation is available at [polsartools.readthedocs.io](https://polsartools.readthedocs.io/en/latest/) \n\n\n## 💠 Available functionalities:\nFull list of available functions is provided here : [Functions](https://polsartools.readthedocs.io/en/latest/files/02functions.html)\n\n\n## 🎨 Logo Vibes Explained\n\nThe package logo visually encapsulates key concepts in PolSAR data processing:\n\n- **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.\n- **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.\n- **Quadrant Background**: The four background squares reflect brightness variations in SAR intensity data, showcasing:\n  - Bright vs. dark reflectivity regions\n  - Co-polarized (diagonal) vs. cross-polarized (off-diagonal) intensity distribution\n\n\u003e Designed to reflect what this package does best: demystify PolSAR, one pixel at a time.\n\n## 💠 Contributing\n\nWe welcome contributions! Whether it's fixing bugs, adding new features, or improving documentation, your help is greatly appreciated.\n\n### How to Contribute\n1. **Fork the repository** - Fork this repository to your GitHub account.\n\n2. **Clone your fork** - Clone the repository to your local machine:\n\n    ```bash\n    git clone https://github.com/polsartools/polsartools.git\n    ```\n\n3. Create a branch - Create a new branch for your changes:\n\n    ```bash \n    git checkout -b feature-branch\n    ```\n4. **Make changes** - Implement your changes or additions.\n\n5. **Test your changes** - Run the tests to ensure that your changes don’t break anything.\n\n6. **Commit and push** - Commit your changes and push them to your fork:\n    ```bash\n        git commit -am \"Description of changes\"\n        git push origin feature-branch\n    ```\n7. **Create a Pull Request** - Open a pull request to the main repository with a clear description of the changes.\n\n\u003c!-- For more detailed guidelines on contributing, see the CONTRIBUTING.md (if available). --\u003e\n\n\n## 💠 Bug Reporting\n\nIf you encounter a bug or issue, please follow these steps to report it:\n\n1. Check the existing issues: Before submitting a new bug report, check if the issue has already been reported in the [Issues section](https://github.com/polsartools/polsartools/issues).\n\n2. Submit a bug report: If the issue hasn’t been reported, please open a new issue and include the following information:\n    * A clear description of the problem.\n    * Steps to reproduce the issue.\n    * Expected vs actual behavior.\n    * Any error messages or stack traces.\n    * Relevant code snippets or files if possible.\n    * Version of `polsartools` and Python you're using.\n\n[Click here to report a bug](https://github.com/polsartools/polsartools/issues/new?template=bug_report.md)\n\n\n## 💠 Feature Requests\n\nWe’re always open to suggestions for new features or improvements!\n\n1. **Check existing feature requests:** Please make sure the feature request hasn't already been made in the [Issues section](https://github.com/polsartools/polsartools/issues).\n\n2. **Submit a feature request:** If it hasn’t been requested already, please open a new issue with the following information:\n      * A clear description of the feature.\n      * Why you think this feature would be beneficial.\n      * Any specific use cases or examples.\n\n     [Click here to request a feature](https://github.com/polsartools/polsartools/issues/new?template=feature_request.md)\n\n## 💠 Cite\n\nIf you use **`polsartoos`** in your research or projects, please cite the official journal paper:\n\n\u003e Bhogapurapu, N., Siqueira, P., \u0026 Bhattacharya, A. 2026. **polsartools: A Cloud-Native Python Library for Processing Open Polarimetric SAR Data at Scale**. *SoftwareX*, 33, 102490. doi: [10.1016/j.softx.2025.102490](http://dx.doi.org/10.1016/j.softx.2025.102490)\n\n### BibTeX\n\n```bibtex\n@article{bhogapurapu2025polsartools,\ntitle = {Polsartools: A cloud-native python library for processing open polarimetric SAR data at scale},\nauthor = {Narayanarao Bhogapurapu and Paul Siqueira and Avik Bhattacharya},journal = {SoftwareX},\nvolume = {33},\npages = {102490},\nyear = {2026},\npublisher={Elsevier},\nissn = {2352-7110},\ndoi = {https://doi.org/10.1016/j.softx.2025.102490},\n}\n```\n\n## 💠 Funding\nThis research was partially supported by NASA through the NISAR grant (#80NSSC22K1869), with additional support from the Multi-Mission Algorithm and Analysis Platform (MAAP).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolsartools%2Fpolsartools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpolsartools%2Fpolsartools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolsartools%2Fpolsartools/lists"}