Software
Installation
Conda
If you wish to install RSGISLib, ARCSI and the other tools we make available using the conda Python package manager then this video provides a complete run through of the process. Note, the recommended options and versions have been updated from the video so take those from the following commands:
I would now recommend that you use the mamba command, rather than conda for the installation as it is quicker and easier. Mamba is a reimplmentation of conda using C++ rather than python. Therefore, all you need to do is to install mamba into your conda environment (command below) and then replace conda with mamba in all the commands you run.
conda install mamba -n base -c conda-forge
Commands for create an environment and installing RSGISLib, ARCSI etc.
# Create a New Environment
conda create -n osgeo-env-v1 python=3.10
# Change to the environment
source activate osgeo-env-v1
# Install RSGISLib and ARCSI
mamba install -c conda-forge rsgislib arcsi tuiview
# Install RSGISLib other useful packages:
mamba install -c conda-forge rsgislib h5py parallel scikit-learn scikit-image matplotlib pandas geopandas statsmodels scipy rasterio shapely networkx sqlalchemy pycurl seaborn numba pip rtree pygal jupyterlab pysal libpysal esda pyyaml netcdf4 xarray fiona psycopg2 ipywidgets contextily cvxopt feather-format pyod xlsxwriter openpyxl SALib tuiview
# Some extras only avilable via pip
pip install matplotlib_scalebar pysptools
Docker and Singularity
The easiest way to install our software is through Docker or Singularity, as shown below:
# Pull the docker image to your local system
docker pull petebunting/au-eoed
# Pull the docker image using singularity
singularity build au-eoed.sif docker://petebunting/au-eoed
Software We Maintain
RSGISLib
The remote sensing and GIS software library, tools for processing image and vector datasets using Python.
ARCSI
http://remotesensing.info/arcsi
A set of tools for the automated productions of Analysis Ready Optical Data (ARD). Supports Landsat and Sentinel-2.
EODataDown
http://remotesensing.info/eodatadown
Software for creating an EO based monitoring system.
KEALib
HDF5 based image file format with GDAL driver.
SPDLib
HDF5 based file format for LiDAR data and tools for processing LiDAR datasets.
pylidar
Python module for reading, writing and processing LiDAR datasets.
Tuiview
Lightweight Earth Observation (EO) image viewer.
Other Software
Accessing and Storing Data
- GDAL - Reading and writes pretty much all the file formats we use and provides a set of useful tools for manipulating data.
- RIOS - Python module for access image pixel values for analysis.
- Open Data Cube - Python module for storing and accessing very large timeseries of raster data.
Visualisating Data
- QGIS - Open source graphical GIS software.
- Cartopy - Python module for making maps, built on Matplotlib.
Useful Python Modules
- Python-FMASK - This is a python implementation of the FMask algorithm for cloud masking Landsat 4-8 data and Sentinel-2. This library is used with ARCSI to perform cloud masking.
- scikit-image - Python library for manipulating image data. When linked with RIOS it is very powerful in terms of analysing spatial image data.
- shapely - A python library which provides functionality from the GEOS library for manipulating vector geometries.
- Fiona - A python library for the manipulation of vector data.
- pyroSAR - The pyroSAR package aims at providing a complete solution for the scalable organization and processing of SAR satellite data.
- PyRAT - General purpose Synthetic Aperture Radar (SAR) postprocessing software package
Machine Learning Python Modules
- scikit-learn - A powerful and easy to use machine learning library which can be linked with RIOS to perform many classification and clustering operations. Used a lot within RSGISLib to provide classification functionality.
- tensorflow - A core open source library to help you develop and train ML models.
- PyTorch - An open source machine learning framework that accelerates the path from research prototyping to production deployment.
- PyOD - PyOD is a comprehensive and scalable Python toolkit for detecting outlying objects in multivariate data.
Models
- DART - DART models radiative transfer in the system "Earth - Atmosphere", from visible to thermal infrared. It simulates measurements (images, waveforms,…) of passive and active (lidar) satellite/plane sensors, as well as the radiative budget, for urban and natural landscapes.
- Py6S - Py6S is a interface to the Second Simulation of the Satellite Signal in the Solar Spectrum (6S) atmospheric Radiative Transfer Model through the Python programming language.