-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathindex.html
More file actions
287 lines (275 loc) · 22.3 KB
/
index.html
File metadata and controls
287 lines (275 loc) · 22.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Welcome to Spectral Python (SPy) — Spectral Python 0.21 documentation</title>
<link rel="stylesheet" href="_static/classic.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/language_data.js"></script>
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Spectral Python (SPy) User Guide" href="user_guide.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="py-modindex.html" title="Python Module Index"
>modules</a></li>
<li class="right" >
<a href="user_guide.html" title="Spectral Python (SPy) User Guide"
accesskey="N">next</a> |</li>
<li class="nav-item nav-item-0"><a href="#">Spectral Python 0.21 documentation</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="welcome-to-spectral-python-spy">
<span id="home"></span><h1>Welcome to Spectral Python (SPy)<a class="headerlink" href="#welcome-to-spectral-python-spy" title="Permalink to this headline">¶</a></h1>
<div class="figure align-center">
<a class="reference internal image-reference" href="_images/hypercube_big.jpg"><img alt="_images/hypercube_big.jpg" src="_images/hypercube_big.jpg" style="width: 315.0px; height: 315.0px;" /></a>
</div>
<p>Spectral Python (SPy) is a pure Python module for processing hyperspectral image
data. It has functions for reading, displaying, manipulating, and classifying
hyperspectral imagery. It can be used interactively from the Python command
prompt or via Python scripts. SPy is free, Open Source software distributed
under the <a class="reference external" href="https://mit-license.org/">MIT License</a>.
To see some examples of how SPy can be used, you may want to jump straight to
the documentation sections on <a class="reference internal" href="graphics.html#graphics"><span class="std std-ref">Displaying Data</span></a> or <a class="reference internal" href="algorithms.html#algorithms"><span class="std std-ref">Spectral Algorithms</span></a>. A
categorized listing of the main classes and functions are in the
<a class="reference internal" href="class_func_glossary.html#class-func-glossary"><span class="std std-ref">Class/Function Glossary</span></a>. You can download SPy from
<a class="reference external" href="https://github.com/spectralpython/spectral/releases/latest">GitHub</a>
or the <a class="reference external" href="https://pypi.python.org/pypi/spectral">Python Package Index (PyPI)</a>.
See the <a class="reference internal" href="installation.html#installation"><span class="std std-ref">Installing SPy</span></a> section section of the documentation for details.</p>
</div>
<div class="section" id="documentation">
<h1>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h1>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="user_guide.html">Spectral Python User Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="user_guide_intro.html">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="fileio.html">Reading HSI Data Files</a></li>
<li class="toctree-l2"><a class="reference internal" href="graphics.html">Displaying Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="algorithms.html">Spectral Algorithms</a></li>
<li class="toctree-l2"><a class="reference internal" href="libraries.html">Spectral Libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="class_func_glossary.html">Class/Function Glossary</a></li>
<li class="toctree-l2"><a class="reference internal" href="class_func_ref.html">Class/Function Documentation</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="section" id="news">
<h1>News<a class="headerlink" href="#news" title="Permalink to this headline">¶</a></h1>
<p>2020-04-26 : As of version 0.21, Spectal Python (SPy) is released under the <a class="reference external" href="https://mit-license.org/">MIT License</a>.</p>
<p>2019-10-06 : SPy 0.20 adds support for the ECOSTRESS spectral library.</p>
<p>2017-06-04 : SPy 0.19 provides plotting support for bad band lists and adds a few utility methods.</p>
<p>2016-06-18 : SPy 0.18 fixes several bugs and has improved ENVI header support.</p>
<p>2015-11-11 : SPy 0.17 enables mapping class labels between images.</p>
<blockquote>
<div><p>Class labels can be mapped between images (e.g., from an unsupervised
classification result to a ground truth image) using <a class="reference internal" href="class_func_ref.html#spectral.algorithms.spatial.map_class_ids" title="spectral.algorithms.spatial.map_class_ids"><code class="xref py py-func docutils literal notranslate"><span class="pre">map_class_ids</span></code></a>
and <a class="reference internal" href="class_func_ref.html#spectral.algorithms.spatial.map_classes" title="spectral.algorithms.spatial.map_classes"><code class="xref py py-func docutils literal notranslate"><span class="pre">map_classes</span></code></a>. ENVI file handling
is improved, <a class="reference internal" href="class_func_ref.html#spectral.view_nd" title="spectral.view_nd"><code class="xref py py-func docutils literal notranslate"><span class="pre">view_nd</span></code></a> image windows support arbitrary
axis labels, and <code class="xref py py-class docutils literal notranslate"><span class="pre">SpyFile</span></code> objects have improved numpy <cite>ndarray</cite>
interfaces. See the <a class="reference external" href="https://github.com/spectralpython/spectral/releases/tag/v0.17">SPy 0.17 release notes</a>
for details. And thanks to <a class="reference external" href="https://github.com/ohspite">Don March</a> for
many contributions to this release.</p>
</div></blockquote>
<p>2014-10-18 : SPy 0.16.0 provides initial support for Python 3.</p>
<blockquote>
<div><p>This release supports Python 3 for all functions except <a class="reference internal" href="class_func_ref.html#spectral.view_cube" title="spectral.view_cube"><code class="xref py py-func docutils literal notranslate"><span class="pre">view_cube</span></code></a>
and <a class="reference internal" href="class_func_ref.html#spectral.view_nd" title="spectral.view_nd"><code class="xref py py-func docutils literal notranslate"><span class="pre">view_nd</span></code></a>. Note that for Python 3, you should use the
Qt4Agg matplotlib backend.</p>
<p>New features in this release include the Adaptive Coherence/Cosine Esimator (<a class="reference internal" href="class_func_ref.html#spectral.algorithms.detectors.ace" title="spectral.algorithms.detectors.ace"><code class="xref py py-func docutils literal notranslate"><span class="pre">ace</span></code></a>)
target detector, Pixel Purity Index (<a class="reference internal" href="class_func_ref.html#spectral.algorithms.algorithms.ppi" title="spectral.algorithms.algorithms.ppi"><code class="xref py py-func docutils literal notranslate"><span class="pre">ppi</span></code></a>),
ability to save ENVI classification files (<a class="reference internal" href="class_func_ref.html#spectral.io.envi.save_classification" title="spectral.io.envi.save_classification"><code class="xref py py-func docutils literal notranslate"><span class="pre">envi.save_classification</span></code></a>),
and linear contrast enhancement (by data limits or cumulative histogram percentiles).
The SPy <a class="reference internal" href="class_func_ref.html#spectral.graphics.spypylab.imshow" title="spectral.graphics.spypylab.imshow"><code class="xref py py-func docutils literal notranslate"><span class="pre">imshow</span></code></a> function now applies
a 2% histogram color stretch by default (this can be overridden in the
<code class="xref py py-obj docutils literal notranslate"><span class="pre">spectral.settings</span></code> object).</p>
<p>Additional info is in the <a class="reference external" href="https://github.com/spectralpython/spectral/issues?q=milestone%3Av0.16.0+is%3Aclosed">version 0.16.0 issues</a>.</p>
</div></blockquote>
<p>2014-06-04 : SPy 0.15.0 is released.</p>
<blockquote>
<div><p>This version adds the Minimum Noise Fraction algorithm
(<a class="reference internal" href="class_func_ref.html#spectral.algorithms.algorithms.mnf" title="spectral.algorithms.algorithms.mnf"><code class="xref py py-func docutils literal notranslate"><span class="pre">mnf</span></code></a>)
(a.k.a., Noise-Adjusted Principal Components). The related function
<a class="reference internal" href="class_func_ref.html#spectral.algorithms.algorithms.noise_from_diffs" title="spectral.algorithms.algorithms.noise_from_diffs"><code class="xref py py-func docutils literal notranslate"><span class="pre">noise_from_diffs</span></code></a> performs
estimation of image noise from a spectrally homogeneous region of the
image.</p>
<p><code class="xref py py-class docutils literal notranslate"><span class="pre">SpyFile</span></code> read methods now accept an optional <cite>use_memmap</cite> argument that
provides finer control over when to use (or not use) the memmap interface
to read image file data.</p>
<p>Many thanks to Don March (<a class="reference external" href="http://ohspite.net">http://ohspite.net</a>) for improving
ENVI header support (comment lines and blank parameters are now accepted)
and providing several performance improvements.</p>
<p>Additional details are <a class="reference external" href="https://github.com/spectralpython/spectral/issues?milestone=1&page=1&state=closed">here</a>.</p>
</div></blockquote>
<p>2014-03-02 : SPy has moved!</p>
<blockquote>
<div><p>The Spectral Python web site is now located at <a class="reference external" href="http://www.spectralpython.net">www.spectralpython.net</a>.
All old URLs will automatically redirect to the new site. The primary source code
repository has also moved and is now hosted on GitHub at
<a class="reference external" href="https://github.com/spectralpython/spectral">https://github.com/spectralpython/spectral</a>.
For the indefinite future, source code and release builds will continue to
be mirrored on Sourceforge.net and as always, the current release can
always be installed from the <a class="reference external" href="https://pypi.python.org/pypi/spectral">Python Package Index (PyPI)</a>
using <a class="reference external" href="https://pypi.python.org/pypi/pip">pip</a>.</p>
</div></blockquote>
<p>2014-02-23 : SPy 0.14 is released. This is primarily a bug fix release.</p>
<blockquote>
<div><p>This release fixes a bug in <a class="reference internal" href="class_func_ref.html#spectral.algorithms.classifiers.PerceptronClassifier" title="spectral.algorithms.classifiers.PerceptronClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">PerceptronClassifier</span></code></a>
and provides significant performance improvement. A bug is also fixed that
causes incorrect display of several faces in the <a class="reference internal" href="class_func_ref.html#spectral.view_cube" title="spectral.view_cube"><code class="xref py py-func docutils literal notranslate"><span class="pre">view_cube</span></code></a>
image cube display. See <cite>VERSIONS.txt</cite> file for full details.</p>
</div></blockquote>
<p>2014-01-06 : Numerous new user interface features and performance improvements in SPy 0.13.</p>
<blockquote>
<div><p>The SPy <a class="reference internal" href="class_func_ref.html#spectral.graphics.spypylab.imshow" title="spectral.graphics.spypylab.imshow"><code class="xref py py-func docutils literal notranslate"><span class="pre">imshow</span></code></a> wrapper around matplotlib’s
<code class="xref py py-func docutils literal notranslate"><span class="pre">imshow</span></code> function provides numerous new features, including:</p>
<blockquote>
<div><ul class="simple">
<li><p>Interactive image class labeling using keyboard & mouse</p></li>
<li><p>Zoom windows</p></li>
<li><p>Class overlays with adjustable transparency</p></li>
<li><p>Dynamic view of changing pixel classes when modified in an ND Window.</p></li>
</ul>
</div></blockquote>
<p>Data/Statistic cacheing and more efficient use of numpy provides significant
performance improvement in mutiple algorithms (GMLC 14x, Mahalanobis
classifier 8x, kmeans 3x). Functions <a class="reference internal" href="class_func_ref.html#spectral.algorithms.detectors.rx" title="spectral.algorithms.detectors.rx"><code class="xref py py-func docutils literal notranslate"><span class="pre">rx</span></code></a>
and <a class="reference internal" href="class_func_ref.html#spectral.algorithms.detectors.matched_filter" title="spectral.algorithms.detectors.matched_filter"><code class="xref py py-func docutils literal notranslate"><span class="pre">matched_filter</span></code></a> are significantly
faster, particularly when using common global covariance.</p>
<p>The <a class="reference internal" href="class_func_ref.html#spectral.algorithms.algorithms.cov_avg" title="spectral.algorithms.algorithms.cov_avg"><code class="xref py py-func docutils literal notranslate"><span class="pre">cov_avg</span></code></a> function computes
covariance averaged over a set of classes (useful when samples are limited
or global covariance is desired). Christian Mielke provided code for the
<a class="reference internal" href="class_func_ref.html#spectral.algorithms.algorithms.msam" title="spectral.algorithms.algorithms.msam"><code class="xref py py-func docutils literal notranslate"><span class="pre">msam</span></code></a> function, which computes the
Modified SAM score (by Oshigami et al).</p>
</div></blockquote>
<p>2013-09-06 : SPy 0.12 is released.</p>
<blockquote>
<div><p>SPy 0.12 provides an improved memmap interface that enables accessing image
data using arbitrary interleaves and supports editable images (see
<a class="reference internal" href="class_func_ref.html#spectral.io.bipfile.BipFile.open_memmap" title="spectral.io.bipfile.BipFile.open_memmap"><code class="xref py py-func docutils literal notranslate"><span class="pre">open_memmap</span></code></a> for details). The RX
anomaly detector (<a class="reference internal" href="class_func_ref.html#spectral.algorithms.detectors.rx" title="spectral.algorithms.detectors.rx"><code class="xref py py-func docutils literal notranslate"><span class="pre">rx</span></code></a>) now allows
anomaly detection using local (sub-image) statistics by specifying an inner/outer
window around each pixel. The ability to disable algorithm progress messages
and addition of a wrapper around matplotlib’s <cite>imshow</cite> function are provided to
simplify integration of SPy code with <a class="reference external" href="http://ipython.org/notebook.html">IPython Notebooks</a>.</p>
</div></blockquote>
<p>2013-04-03 : SPy 0.11 is released.</p>
<blockquote>
<div><p>This release adds an <code class="xref py py-class docutils literal notranslate"><span class="pre">RX</span></code> anomaly detector,
ability to save and create images in ENVI format (see <a class="reference internal" href="class_func_ref.html#spectral.io.envi.save_image" title="spectral.io.envi.save_image"><code class="xref py py-func docutils literal notranslate"><span class="pre">save_image</span></code></a>
and <a class="reference internal" href="class_func_ref.html#spectral.io.envi.create_image" title="spectral.io.envi.create_image"><code class="xref py py-func docutils literal notranslate"><span class="pre">create_image</span></code></a>), and a unit-testing sub-package.
The top-level namespace has been simplified and several functions have been
renamed for consistency (<code class="xref py py-func docutils literal notranslate"><span class="pre">image</span></code> is now <code class="xref py py-func docutils literal notranslate"><span class="pre">open_image</span></code>
and <code class="xref py py-func docutils literal notranslate"><span class="pre">save_image</span></code> is now <a class="reference internal" href="class_func_ref.html#spectral.save_rgb" title="spectral.save_rgb"><code class="xref py py-func docutils literal notranslate"><span class="pre">save_rgb</span></code></a>).</p>
</div></blockquote>
<p>2013-02-23 : SPy 0.10.1 bug-fix release is now available.</p>
<blockquote>
<div><p>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.</p>
<p>If you have installed SPy 0.10, you should install this update as soon as
possible.</p>
</div></blockquote>
<p>2013-02-17 : SPy 0.10 is released: SPy now uses IPython for GUI display.</p>
<blockquote>
<div><p>As of this release, SPy now uses IPython for non-blocking GUI windows. IPython
should be started in <strong>pylab</strong> mode with the appropriate backend set (see
<a class="reference internal" href="graphics.html#starting-ipython"><span class="std std-ref">Starting IPython</span></a>). The standard python interpreter can still be used if
GUI functions are not being called. This release also resolves a number of
issues associated with different versions of wxWidgets (2.8.x vs. 2.9.x) on
various operating systems.</p>
</div></blockquote>
<p>2013-01-23 : SPy 0.9 adds a linear matched filter target detector.</p>
<blockquote>
<div><p><a class="reference internal" href="class_func_ref.html#spectral.algorithms.detectors.MatchedFilter" title="spectral.algorithms.detectors.MatchedFilter"><code class="xref py py-class docutils literal notranslate"><span class="pre">MatchedFilter</span></code></a> uses background and target means, along
with background covariance to provide a linear target detector.</p>
<p>A generic <a class="reference internal" href="class_func_ref.html#spectral.algorithms.transforms.LinearTransform" title="spectral.algorithms.transforms.LinearTransform"><code class="xref py py-class docutils literal notranslate"><span class="pre">LinearTransform</span></code></a> class allows simple application
of linear transforms to numpy ndarrays or <a class="reference internal" href="class_func_ref.html#spectral.SpyFile" title="spectral.SpyFile"><code class="xref py py-class docutils literal notranslate"><span class="pre">SpyFile</span></code></a> objects.</p>
</div></blockquote>
<p>2012-07-10 : SPy 0.8 adds N-Dimensional visualization of hyperspectral image data.</p>
<blockquote>
<div><p>The <code class="xref py py-func docutils literal notranslate"><span class="pre">ndwindow</span></code> function enables viewing of
high-dimensional images in a 3D display. See <a class="reference internal" href="graphics.html#nd-displays"><span class="std std-ref">N-Dimensional Feature Display</span></a> for details.</p>
<p>Hypercube display now uses mouse control for pan/zoom/rotate.</p>
<p>Fixed a bug in several deprecation warnings that caused infinte recursion.</p>
</div></blockquote>
<p>2012-02-19 : SPy 0.7 Released.</p>
<blockquote>
<div><p>The <a class="reference internal" href="class_func_ref.html#spectral.kmeans" title="spectral.kmeans"><code class="xref py py-func docutils literal notranslate"><span class="pre">kmeans</span></code></a> algorithm is about 10 times faster than version 0.6. Many
method/function names have been renamed for consistency with external packages.
A few bugs potentially affecting BIP and BSQ input have been fixed.</p>
</div></blockquote>
<p>2011-01-17 : SPy 0.6 Released.</p>
<blockquote>
<div><p>This release adds ASTER Spectral Library support, ability to save spectral
libraries, and installation via <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils</span></code>.</p>
</div></blockquote>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="#">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Welcome to Spectral Python (SPy)</a></li>
<li><a class="reference internal" href="#documentation">Documentation</a></li>
<li><a class="reference internal" href="#news">News</a></li>
</ul>
<h4>Next topic</h4>
<p class="topless"><a href="user_guide.html"
title="next chapter">Spectral Python (SPy) User Guide</a></p>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="py-modindex.html" title="Python Module Index"
>modules</a></li>
<li class="right" >
<a href="user_guide.html" title="Spectral Python (SPy) User Guide"
>next</a> |</li>
<li class="nav-item nav-item-0"><a href="#">Spectral Python 0.21 documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2014, Thomas Boggs.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.4.4.
</div>
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-47389515-2', 'spectralpython.net');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
</body>
</html>