"Remote Sensing" is the name of the remote sensing project that is developed with Python inspired by ENVI (software developed by L3Harris Geospatial) but a little bit more better
Remote sensing is the acquisition of information about an object or phenomenon without making physical contact with the object, in contrast to in situ or on-site observation. The term is applied especially to acquiring information about Earth and other planets...
Due to my personal interest in applying modern technologies in daily work, I decided to create this repository for the remote sensing applications
In this Repository you will see several folders, and each folder is about specefic topic.
It is better to introduce folders immediately without wasting time, so let's get start it....
In this folder you only learn about how to import your satellite images and visulize it. there is nothing important about it and just a kickoff on remote sensing by Python :) here is some of the exampel about what you see and what you gonna do with your data
Image enhancement is the process of adjusting digital images so that the results are more suitable for display or further image analysis. For example, you can remove noise, sharpen, or brighten an image, making it easier to identify key features. In this repository I've tried different methods of Image enhancement (e.g. Gamma, Logarithm, Sigmoid function and etc.) that is available in scikit-image module on Python with Landsat-8 Images. The image below by using Gamma method.
Here you can mask your images by considering shape file (.shp):
An orthomosaic is a photogrammetrically orthorectified image product mosaicked from an image collection, where the geometric distortion has been corrected and the imagery has been color balanced to produce a seamless mosaic dataset.
The HSV (which stands for Hue Saturation Value) scale provides a numerical readout of your image that corresponds to the color names contained therein
A spectral profile consists of geometry to define the pixel selection and an image with key metadata from which to sample. To create a chart, right-click the layer you want analyze in the Contents pane, point to Create Chart, and click Spectral Profile to open the Chart Properties pane.
Principal component analysis, or PCA, is a statistical procedure that allows you to summarize the information content in large data tables by means of a smaller set of “summary indices” that can be more easily visualized and analyzed. in this image I use PCA on Landsat 8 satellite Images by using scikit-learn on Python.
Spectral indices are combinations of spectral reflectance from two or more wavelengths that indicate the relative abundance of features of interest. Vegetation indices are the most popular type, but other indices are available for burned areas, man-made (built-up) features, water, and geologic features.
k-means clustering is a method of vector quantization, originally from signal processing, that aims to partition n observations into k clusters in which each observation belongs to the cluster with the nearest mean, serving as a prototype of the cluster. In this Image I tried k-means method with 4 clusters on my landsat8 Images.
Filtering is used to enhance the appearance of an image. Spatial filters are designed to highlight or suppress specific features in an image based on their spatial frequency.
n statistical analysis, change detection or change point detection tries to identify times when the probability distribution of a stochastic process or time series changes. In this section I decide to use to Change Vector Analysis (CVA) methods (Such as Change Direction and Change Magnitude) on my data.
Gray-Level Co-Occurrence Matrix, or GLCM is a second-order statistical texture analysis method. It examines the spatial relationship among pixels and defines how frequently a combination of pixels are present in an image in a given direction Θ and distance d.
In machine learning, support vector machines (e.g. SVM) are supervised learning models with associated learning algorithms that analyze data for classification and regression analysis.
Time Series Analysis is a way of studying the characteristics of the response variable concerning time as the independent variable. In mathematics, a time series is a series of data points indexed in time order. Most commonly, a time series is a sequence taken at successive equally spaced points in time. Thus it is a sequence of discrete-time data.
Convolutional Neural Network (CNN) is a regularized type of feed-forward neural network that learns feature engineering by itself via filters optimization. Vanishing gradients and exploding gradients, seen during backpropagation in earlier neural networks, are prevented by using regularized weights over fewer connections. Hear I used my CNN model for lithology classification on my Sentinel-2 satellite image and my Ground truth data. and for the validation part you can use ROC curve and Confusion Martix. A receiver operating characteristic curve, or ROC curve, is a graphical plot that illustrates the diagnostic ability of a binary classifier system as its discrimination threshold is varied. The ROC curve is the plot of the true positive rate against the false positive rate, at various threshold settings. A Confusion matrix is an N x N matrix used for evaluating the performance of a classification model, where N is the number of target classes. The matrix compares the actual target values with those predicted by the machine learning model.
Remote Sensing is licensed under the MIT License.
Contributions are welcome! If you'd like to contribute to this project, please send me an E.mail.
I would like to thank the open-source community for the libraries and tools used in this project. Also I like to thank Vcafe (Felestin St.) and Levana Cafe (ASP Towers) for the coffees; The project would not have been completed without the coffees of these two cafes...
Enjoy ;)
https://orcid.org/0009-0008-3800-8688
And if you have question, don't hesitate and ask ;)
E.mail: [email protected]