Skip to content

Commit

Permalink
8.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
semiautomaticgit committed Oct 7, 2023
1 parent dbca0ce commit d4f5748
Show file tree
Hide file tree
Showing 322 changed files with 83,745 additions and 182,845 deletions.
129 changes: 129 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/
8 changes: 4 additions & 4 deletions COPYING.txt → COPYING
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Expand Down Expand Up @@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

Expand All @@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
<https://www.gnu.org/licenses/>.

The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.
76 changes: 50 additions & 26 deletions DEVELOPMENT.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,20 +1,35 @@
# Semi Automatic Classification Plugin (SCP)

![SCP](semiautomaticclassificationplugin.png) The Semi-Automatic Classification Plugin (SCP) is a free open source plugin for QGIS that allows for the supervised classification of remote sensing images, providing tools for the download, the preprocessing and postprocessing of images.

The overall objective of SCP is to provide a set of intertwined tools for raster processing in order to make an automatic workflow and ease the land cover classification, which could be performed also by people whose main field is not remote sensing.

Search and download is available for ASTER, GOES, Landsat, MODIS, Sentinel-1, Sentinel-2, and Sentinel-3 images. Several algorithms are available for the land cover classification. This plugin requires the installation of GDAL, OGR, Numpy, SciPy, and Matplotlib. Some tools require also the installation of SNAP (ESA Sentinel Application Platform).
![SCP](semiautomaticclassificationplugin.png)
The Semi-Automatic Classification
Plugin (SCP) is a free open source plugin for QGIS that allows for the
supervised classification of remote sensing images, providing tools for the
download, the preprocessing and postprocessing of images.

The overall objective of SCP is to provide a set of intertwined tools for
raster processing in order to make an automatic workflow and ease the land
cover classification, which could be performed also by people whose main field
is not remote sensing.

Search and download is available for Landsat, Sentinel-2 images.
Several algorithms are available for the land cover classification.
This plugin requires the installation of Remotior Sensus, GDAL, OGR, Numpy,
SciPy, and Matplotlib.

## Contributing to the development

These instructions will get you a copy of the plugin up and running on your local machine for development and testing purposes.
These instructions will get you a copy of the plugin up and running
on your local machine for development and testing purposes.

You do not need any of these steps if you are just interested in using the plugin.
You do not need any of these steps if you are just interested in using
the plugin.

## Before contributing

If you find a bug of if you want to add a new feature, create a new issue on GitHub to discuss it with the community. Other developers can provide valuable feedback that can improve and make your proposal or your fix even better.
If you find a bug of if you want to add a new feature,
create a new issue on GitHub to discuss it with the community.
Other developers can provide valuable feedback that can improve
and make your proposal or your fix even better.

### Prerequisites

Expand All @@ -29,13 +44,12 @@ import scipy;
>>> print(scipy.__version__);
1.0.0
```
Do the same for `matplotlib` and `numpy`.
Do the same for `remotior-sensus`, `matplotlib` and `numpy`.

If necessary, install the required libraries, using `easy_install` or `pip`.
Use `easy_install3` and `pip3` if you have both Python 2.x and 3.x.
If necessary, install the required libraries using `pip3`.

```bash
sudo easy_install3 scipy
sudo pip3 install scipy
```

### Workflow overview
Expand All @@ -48,7 +62,7 @@ Clone your fork on your local computer. You can do it on the command line with:
mkdir -p ~/dev
git clone [email protected]:yourgithubusername/SemiAutomaticClassificationPlugin.git
```
Your fork will called `origin`. Check that with:
Your fork will be called `origin`. Check that with:

```bash
cd SemiAutomaticClassificationPlugin
Expand All @@ -68,7 +82,8 @@ Create a new branch.
git checkout -b mycontribution
```

Make your changes. Compile and test your changes (more details about this on the next section).
Make your changes.
Compile and test your changes (more details about this on the next section).

When you have done your edits, commit your local changes, with something like:

Expand All @@ -80,7 +95,8 @@ Push your changes back to your GitHub repository fork with:
```bash
git push origin mycontribution
```
You are now ready to issue your Pull Request. Go to your GitHub repository interface and make your Pull Request online.
You are now ready to issue your Pull Request.
Go to your GitHub repository interface and make your Pull Request online.

### Compile and deploy on your local computer

Expand All @@ -98,25 +114,29 @@ make package VERSION=mycontribution

This will create a new archive `SemiAutomaticClassificationPlugin.zip`.

In QGIS 3 you can install a plugin from the zip archive using the plugin manager interface.
In QGIS 3 you can install a plugin from the zip archive using
the plugin manager interface.

![Install SCP from zip archive](docs/install%20SCP%20from%20zip%20archive.png)
![Install SCP from zip archive](docs/install_archive.png)

## Test the SCP

Start QGIS 3 and check if the plugin is properly installed. If you are running QGIS in another computer or using another profile, install the plugin from the zip file.

and install the plugin from the zip file created.
Start QGIS 3 and check if the plugin is properly installed.
If you are running QGIS in another computer or using another profile,
install the plugin from the zip file.

### End user test

Test your bug fixes or new features carefully. Make sure you did not break any existing code.
Test your bug fixes or new features carefully.
Make sure you did not break any existing code.

Do some screen captures of the new enhancements to publish if you want to issue a pull request.
Do some screen captures of the new enhancements to publish if you want
to issue a pull request.

## Contributing

If the code is working as you expect, follow the steps already mentioned to issue a pull request.
If the code is working as you expect, follow the steps already mentioned
to issue a pull request.

1. Commit your local changes, with something like:

Expand All @@ -128,9 +148,12 @@ Push your changes to your GitHub repository with:
```bash
git push origin mycontribution
```
Go to your GitHub repository interface and make your Pull Request. Please be verbose on your comments.
Go to your GitHub repository interface and make your Pull Request.
Please be verbose on your comments.

After doing your Pull Request, make sure you are available to provide feedback to questions and comments to your contribution from other developers. In the absence of any feedback concerning your Pull Request, it will be closed.
After doing your Pull Request, make sure you are available to provide
feedback to questions and comments to your contribution from other developers.
In the absence of any feedback concerning your Pull Request, it will be closed.

## Authors

Expand All @@ -140,4 +163,5 @@ See also the list of [contributors](https://github.com/semiautomaticgit/SemiAuto

## License

This plugin is distributed under a GNU General Public License version 3. To contribute you must accept this license.
This plugin is distributed under a GNU General Public License version 3.
To contribute you must accept this license.
13 changes: 13 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Copyright (C) 2012-2023 Luca Congedo.

Semi-Automatic Classification Plugin is free software:
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.
Semi-Automatic Classification Plugin is distributed in the hope that
it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Semi-Automatic Classification Plugin.
If not, see <https://www.gnu.org/licenses/>.
Loading

0 comments on commit d4f5748

Please sign in to comment.