Table Of Contents

Welcome to the PySptools documentation

Tools for hyperspectral imaging

This is the documentation at 2014-11-13.
stacked abundance maps

Hyperspectral imaging is used to visualize chemistry, the spatial relation between chemicals and the proportion of them. PySptools is a python module that implements spectral and hyperspectral algorithms. Specializations of the library are the endmembers extraction, unmixing process, supervised classification, target detection, noise reduction, convex hull removal and features extraction at spectrum level. The library is designed to be easy to use and almost all functionality has a plot function to save you time with the data analysis process. The actual sources of the algorithms are the Matlab Hyperspectral Toolbox of Isaac Gerg, the pwctools of M. A. Little, the Endmember Induction Algorithms toolbox (EIA) and the HySime Matlab module of José Bioucas-Dias and José Nascimento. You can download PySptools from the PySptools Project Page hosted by Sourceforge.net or from the pypi packages repository.

Project web site

Next version

The port into Python 3.3 is completed. The next step is to integrate part of machine learning. The first candidate to integration is the SVM (Support Vector Machines) algorithm.

Version 0.12.2 (beta)

This is a maintenance version: code review, bugs fix, classes refactoring and many small improvements that have not a direct impact on the functionality.

New

  • Full Python 3.3 compatibility. However, there is a drawback, as the SPy software ENVI file reader is not ported to Python 3.3, instead, pysptools use a JSON version for the USGS spectral library. See the spectro module documentation.
  • The scikit-learn KMeans class is wrapped to make it user-friendly when applied to a HS cube. This new class live in the classification module.
  • A new Pine Creek example that illustrate the use of KMeans with unmixing.

Examples

A simple comparaison between ATGP and NFINDR.

Methanol gas synthetic images made by unmixing. The data used for the demonstration is acquired with a Telops Hyper-Cam instrument.

Quartz classification of a drill core datacube. The data used for the demonstration is acquired with a Telops Hyper-Cam instrument.

Smokestack effluents analysis. The data used for the demonstration is acquired with a Telops Hyper-Cam instrument.

Some examples of convex hull removal and features extraction.

Following examples use the IPython Notebook.

Documentation

Download and installation

Introduction

Summary of functions and classes by modules

  1. abundance_maps (linear unmixing)
  • FCLS (function and class)
  • NNLS (function and class)
  • UCLS (function and class)
  1. classification
  • NormXCorr (class)
  • KMeans (class)
  • SAM (class)
  • SID (class)
  1. detection
  • ACE (function and class)
  • CEM (function and class)
  • GLRT (function and class)
  • MatchedFilter (function and class)
  • OSP (function and class)
  1. distance
  • chebyshev (function)
  • NormXCorr (function)
  • SAM (function)
  • SID (function)
  1. eea (endmembers extraction algorithms)
  • ATGP (function and class)
  • FIPPI (function and class)
  • NFINDR (function and class)
  • PPI (function and class)
  1. formatting
  • convert2d (function)
  • convert3d (function)
  • normalize (function)
  1. material_count
  • HfcVd (function and class)
  • HySime (function and class)
  1. noise
  • Savitzky Golay filter (class)
  • MNF (class)
  • Whiten (function and class)
  1. sigproc
  • bilateral (function)
  1. spectro
  • convex_hull_removal (function)
  • FeaturesConvexHullQuotient (class)
  • SpectrumConvexHullQuotient (function with a class interface)
  • USGS06SpecLib (class)
  1. util
  • load_ENVI_file (function) (Python 2.7 only)
  • load_ENVI_spec_lib (function) (Python 2.7 only)
  • corr (function)
  • cov (function)
  • display_linear_stretch (function)
  • plot_linear_stretch (function)

Glossary

Release notes

Links

Indices and tables