Skip to content

Latest commit

 

History

History
59 lines (32 loc) · 4.44 KB

README.md

File metadata and controls

59 lines (32 loc) · 4.44 KB

MST_Logo
license language language purpose

What is the Multispectral Sorting Tool?

This tool was built to solve a business process inefficiency pertaining to the workflow of remote sensing and GIS specialists relying on the collection of substantial amounts of aerial imagery data. More specifically, imagery data containing different spectral colour bands to produce high quality orthomosaics or other georeferenced datasets. With this tool, images of different colour bands are automatically sorted in corresponding directories.

The automation of this business process has been tailored and tested on dozens of real-world cases and was most utilised when sorting data collected by the DJI Phantom Multispectral device. However, because the tool relies on the XMP metadata standard and its "camera:band" key-value pairs, this workflow has been effective with other multispectral multi-camera systems.

Variants

The Multispectral Sorting Tool has been built in two flavours, one with Python and the other with .NET (6.0). This was done in order to offer a reasonable level of flexibility that may be required when using external Geogrophical Information System tools such as QGIS, ArcGIS, GlobalMapper, etc.

.NET (6.0) dotnetcore

The .NET variant relies on the MetaData Extractor Library version 2.7.1, which license can be found here. It was originally developed in Java and later ported to .NET C# using sharpen. This libary is implemented as a Nuget package.

Python 🐍

The Python variant relies on the Python XMP Toolkit which also requires the Exempi package to work. This latter dependency does not officially support Windows at this time, the Python tool is therefore strongly discouraged for Windows systems.

Recommended Variant

The recommended variant to use is .NET. Indeed, it is substantially more performant as a compiled language and is compatible with all major platforms such as Windows and UNIX based operating systems.

Python can still be used for specific use cases such as integration in already existing Python-based worflow/business processes.

Usage

It is first required that all images be transferred in the same directory, preferably a new one. Images from subdirectories will be ignored.

.NET (6.0) dotnetcore

Simply download the appropriate compiled executable from the compiled folder or from the following list and place said executable in the same directory where the target images are stored.

For MacOS (Big Sur and above)

For Ubuntu (LTS & Current)

Python 🐍

  • Import the required Python XMP Toolkit module and its dependencies using the requirements.txt file with the PIP command pip install -r /path/to/requirements.txt or install it manually with pip install python-xmp-toolkit
  • Install the Exempi package for your distribution. More information on how to acquire the package can be found on the Python XMP Toolkit documentation page
  • Execute main.py in the same directory where the target images are stored.

Licence

license