Spectral Python (SPy) is a python package for hyperspectral image processing.
Release 0.16.0 adds Python 3 support for all functions except
view_nd. Note that for Python 3, you should use the Qt4Agg matplotlib backend.
New features in this release include the Adaptive Coherence/Cosine Esimator (
ace) target detector, Pixel Purity Index (
ppi), ability to save ENVI classification files (
envi.save_classification), and linear contrast enhancement (by data limits or cumulative histogram percentiles). The SPy
imshow function now applies a 2% histogram color stretch by default (this can be overridden in the
spectral.settings object).... read more
mnf) algorithm (a.k.a., Noise-Adjusted
envi.save_image, assume an ndarray with two dimensions is
use_memmapargument to indicate whether the memmap interface should be
The SPy imshow wrapper around matplotlib's imshow function provides numerous new features, including:
Interactive image class labeling using keyboard & mouse
Class overlays with adjustable transparency
Dynamic view of changing pixel classes when modified in an ND Window.
Data/Statistic cacheing and more efficient use of numpy provides significant performance improvement in mutiple algorithms (GMLC 14x, Mahalanobis classifier 8x, kmeans 3x). Functions rx and matched_filter are significantly faster, particularly when using common global covariance.... read more
SPy 0.12 adds the ability to use local image statistics for RX anomaly detection. A new memmap interface enables simplified creation of synthetic hyperspectral images. The ability to suppress progress status messages and the addition of a wrapper around matplotlib's imshow function enable simplified integration of SPy code in IPython Notebooks.
Release 0.11 of Spectral Python (SPy) adds an RX anomaly detector, ability to save and create images in ENVI format (see envi.save_image and envi.create_image), and a unit-testing sub-package. The top-level namespace has been simplified and several functions have been renamed for consistency (image is now open_image and save_image is now save_rgb).
This is a bug-fix release that corrects the spectrum displayed when double-
clicking on a raster display. Version 0.10 introduced a bug that had the
row/column swapped, resulting in either the wrong pixel being plotted or an
If you have installed SPy 0.10, you should install this update as soon as possible.
With the release of Spectral Python (SPy) 0.10, SPy now uses IPython for non-blocking GUI functions (raster views, hypercubes, N-Dimensional scatter plots, and spectral plots). To enable this capability, start IPython in pylab mode before importing spectral (see the SPy User's Guide for details).
SPy 0.9 adds a linear matched filter target detector (MatchedFilter) and provides a generic LinearTransform object that can be applied to a SpyFile object or numpy.ndarray.
Spectral Python (SPy) 0.8 adds an N-dimensional visualization capability for hyperspectral image data. The N-D display allows up to 24 features to be displayed simultaneously in an interactive, 3D display. Data points (HSI pixels) can be selected in the display to identify their location in the source image and regions of pixels can be selected to reassign their class IDs. See the updated documentation for details (http://spectralpython.sourceforge.net/graphics.html#nd-displays).
Reading sections of images is about 10 times faster now. The k-means algorithm is also about 10 times faster (for in-memory images). Numerous methods/functions have been renamed for consistency with external packages.
SPy 0.6 includes ASTER Spectral Library support and ability to save spectral libraries (in ENVI HDR format). Installation is now via distutils and the user guide is now provided online at http://spectralpython.sourceforge.net/user_guide.html.
New features include Matplotlib for spectral plots, spectral band resampling, and support for spectral library files (ENVI .sli/.hdr files). An image loading function has been added for significant performance improvements.
Version 0.4 migrates SPy from Numeric to Numpy, updates the wxPython version to 2.8 and adds compatibility with Python 2.5.
* Multi-layer Perceptron classifier
* Interactive hypercube dispay
* SPECTRAL_DATA environment variable for data directories
Also several changes to existing code.
See HISTORY.txt and CHANGELOG.txt for details.
BSQ Interleave now supported.
Mahalanobis classifier added.
Numerous usability improvements.
Check release notes and change log for details.
Finally added support for band-sequential (BSQ) interleave files. Also, improved support for ENVI hdr files (float32 and uint16 data types recognized). Get the latest files from CVS (new version release coming soon).
SPy 0.1 is now available for download in the Files section. Much still needs to be done but the software is functional. Any feedback is welcome.