Git Product home page Git Product logo

rs_tools's Introduction

Remote Sensing Image Processing Tools

rs-tools provides Python programs for Remote Sensing image processing.

  • A set of programs that are widely used in optical/microwave Remote Sensing
  • Image processing tools of RGB extractor/merger, contrast enhancer, Gaussian filter, Sobel filter, etc.
  • NDVI feature generator for vegetation detection
  • K-Means unsupervised classification program

*Third-party Python Libraries used: matplotlib, numpy, opencv-python, Pillow, scikit-image, scikit-learn, scipy and tqdm To install the package:

python -m venv venv
source venv/bin/activate
pip install .

Scripts

  • ROI Clips the Region of Interest (ROI) defined by (left, right, top, bottom) pixel coordinates from an input image. The input path may be either a directory or a file. The flip argument is used to flip the image left to right. If the coordinates are not pre-defined in the commandline, press c in the preview window and define the coordinates interactively. Erase the undesired parts in the image using the e key. Press q in the preview window if the clipped image is satisfied.

    ROI --input [input path] --left [left coordinate] --right [right coordinate] --top [top coordinate] --bottom [bottom coordinate] --flip {True/False} --extension {jpg, png, tiff}
    
  • RGB_extract Extracts RGB components from a True Colour Image (TCI).

    RGB_extract --input [input path] --red [red band name] --blue [blue band name] --green [green band name] --extension {jpg, png, tiff}
    
  • RGB_merge Merges three grayscale images into a single TCI image.

    RGB_merge --input [input path] --red [red band (ex. B04)] --blue [blue band (ex. B03)] --green [green band (ex. B02)] --extension {jpg, png, tiff}
    
  • downscale Downscales the image dimension. The divisor parameter determines the level of downscaling

    downscale --input [input path] --divisor [integer] --extension {jpg, png, tiff}
    
  • contrast Enhances the contrast of a grayscale image.

    contrast --input [input path] --extension {jpg, png, tiff}
    
  • gaussian Low-pass Guassian filter.

    gaussian --input [input path] --extension {jpg, png, tiff}
    
  • SOBEL High-pass Sobel filter.

    SOBEL --input [input path] --extension {jpg, png, tiff}
    
  • NDVI Calclates and creates a grayscale Normalized Difference Vegetation Index (NDVI) image using optical NIR and VIS band images. NDVI = (NIR โ€” VIS)/(NIR + VIS) (Weier and Herring, 2000).

    NDVI --input [input directory path] --NIR [NIR band] --VIS [VIS band] --extension {jpg, png, tiff}
    
  • K_Means Unsupervised K-Means classification. The module utilizes the scikit-learn's KMeans function (Pedregosa et al. 2011)

    K_Means --input [input directory path] --features [spaced delimited list of feature names (ex. NIR VIS)] --num_classes [# classes] --extension {jpt, png, tiff}
    

    alt text alt text

  • GLCM Generates GLCM products (entropy, energy, contrast, homogeneity and dissimilarity) following the methods suggested by Ressel et al. (2015).

    GLCM --input [input image path] --products [spaced delimited list of desired products] --window_size [GLCM window size] --extension {jpt, png, tiff}
    

References

Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, D., Brucher, M., Perrot, M., & Duchesnay, E. (2011). Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research, 12, 2825โ€“2830.

Ressel, R., Frost, A., & Lehner, S. (2015). A neural network-based classification for sea ice types on X-band SAR images. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 8(7), 3672-3680.

Weier, J., & Herring, D. (2000). Measuring vegetation (ndvi & evi). NASA Earth Observatory, 20.

rs_tools's People

Contributors

sum1lim avatar

Watchers

 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.