{"id":21039056,"url":"https://github.com/image-py/gistool","last_synced_at":"2025-03-13T21:16:30.192Z","repository":{"id":109166558,"uuid":"189930569","full_name":"Image-Py/gistool","owner":"Image-Py","description":null,"archived":false,"fork":false,"pushed_at":"2019-09-15T11:31:18.000Z","size":86,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-20T16:33:08.739Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Image-Py.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-03T03:45:59.000Z","updated_at":"2019-09-15T11:31:20.000Z","dependencies_parsed_at":"2023-03-09T20:30:27.071Z","dependency_job_id":null,"html_url":"https://github.com/Image-Py/gistool","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Image-Py%2Fgistool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Image-Py%2Fgistool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Image-Py%2Fgistool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Image-Py%2Fgistool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Image-Py","download_url":"https://codeload.github.com/Image-Py/gistool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243482927,"owners_count":20297906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-19T13:37:30.875Z","updated_at":"2025-03-13T21:16:30.161Z","avatar_url":"https://github.com/Image-Py.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GIS And RS Tool\n\n**Path:** https://github.com/Image-Py/gistool\n\n**Version:** 0.1\n\n**Author:** YXDragon\n\n**Email:** yxdragon@imagepy.org\n\n**Keyword:** gis, modis, rs\n\n**Description:** a toolkit developed for gis image processing\n\nyou must fill the information upon, and you can not remove or insert line, you can write free below.\n\n[ImagePy](https://github.com/Image-Py/imagepy) is an image processing framework developed in Python. We can extend it with plugin esaily, This project is a toolkit developed for sea ice rs image processing. Please install [ImagePy](https://github.com/Image-Py/imagepy) first, then use **Plugins \u003e Install \u003e Install Plugins** then input this project's git address. Enter, then ImagePy will install this toolkit automotely.(maybe the gdal lib will got some trouble, please use whl [here](https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal))\n\n\n\n**Paper About ImagePy on Bioinformatics**:\n\n[ImagePy: an open-source, Python-based and platform-independent software package for bioimage analysis](https://academic.oup.com/bioinformatics/advance-article/doi/10.1093/bioinformatics/bty313/4989871)\n\n\n\n## High Definition Segmentation\n\nThis is a HD RS Image, Now we try to segmet it from each bright line and recognise each fragment is water or ice. You can follow the method below, And you can also use **Ice \u003e HD Segment Demo**, you can got a macros like an animation.\n\n![](http://idoc.imagepy.org/ice/30.gif)\n\n\n\n**File \u003e Open** to open a HD sea ice image, or you can use **Ice \u003e HD Ice Image** to open our demo image below.\n\n![](http://idoc.imagepy.org/ice/22.png)\n\n\n\n**Process \u003e Filter \u003e Sobel** direction=both, then we got a edge gradient image.\n\n![](http://idoc.imagepy.org/ice/23.png)\n\n\n\n**Process \u003e Filter \u003e Gaussian** sigma=3, do a gaussian filter to smooth the gradient image.\n\n![](http://idoc.imagepy.org/ice/24.png)\n\n\n\n**Process \u003e Math \u003e Multiply** multiply 3, bright the image.\n\n![](http://idoc.imagepy.org/ice/25.png)\n\n\n\n**Process \u003e Hydrology \u003e Find Minimum** tolerance=10, find the local minimum, and use this points as rood for watershed.\n\n![](http://idoc.imagepy.org/ice/26.png)\n\n\n\n**Process \u003e Hydrology \u003e Watershed With ROI** got the watershed edge.\n\n![](http://idoc.imagepy.org/ice/27.png)\n\n\n\n**Edit \u003e Invert** invert it then the region are in white.\n\n![](http://idoc.imagepy.org/ice/28.png)\n\n\n\n**Analysis \u003e Region Analysis \u003e Intensity Filter** use the segmentation image as result, and do a Intensity Analysis with the original image, because the ice is brighter then water, so we use every fragment's mean value to check if it is ice.\n\n![](http://idoc.imagepy.org/ice/29.png)\n\n\n\nthen overlay the line on the original image, and set a color map, we got the result below. And we can also export the result as a gif animation. ImagePy can do these esaily, but it is not our key here.\n\n![](http://idoc.imagepy.org/ice/31.png)\n\n\n\n## Modis Image Segmentation\n\nHere we do segment with modis data. Modis data are saved as tiff file, which contains the geo project information. \n\n**Ice \u003e Geo Tiff Open** you must use geo tiff open to open the modis data, if you use normal open method, you would not got the geo information. **Ice \u003e Modis Test Data** can open some demo data.\n\n![](http://idoc.imagepy.org/ice/1.png)\n\n\n\n**Rectangle Select Tool** the first tool in toolbar, make a rectangle selection.\n\n![](http://idoc.imagepy.org/ice/2.png)\n\n\n\n**Ice \u003e Duplicate With Projection** if use normal duplicate method, the geo information will be lost.\n\n![](http://idoc.imagepy.org/ice/3.png)\n\n\n\n**Ice \u003e Load Geo Roi** the Geo ROI is the landedge, if you has a shapefile, you can use the landedge tu clip the image, if you did not have, I think it doesnot matter, the interactive segment method below can also exclude the land area. **Ice \u003e Bohai Landedge** is a landedge acrroding the demo data.\n\n![](http://idoc.imagepy.org/ice/4.png)\n\n\n\n**Image \u003e Clear Out** clear the land area\n\n![](http://idoc.imagepy.org/ice/5.png)\n\n\n\n**Grab Tool** which has a scissors icon, this tool is a wraper with opencv's grabcut, **move mouse, use left key to mark the ice(red), and left key to mark the water(blue) then click left key with ctrl pressed** we can got the red edge, this is our segmentation result.\n\n![](http://idoc.imagepy.org/ice/6.png)\n\n\n\nIf we did not satisfy the result, we can use **ctrl + z** to undo, then repair the mark, then give a **left click with ctrl** again, util the result is OK.\n\n![](http://idoc.imagepy.org/ice/7.png)\n\n\n\nthen **undo** again, and give a **left click with alt**, program will clear the water area.\n\n![](http://idoc.imagepy.org/ice/8.png)\n\n\n\n**Image \u003e Type \u003e 8-bit** transform to 8 bit gray image.\n\n![](http://idoc.imagepy.org/ice/9.png)\n\n\n\n**Process \u003e Math \u003e Max** bright the background, make it same as the water.\n\n![](http://idoc.imagepy.org/ice/10.png)\n\n\n\n**Process \u003e Filter \u003e UnSharp Mask** do a Unsharm Mask Enhance.\n\n![](http://idoc.imagepy.org/ice/11.png)\n\n\n\n**Image \u003e Adjust \u003e Threshold** do a threshold, then we got the binary mask.\n\n![](http://idoc.imagepy.org/ice/12.png)\n\n\n\n**Process \u003e Binary \u003e Binary Watershed** do a binary watershed, segment the binary mask in fragments.\n\n![](http://idoc.imagepy.org/ice/14.png)\n\n\n\n**Ice \u003e Ice Statisticnt** statistic the all fragments, draw a area/Frequence graph.\n\n![](http://idoc.imagepy.org/ice/15.png)\n\n\n\n**Ice \u003e Show Resultl** after the segmentation, we can make a colorful report, which show the Ice distribution.\n\n![](http://idoc.imagepy.org/ice/16.png)\n\nyou can also use **Ice Export To Shapefile**, **Ice Export To WKT** to save the result as a shapefile or wkt file.\n\n\n\n## Geo Match and Differece Analysis\n\n**Ice \u003e Geo Match** because we has geo project information, so we can match two images exactly.\n\n![](http://idoc.imagepy.org/ice/18.png)\n\n\n\n**then extract the ice area from the two images just like befor**. \n\n![](http://idoc.imagepy.org/ice/19.png)\n\n\n\n**Ice \u003e Ice Differenc** we got a new image, which has 4 colors. both water, both ice, the new ice, water-\u003eice, ice-\u003ewater.\n\n![](http://idoc.imagepy.org/ice/20.png)\n\n\n\nchoose a blue color map\n\n![](http://idoc.imagepy.org/ice/21.png)\n\n\n\n## Moving Detect\n\nHere are some thunder time series image data, we need detect the water's direction and velocity from the time series. You can follow the method below, And you can also use **Ice \u003e Move Detect Demo**, you can got a macros like an animation.\n\n![](http://idoc.imagepy.org/ice/36.gif)\n\n\n\n**File \u003e Import Sequence** to import image sequence, or you can use **Ice \u003e Thunder Sequence** open the demo data.\n\n![](http://idoc.imagepy.org/ice/33.png)\n\n\n\n**Ice \u003e Move Detec** moving detect use scikit-image's orb feature descripter do match within each slice, sample means the down sample scale, sigma means do a gaussian befor the feature extract, and std means the limit when count the affine matrix.\n\n![](http://idoc.imagepy.org/ice/34.png)\n\n\n\nthen we got a table, each row means one transformation, and mark the current velocity and direction on the image.\n\n![](http://idoc.imagepy.org/ice/35.png)\n\n\n\n## ImagePy\n\nImagePy could do many other things, the basic mathematical operations, filters, pixel statistics, 3D reconstruction and other functions, It is useful in biology, material, industry... here is a brief gallery.\n\n![](http://idoc.imagepy.org/ice/37.jpg)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimage-py%2Fgistool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimage-py%2Fgistool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimage-py%2Fgistool/lists"}