Releases: spectralpython/spectral
Releases · spectralpython/spectral
Spectral Python 0.18
Changes
- Improved handling of ENVI header files:
Bug Fixes
- [Issue #38 and #39] The
tostring
method has been deprecated in newer
versions of PIL/Pillow. Usingtobytes
now and falling back totostring
if it fails. - [Issue #40] An exception was raised when trying to get a pixel's row/col
by CTRL-SHIFT-clicking in the ND window display. - [Issue #44] Matplotlib was being set to interactive mode even if no SPy
windows were displayed. This would affect behavior of other code using
Matplotlib. Interactive mode is now set only once the first display is
requested. - [Issue #49]
GaussianClassifier
andMahalanobisDistanceClassifier
method
classify_image
was failing when applied to an object that was not a
numpy.ndarray (e.g., aSpyFile
orTransformedImage
).
Spectral Python 0.17
New Features
- Functions
map_class_ids
andmap_classes
were added for mapping class
indices between images. view_nd
now accepts custom axis labels.ImageArray
andSpyFile
haveasarray
method that provides numpy
array interface.
Changes
- ENVI header parameter names are case insensitive (converted to lower-case
after being read). ImageArray
objects have additionalSpyFile
methods/attributes and
indexing behavior is now likeSpyFile
's.- An exception is now raised when attempting to open or save an image in
ENVI format with nonzero major or minor frame offsets (see issue #35).
Bug Fixes
- [Issue #27] ImageView.str failed if image did not have "bands" in
metadata.
Spectral Python 0.16.2
Bug-Fix Release 0.16.2
0.16.2 Bug Fixes
- [Issue #19] Fixed handling of intereave keyword.
- [Issue #20] envi.save_image fails when interleave keyword is provided for
single-band images. - [Issue #21] offset keyword has not effect in envi.create_image.
- [Issue #22] setup.py fails if numpy is not already installed.
- [Issue #24] save_rgb fails when format keyword is given.
- [Issue #25] view_cube fails in HypercubeWindow.load_textures.
- [Issue #26] Too few colors in view_cube side faces.
0.16.1 Bug Fixes
- [Issue #18] Missing import statements for pixel iterators.
Release 0.16.0
New Features
- Adaptive Coherence/Cosine Estimator (ACE) target detector
- Pixel Purity Index (PPI)
- Adjustable linear color stretches (based on data limits or cumulative histogram)
- Ability to save ENVI Classification files (thanks to @ohspite)
ImageView
class hasset_title
method
Changes
imshow
image displays use a linear 2% color stretch by default (can
override this inspectral.settings
)- Limited Python 3 compatibility (all functions except
view_cube
andview_nd
) supported get_rgb
handles bands with no variation (color set to min value)- Modified
view_nd
to support change in PyOpenGL API
Bug Fixes
Spectral Python 0.16.1
Bug-Fix Release 0.16.1
0.16.1 Bug Fixes
- [Issue #18] Missing import statements for pixel iterators.
Release 0.16.0
New Features
- Adaptive Coherence/Cosine Estimator (ACE) target detector
- Pixel Purity Index (PPI)
- Adjustable linear color stretches (based on data limits or cumulative histogram)
- Ability to save ENVI Classification files (thanks to @ohspite)
ImageView
class hasset_title
method
Changes
imshow
image displays use a linear 2% color stretch by default (can
override this inspectral.settings
)- Limited Python 3 compatibility (all functions except
view_cube
andview_nd
) supported get_rgb
handles bands with no variation (color set to min value)- Modified
view_nd
to support change in PyOpenGL API
Bug Fixes
Spectral Python 0.16.0
New Features
- Adaptive Coherence/Cosine Estimator (ACE) target detector
- Pixel Purity Index (PPI)
- Adjustable linear color stretches (based on data limits or cumulative histogram)
- Ability to save ENVI Classification files (thanks to @ohspite)
ImageView
class hasset_title
method
Changes
imshow
image displays use a linear 2% color stretch by default (can
override this inspectral.settings
)- Limited Python 3 compatibility (all functions except
view_cube
andview_nd
) supported get_rgb
handles bands with no variation (color set to min value)- Modified
view_nd
to support change in PyOpenGL API
Bug Fixes
Spectral Python 0.15.0
Installing
To install, uncompress the archive, cd
into the unpacked directory, and type
python setup.py install
Instead of downloading the archive, the latest release of the software can be automatically downloaded and installed using pip
:
pip install -U spectral
For information on package dependencies, see the web site.
New Features
- Added Minimum Noise Fraction (
mnf
) algorithm (a.k.a., Noise-Adjusted
Principal Components). An associatednoise_from_diffs
function enables
estimation of image noise from a homogeneous region of the image.
Changes
- 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.
Bug Fixes
- [Issue #7] Handle recognize comment lines in ENVI headers and accept blank
parameter values in the header. Thanks to Don March (http://ohspite.net) - [Issue #2] Garbage results were being generated for several algorithms when
a NaN value was present in the image data. Reasonable checks are now
performed in several algorithms and an optionalallow_nan
argument (False
by default) was added tocalc_stats
. - [Issue #1] For images with more rows than columns, the row/col of the pixel
under the mouse cursor did not display if the row index was greater than
the image width.
Performance Improvements
- [Issue #5] Improved BilFile.read_bands performance. Thanks to Don March
(http://ohspite.net) - [Issue #8] Faster creation/display of RGB images for display. Thanks to
Don March (http://ohspite.net)
Spectral Python 0.14
To install, uncompress the archive, cd
into the unpacked directory, and type
python setup.py install
Instead of downloading the archive, the latest release of the software can be automatically downloaded and installed using pip
:
pip install -U spectral
For information on package dependencies, see the web site.
Changes
- Attempt to use Pillow fork of PIL, if available, rather than older PIL.
view_cube
now uses common color scale limits on all side faces.- When creating an
AsterDatabase
instance, directories in theSPECTRAL_DATA
environment variable are search for the specified file (after the current
directory). spectral.imshow
accepts an optionalfignum
argument to render to an
existing figure.- Class labels in a
spectral.imshow
window can be reassigned even when class
labels were not provided in the function call (all pixels will start with
class 0). - File
spectral/algorithms/perceptron.py
can be used independently of the
rest of the package.
Bug Fixes
- Front and left sides of the image cube displayed by
view_cube
were
mirrored left-right. Cube aspect ratio was being computed incorrectly for
non-square images. These bugs were introduced by a recent release. - Global covariance was not being scaled properly in the
MahalanobisDistanceClassifier
. Mathematically, it does not affect results
and did not affect results on the test data but for large covariance with
many classes, it could have cause rounding/truncation that would affect
results. - PerceptronClassifier constructor was failing due to recent changes in
base class code. Unit tests have been added to ensure it continues to work
properly.
Performance Improvements
- PerceptronClassifier is roughly an order of magnitude faster due to better
use of numpy. Inputs are now scaled and weights are initialized withing the
data limits, which usually results in fewer iterations for convergence.