Spectral Python / News: Recent posts

Spectral Python 0.16.0 adds Adaptive Coherence Estimator (ACE) and Pixel Purity Index (PPI)

Spectral Python (SPy) is a python package for hyperspectral image processing.

Release 0.16.0 adds Python 3 support for all functions except view_cube and 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

Posted by Thomas Boggs 2014-10-19

Spectral Python 0.15.0 adds Minimum Noise Fraction (MNF)

New Features

  • Added Minimum Noise Fraction (mnf) algorithm (a.k.a., Noise-Adjusted
    Principal Components). An associated noise_from_diffs function enables
    estimation of image noise from a homogeneous region of the image.


  • When calling envi.save_image, assume an ndarray with two dimensions is
    a single-band image (i.e., don't require an explicit third dimension).
  • [Issue #9] All SpyFile subclass read methods now have an optional
    use_memmap argument to indicate whether the memmap interface should be
    used (vice direct file read) on a per-call basis. Default values are
    specific to the particular method and file interleave.... read more
Posted by Thomas Boggs 2014-06-05

New GUI Features and Performance Improvements in Spectral Python (SPy) 0.13

The SPy imshow wrapper around matplotlib's imshow function provides numerous new features, including:

  • Interactive image class labeling using keyboard & mouse

  • Zoom windows

  • 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

Posted by Thomas Boggs 2014-01-06 Labels: python hyperspectral spectral

Spectral Python 0.12 has been released

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.

Posted by Thomas Boggs 2013-09-07

SPy 0.11 adds anomaly detection and ability to save/create hyperspectral image files.

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).

Posted by Thomas Boggs 2013-04-04

SPy 0.10.1 bug-fix release is now available

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
exception raised.

If you have installed SPy 0.10, you should install this update as soon as possible.

Posted by Thomas Boggs 2013-02-23

Spectral Python now uses IPython

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).

Posted by Thomas Boggs 2013-02-17

Spectral Python 0.9 Released

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.

Posted by Thomas Boggs 2013-01-24

Spectral Python N-Dimensional Visualization

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).

Posted by Thomas Boggs 2012-07-15

Spectral Python (SPy) 0.7 is now available

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.

Posted by Thomas Boggs 2012-02-28

Spectral Python (SPy) 0.6 Released.

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.

Posted by Thomas Boggs 2011-01-18

SPy 0.5 Released

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.

Posted by Thomas Boggs 2010-07-11

SPy migrated to NumPy, Python 2.5, and wxPython 2.8

Version 0.4 migrates SPy from Numeric to Numpy, updates the wxPython version to 2.8 and adds compatibility with Python 2.5.

Posted by Thomas Boggs 2008-02-29

Neural Networks and Hypercubes in SPy 0.3

New features:
* 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.

Posted by Thomas Boggs 2006-07-20

SPy 0.2 Released

BSQ Interleave now supported.
Mahalanobis classifier added.
Numerous usability improvements.

Check release notes and change log for details.

Posted by Thomas Boggs 2006-06-16

BSQ Interleave Now Supported

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).

Posted by Thomas Boggs 2002-10-07

SPy Initial Release

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.

Posted by Thomas Boggs 2001-12-19