Code Monkey home page Code Monkey logo

geopatch's Introduction

GeoPatch is a package for generating patches from remote sensing data PyPI version Downloads Github LinkedIn Twitter URL

GeoPatch enables the user to read, process and export GeoTIFFs in various patch sizes. The module is built on the Rasterio library but is much more convenient when it comes to reading and exporting GeoTIFs patches for training deep learning models.

Using this package user is able to feed satellite imagery and corresponding label data and exports patches in both Geotiff and Numpy array.

Any feedback from users is welcome and you can write to me at [email protected] in case of any contribution or suggestion.

Quick tutorial on how to use GeoPatch

1- Installation :

pip install GeoPatch

2- Calling the Package:

from GeoPatch import TrainPatch

3- Feeding data

for image and label variables both string and array

can be passed and the function automatically process and read dataset.

patch= TrainPatch( image="xxx/image.tif", label="xxx/label.tif",

patch_size=128, stride=64, channel_first=True)

4- Input data specifications

Using follwoing code the the shape and size of data can be displayed

patch.data_dimension()

5- Patch details

To display the number of orginal image patches can be generated based on given patch size and stride values.

patch.patch_info()

6- Saving image patch as a Geotiff file

To save image patches as Geotiff files in the current working directory with the given "folder_name", and if "only_label" pass as True, only patches will be save that has labelled data.

patch.save_Geotif(folder_name="tif", only_label=True)

7- Saving image patch as a Numpy array

Using this function image patches will be generated in Numpy format with data augmentation options. V_flip and H_flip are used to vertically and horizontally flip patches, respectively, and rotation is used to rotate patches in 90,180 and 270 degree.

patch.save_numpy(folder_name="npy", only_label=False, return_stacked=False, save_stack=False, V_flip=True, H_flip=True, Rotation=True)

#to return numpy patches as a stack file:

patch, label= patch.save_numpy(folder_name="npy", only_label=False, return_stacked=True, save_stack=False, V_flip=True, H_flip=True, Rotation=True)

8- Patch visualization

Patches with their corresponding labels can be displayed using this line of code.

In "folder_name" the exact name of the folder that patches are located in should be passed.

patch.visualize(folder_name='npy',patches_to_show=2,band_num=1,

fig_size=(10, 20),dpi=96)

9- Generating Prediction Patch

Using the following line of codes prediction patches can be generated.

from GeoPatch import PredictionPatch
Prediction= PredictionPatch( image="xxx/test_image.tif", patch_size=128, stride=128, channel_first=True)
Prediction.data_dimension()
Prediction.patch_info()

10- Saving Prediction Patches

Using the following line of code prediction patches can be saved as GeoTIF format in the provided folder.

Prediction.save_Geotif('folder_name')

geopatch's People

Contributors

hejarshahabi avatar

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.