Skip to main content

A hyperspectral imaging tools box

Project description

PySptools is a hyperspectral and spectral imaging library that provides spectral algorithms for the Python programming language. 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), the HySime Matlab module of José Bioucas-Dias and José Nascimento and science articles.

The current version introduce a scikit-learn bridge. The bridge is partial and alpha.

Functionalities

The functions and classes are organized by topics:

  • abundance maps: FCLS, NNLS, UCLS

  • classification: AbundanceClassification, NormXCorr, SAM, SID

  • detection: ACE, CEM, GLRT, MatchedFilter, OSP

  • distance: chebychev, NormXCorr, SAM, SID

  • endmembers extraction: ATGP, FIPPI, NFINDR, PPI

  • material count: HfcVd, HySime

  • noise: Savitzky Golay, MNF, whiten

  • sigproc: bilateral

  • sklearn: HyperEstimatorCrossVal, HyperSVC, HyperGradientBoostingClassifier, HyperRandomForestClassifier, HyperKNeighborsClassifier, HyperLogisticRegression and others

  • spectro: convex hull quotient, features extraction (tetracorder style), USGS06 lib interface

  • util: load_ENVI_file, load_ENVI_spec_lib, corr, cov, plot_linear_stretch, display_linear_stretch, convert2D, convert3D, normalize, InputValidation, ROIs and others

The library do an extensive use of the numpy numeric library and can achieve good speed for some functions. The library is mature enough and is very usable even if the development is at a beta stage.

Installation

PySptools can run under Python 2.7 and 3.5. It is tested with these versions but can probably run under others Python versions.

Manual installation

To install download the sources, expand it in a directory and add the path of the pysptools-0.xx.x directory to the PYTHONPATH system variable.

Distutils installation

You can use Distutils. Expand the sources in a directory, go to the pysptools-0.xx.x directory and at the command prompt type ‘python setup.py install’. To uninstall the library, you have to do it manually. Go to your python installation. In the Lib/site-packages folder simply removes the associated pysptools folder and files.

Dependencies

  • Python 2.7 or 3.x

  • Numpy, required

  • Scipy, required

  • scikit-learn, required, version >= 0.18

  • SPy, required, version >= 0.17

  • Matplotlib, required, version 1.5.3 or less (not working with 2.0.x)

  • CVXOPT, optional, to run FCLS, version 1.1.8

  • IPython, optional, if you want to use the display feature

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysptools-0.14.1.tar.gz (6.1 MB view details)

Uploaded Source

File details

Details for the file pysptools-0.14.1.tar.gz.

File metadata

  • Download URL: pysptools-0.14.1.tar.gz
  • Upload date:
  • Size: 6.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pysptools-0.14.1.tar.gz
Algorithm Hash digest
SHA256 5e38b09d660507c31212a217289ac6d30e3d51db93435d5750b1a3e52ebf5b13
MD5 7117629e5f406d36cdc9ca561fcdcccc
BLAKE2b-256 b4a4a3b10687bf57b5c10759b882bfdaf38869d4695ba71926b6693be0043672

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page