Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V....

36
22-12-2016 1 Hyperspectral Data Processing and Analysis using ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, Dr. Babasaheb Ambedkar Marathwada University, Aurangabad. Network Program of Imaging Spectroscopy and Applications NISA 2016 (Dec 20-24, 2016) Professor K. V. Kale 1 Design and Development of Hyperspectral Data Analysis Tool and Algorithm for End Member Identification Principle Investigator Professor K. V. Kale [email protected] Co-Principle Investigator Dr. Ramesh R. Manza (Associate Professor ) [email protected] Department of Computer Science and IT, Dr. Babasaheb Ambedkar Marathwada University, Aurangabad (MS). Professor K. V. Kale 2

Transcript of Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V....

Page 1: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

1

Hyperspectral Data Processing and Analysis

using ENVI / Python

K. V. KaleProfessor,

Department of Computer Science and IT,

Dr. Babasaheb Ambedkar Marathwada University, Aurangabad.

Network Program of Imaging Spectroscopy and Applications

NISA – 2016

(Dec 20-24, 2016)

Professor K. V. Kale 1

Design and Development of Hyperspectral Data Analysis Tool

and Algorithm for End Member Identification

Principle Investigator

Professor K. V. [email protected]

Co-Principle Investigator

Dr. Ramesh R. Manza (Associate Professor )

[email protected]

Department of Computer Science and IT,

Dr. Babasaheb Ambedkar Marathwada University, Aurangabad (MS).

Professor K. V. Kale 2

Page 2: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

2

Contents

Introduction

Hyperspectral Data

ENVI for Hyperspectral Data

Python for Hyperspectral Data

References

Professor K. V. Kale 3

Introduction

Background

• Remote Sensing

• Extensive Information due to synoptic view, map like format, and repetitive coverage area.

• Provides data for weather prediction, agricultural forecasting, resource exploration, land cover

mapping and environmental monitoring, to name a few.

• Has significance advances in data acquisition, storage and management capabilities.

Professor K. V. Kale 4

Page 3: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

3

Introduction

Background

• Continuous acquisition leads to huge database.

• Increased data volume needs automated analysis techniques.

• Techniques must be objective, reproducible and feasible to implement within available

resources.

Professor K. V. Kale 5

Introduction

Spectral Imaging

• Multispectral Imaging

• No doubt! Multispectral are innovative but due to relatively few spectral bands, their spectral

resolution is insufficient for many precise earth surface studies.

• Hyperspectral Imaging

• Hundreds of narrow contiguous wavelength intervals.

• Improvement in Spectral and Spatial Resolution.

Professor K. V. Kale 6

Page 4: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

4

Introduction

Fig. 1 Hyperspectral Image Cube

Professor K. V. Kale 7

Introduction

Challenges for Interpretation

• The Need for Calibration (Atmospheric Correction)

• Data Volume

• Data Redundancy

• Dimensionality Problem

Professor K. V. Kale 8

Page 5: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

5

Hyperspectral Data AVIRIS

• AVIRIS: Airborne Visible/ Infrared Imaging Spectrometer.

• Collects data for characterization of the Earth's surface and atmosphere from geometrically

coherent spectroradiometric measurements.

• AVIRIS Application Areas: oceanography, environmental science, snow hydrology, geology,

volcanology, soil and land management, atmospheric and aerosol studies, agriculture, and

limnology.

• Application Under Development : Assessment and monitoring of toxic waste, oil spills, and

land/air/water pollution.

Professor K. V. Kale 9

Hyperspectral Data AVIRIS Sensor Specification

• Scanner type: nadir-viewing, whiskbroom

• Image width (swath): 11 km (high altitude), 1.9 km (low altitude)

• Typical image length: 10 - 100 km

• Spatial response: 1.0 mrad, corresponding to a "pixel" 20m x 20m (high altitude) or 4m x 4m

(low altitude) on the ground

• Spectral response: visible to near-infrared (400 to 2500 nm), with 224 contiguous channels,

approximately 10 nm wide

• Data quantization: 12 bits

• Data capacity: 10 gigabytes, corresponding to about 850 km of ground track data, per flightProfessor K. V. Kale 10

Page 6: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

6

Hyperspectral Data Hyperion

• Earth observation for improved Earth surface characterization.

• Continuous acquisition into narrow spectral bands.

• Complex land eco-systems can be imaged and accurately classified.

• Hyperion Applications: geology, forestry, agriculture, and environmental management.

• Detailed classification of land assets through the Hyperion will enable more accurate remote

mineral exploration, better predictions of crop yield and assessments, and better containment

mapping.

Professor K. V. Kale 11

Hyperspectral Data Hyperion Sensor Specification

• Spectral Channels: 220 spectral bands.

• Spectral Coverage: 0.4 to 2.5 µm

• Spatial Response: Pixel size 30 m x 30 m resolution.

• Data Quantization: 16 bit for level 1 product.

• Image Swath: 7.5 km by 100 km land area per image

Professor K. V. Kale 12

Page 7: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

7

ENVI for Hyperspectral Data Analysis

Professor K. V. Kale 13

ENVI for Hyperspectral AnalysisENVI: Introduction

• ENVI: Environment for Visualizing Images

• Commercial software for spectral image analysis and visualization.

• Suitable for multispectral, Imaging and Non-Imaging Hyperspectral, LiDAR, and SAR

datasets etc.

• Who use ENVI? :

Scientists, researchers, image analysts, and GIS professionals and people from defense &

intelligence, urban planning, mining, geology, space science, and earth science etc.

Professor K. V. Kale 14

Page 8: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

8

ENVI for Hyperspectral AnalysisENVI: Functionality

• Directly access intuitive imagery analysis and processing tools

• Quickly visualize and analyze any source of remotely sensed data – including LiDAR, radar,

optical, thermal and 3D etc.

• Completely automate geospatial imagery workflows using the ArcGIS platform and other GIS

technology.

• Easily extract meaningful information from imagery – regardless of your technical ability with

remote sensing technologies.

Professor K. V. Kale 15

ENVI for Hyperspectral AnalysisENVI: Functionality

• Read and Analyze different data formats

• Fuse multiple data modalities

• Exploit information from different sensor types

• Easily process large datasets

Professor K. V. Kale 16

Page 9: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

9

ENVI for Hyperspectral AnalysisENVI: Supported Raster File Formats

• Band Interleaved by Line (BIL)

• Band Interleaved by Pixel (BIP)

• Band Sequential (BSQ)

Professor K. V. Kale 17

ENVI for Hyperspectral AnalysisENVI: Supported Raster File Formats

• ENVI supported data : Panchromatic, Multispectral, Imaging and Non-Imaging Hyperspectral,

radar, thermal, HDF5, Full Motion Video, Net CDF-4, and LiDAR.

• ENVI supported sensors:Table 2. ENVI Supported Sensor List

ADS80 ASTER AVIRIS AVHRR GOES-R Himawari-8

Landsat 8 NPP VIIRS Spectroradiometer

DataQuickBird RADARSAT SkySat-1

SPOT TMS USGS DEM Geiger-Mode LiDAR radar

Professor K. V. Kale 18

Page 10: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

10

ENVI for Hyperspectral Analysis• ENVI supported sensors

Professor K. V. Kale 19

External File Continued

Support Data

Generic Formsts

ENVI for Hyperspectral AnalysisENVI: File Management Tool

This tool is used to handle

Data from different sensors of

Different format.

Also Provides Export and

Import Facility.

File Menu Contunied

Professor K. V. Kale 20

Page 11: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

11

ENVI for Hyperspectral AnalysisENVI: Basic Tool

Resize Data

Layer Stacking

Format Conversion

Mosaicking

Masking

Preprocessing

Professor K. V. Kale 21

ENVI for Hyperspectral Analysis

Spectral Tool Continued

Spectral Libraries

MNF

PPI

N-D Visualizer

Mapping Methods

ENVI : Spectral Tool

Professor K. V. Kale 22

Page 12: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

12

ENVI for Hyperspectral AnalysisENVI: Spectral Tools

Profiles and Plots

• Extract pixels from an image that can be compared to spectral libraries or other pixels

Spectral Library Viewer

• Visualize data from ENVI standard spectral library (SLI) files, THOR Metadata Rich

Spectral Library (MRSL) output, and Analytical Spectral Devices (ASD) spectrometer

output.

• Provides laboratory spectra from: NASA Jet Propulsion Laboratory (JPL), Johns Hopkins

University(JHU), U. S. Geological Survey (USGS), ASTER.

Professor K. V. Kale 23

ENVI for Hyperspectral AnalysisENVI: Dimensionality Reduction

Minimum Noise Fraction

To determine the inherent dimensionality

of image data.

To segregate noise in the data

Professor K. V. Kale 24

Page 13: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

13

ENVI for Hyperspectral AnalysisENVI Spectral Tool: Dimensionality Reduction

• Minimum Noise Fraction (MNF)

MNF Rotation transforms to determine the inherent dimensionality of image data, to

segregate noise in the data, and to reduce the computational requirements for subsequent

processing

MNF linear transformation consists separate principal components analysis rotations:

First Rotation

Used for noise whitening.

Professor K. V. Kale 25

ENVI for Hyperspectral AnalysisENVI Spectral Tool: Dimensionality Reduction

• Minimum Noise Fraction (MNF)

Second Rotation

Dimensionality of the data is determined by examining the final eigenvalues and the

associated images.

You can divide the data space into two parts: one part associated with large eigenvalues and

coherent eigenimages, and a complementary part with near-unity eigenvalues and noise-

dominated images.

Using only the coherent portions separates the noise from the data, thus improving spectral

processing results.

Professor K. V. Kale 26

Page 14: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

14

ENVI for Hyperspectral AnalysisENVI: Spectral Tools

Pixel Purity Index (PPI)

• To find pure pixel.

• PPI is computed by repeatedly projecting

n-D scatter plots on a random unit vector.

• PPI runs on MNF transformed result excluding

the noise bands.

• In Pixel Purity Image pixel value corresponds

to the number of times that pixel was recorded

as extreme. Professor K. V. Kale 27

ENVI for Hyperspectral AnalysisENVI: Spectral Tools

N-D Visualizer

• n-D Visualizer to locate, identify, and cluster the purest pixels in

a dataset in n-dimensional space.

• The n-D Visualizer was designed to help you visualize the shape

of a data cloud that results from plotting image data in spectral

space (with image bands as plot axes).

Professor K. V. Kale 28

Page 15: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

15

ENVI for Hyperspectral AnalysisENVI: Spectral Tools

N-D Visualizer

• You typically use the n-D Visualizer with spatially subsetted Minimum Noise Fraction

(MNF) data that use only the purest pixels determined from the Pixel Purity Index (PPI).

• n-D Visualizer allows interactively rotate data in n-D space, select groups of pixels into

classes, and collapse classes to make additional class selections easier.

• Makes it easy to export the selected classes to ROIs and use them as input into

classification, Linear Spectral Unmixing, or Matched Filtering techniques.

Professor K. V. Kale 29

ENVI for Hyperspectral AnalysisENVI: Supervised Classification

Professor K. V. Kale 30

Page 16: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

16

ENVI for Hyperspectral Analysis

ENVI: Unsupervised Classification Unsupervised

ISODATA Classification

Professor K. V. Kale 31

ENVI for Hyperspectral AnalysisENVI Spectral Tools : Spectral Angle Mapper (SAM)

• SAM is a physically-based spectral classification

that uses an n-D angle to match pixels to reference

spectra.

• The algorithm determines the spectral similarity

between two spectra by calculating the angle

between the spectra and treating them as vectors

in a space with dimensionality equal to the number

of bands.

• SAM compares the angle between the endmember

spectrum vector and each pixel vector in n-D space.

Professor K. V. Kale 32

Page 17: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

17

ENVI for Hyperspectral AnalysisENVI Spectral Tools : Spectral Angle Mapper (SAM)

• SAM is a physically-based spectral classification that uses an n-D angle to match pixels to

reference spectra.

• The algorithm determines the spectral similarity between two spectra by calculating the angle

between the spectra and treating them as vectors in a space with dimensionality equal to the

number of bands.

• SAM compares the angle between the endmember spectrum vector and each pixel vector

in n-D space.

• Smaller angles represent closer matches to the reference spectrum. SAM classification

assumes reflectance data.

Professor K. V. Kale 33

ENVI for Hyperspectral AnalysisENVI: Spectral Tools

Linear Spectral Unmixing

• Linear Spectral Unmixing to determine the relative abundance of materials that are

depicted in multispectral or hyperspectral imagery based on the materials’ spectral

characteristics.

• The reflectance at each pixel of the image is assumed to be a linear combination of the

reflectance of each material present within the pixel.

• Spectral unmixing results are highly dependent on the input endmembers.

• Changing the endmember changes the results.

Professor K. V. Kale 34

Page 18: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

18

Python for Hyperspectral Data Analysis

Professor K. V. Kale 35

Python for Hyperspectral AnalysisPython: Introduction

• Interpreted, object-oriented, high-level programming language with dynamic semantics.

• Uses an elegant syntax, making the programs you write easier to read

• Large standard library that supports many common programming tasks such Image

Processing, Machine Learning, Networking applications.

• Runs anywhere, including Mac OS X, Windows, Linux, and UNIX.

• It doesn't cost anything to download or use Python, or to include it in your application. Python

can also be freely modified and re-distributed, because while the language is copyrighted it's

available under an open source license.

Professor K. V. Kale 36

Page 19: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

19

Python for Hyperspectral AnalysisPython 2.x vs. 3.x

• “Should I use Python 2 or Python 3 for my development activity?”

• One sentence difference :

“Python 2.x is legacy and Python 3.x is the present and future of the language.

• Python 2.x and Python 3.x share many similar capabilities but they should not be thought of as

entirely interchangeable.

• Considerable differences in code syntax and handling.

• Python 2.x or Python 3 depends on third party libraries you rely on.

Professor K. V. Kale 37

Python for Hyperspectral AnalysisPython Spatial Packages

Data Handling Data Analysis Plotting

Shapely NumPy Matplotlib

GDAL / OGR SciPy Prettyplotlib

pyQGIS Shapely Descartes

Pyshp Pandas Cartopy

pyproj GeoPandas

PySAL

Rasterio

SciKit-Image

SciKit-Learn

Professor K. V. Kale 38

Page 20: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

20

Python for Hyperspectral AnalysisPython: Dependencies

Sr. No. Dependency Version

1 NumPy 1.11.2

2 GDAL 2.1.2

3 Matplotlib 1.5.3

4 Spectral 0.18.0

5 Tkinter 8.6

6 Xlsxwriter 0.9.4

7 PIL 1.1.7

8 SciKit-Learn 1.18.1

Professor K. V. Kale 39

Python for Hyperspectral AnalysisPython: Dependencies

NumPy

• NumPy is the fundamental package for scientific computing in Python.

• It is a Python library that provides a multidimensional array object.

• Offers various derived objects such as masked arrays and matrices, an assortment of

routines for fast operations on arrays, including mathematical, logical, shape manipulation,

sorting, selecting, I/O, discrete Fourier transforms, basic linear algebra, basic statistical

operations, random simulation and much more.

Professor K. V. Kale 40

Page 21: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

21

Python for Hyperspectral AnalysisPython: Dependencies

NumPy

• At the core of the NumPy package, is the ND array object. This encapsulates

n-dimensional arrays of homogeneous data types. The more important attributes of an

ndarray object are:

• Dimensions

• Shape

• Size

• Data Type

Professor K. V. Kale 41

Python for Hyperspectral AnalysisPython: Dependencies

GDAL

• Translator library for raster and vector geospatial data formats.

• Released under an X/MIT style Open Source license by the Open Source Geospatial

Foundation.

• GDAL/OGR is considered a major free software project for its "extensive capabilities of

data exchange" .

• GDAL: Supports the reading/writing/translation of numerous raster formats

• OGR: Supports reading/writing/translation of numerous vector data formats.Professor K. V. Kale 42

Page 22: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

22

Python for Hyperspectral AnalysisPython: Dependencies

GDAL Data Model

• Dataset

A dataset (represented by the GDALDataset class) is an assembly of related raster bands and

some information common to them all.

Dataset has a concept of the raster size (in pixels and lines) that applies to all the bands.

The dataset is also responsible for the georeferencing transform and coordinate system

definition of all bands.

The dataset itself can also have associated metadata, a list of name/value pairs in string form.

Professor K. V. Kale 43

Python for Hyperspectral AnalysisPython: Dependencies

GDAL Data Model

• Coordinate System

Dataset coordinate systems are represented as OpenGIS Well Known Text strings. This can

contain:

An overall coordinate system name.

A geographic coordinate system name.

A datum identifier.

An ellipsoid name, semi-major axis, and inverse flattening.

A prime meridian name and offset from Greenwich.Professor K. V. Kale 44

Page 23: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

23

Python for Hyperspectral AnalysisPython: Dependencies

GDAL Data Model

• Coordinate System:

A projection method type (i.e. Transverse Mercator).

A list of projection parameters (i.e. central_meridian).

A units name, and conversion factor to meters or radians.

Names and ordering for the axes.

Codes for most of the above in terms of predefined coordinate systems from authorities

such as EPSG.

Professor K. V. Kale 45

Python for Hyperspectral AnalysisPython: Dependencies

SpectralPython

Pure Python module for processing hyperspectral image data.

Free, open source software distributed under the GNU General Public License.

It depends on several other freely available python modules. (i.e. NumPy)

Spectral Python Supported Raster File Formats:

1. ENVI Headers

2. AVIRIS

3. ERDASProfessor K. V. Kale 46

Page 24: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

24

Python for Hyperspectral AnalysisPython: Dependencies

Matplotlib

• Python 2D plotting library.

• Open Source

• Matplotlib tries to make easy things easy and hard things possible.

• Used to generate plots, histograms, power spectra, bar charts, error charts, scatterplots etc.

• Provides Matlab like plotting interface.

Professor K. V. Kale 47

Python for Hyperspectral AnalysisPython: Dependencies

Matplotlib

• Conceptually divided into three parts:

1. Pylab interface

Set of functions to create plots quite similar to MATLAB figure generating code.

2. Matplotlib Frontend

Set of classes that do the heavy lifting, creating and managing figures, text, lines, plots

and so on.

This is an abstract interface that knows nothing about output.

3. Matplotlib Backend

The backends are device-dependent drawing devices (I.e GTK, Wx, Tkinter)Professor K. V. Kale 48

Page 25: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

25

Python for Hyperspectral AnalysisPython: Dependencies

Tkinter

• Standard GUI library for Python.

• Provides controls / widgets for GUI application:

Button Entry Listbox Message Text Paned Window

Canvas Frame Menu Radiobutton Toplevel Label Frame

Checkbutton Label Menubutton Scrollbar Spinbox tkMessageBox

Professor K. V. Kale 49

Python for Hyperspectral AnalysisPython: Dependencies

Xlsxwriter

• Xlsxwriter is a Python module that can be used to write text, numbers, formulas and

hyperlinks to multiple worksheets in an Excel 2007+ XLSX file. It supports features such

as:

100% compatible Excel XLSX files.

Full formatting

Charts.

Auto filters. Professor K. V. Kale 50

Page 26: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

26

Python for Hyperspectral AnalysisPython: Dependencies

Xlsxwriter

• It supports features such as:

Data validation and drop down lists.

Conditional formatting.

Worksheet PNG/JPEG images.

Rich multi-format strings.

Textboxes.

Memory optimization mode for writing large files.Professor K. V. Kale 51

Python for Hyperspectral AnalysisPython Dependencies : Xlsxwriter

• Advantages

It supports more Excel features than any of the alternative modules.

It has a high degree of fidelity with files produced by Excel.

In most cases the files produced are 100% equivalent to files produced by Excel.

It has extensive documentation, example files and tests.

It is fast and can be configured to use very little memory even for very large output files.

• Disadvantage

It cannot read or modify existing Excel XLSX files.

Professor K. V. Kale 52

Page 27: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

27

Python for Hyperspectral AnalysisPython Dependencies : Python Imaging Library (PIL)

• Adds image processing capabilities to your Python interpreter.

• The library contains basic image processing functionality, including point operations, filtering

with a set of built-in convolution kernels, and color space conversions.

• The library also supports image resizing, rotation and arbitrary affine transforms.

• Method to pull some statistics out of an image. This can be used for automatic contrast

enhancement, and for global statistical analysis.

Professor K. V. Kale 53

Python for Hyperspectral AnalysisPython Dependencies : SciKit-Learn

• Scikit-learn is a Python module integrating classic machine learning algorithms.

• Simple and efficient tools for data mining and data analysis.

• Accessible to everybody, and reusable in various contexts.

• Built on NumPy, SciPy, and Matplotlib.

• Open source, commercially usable - BSD license

• Problems it tackles range from building a prediction function linking different observations, to

classifying observations, or learning the structure in an unlabeled dataset.

Professor K. V. Kale 54

Page 28: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

28

KVK - Hyperspectral Image Analysis Tool

Professor K. V. Kale 55

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 56

Tool Functionalities

Image Display

Preprocessing

End Member Extraction

Classification

Page 29: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

29

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 57

Tool Functionalities

Image Display

Monochrome

RGB

Multispectral

Hyperspectral

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 58

Tool Functionalities

Number of Bands

Display Single Band

Display RGB

Page 30: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

30

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 59

Tool Functionalities

Gray Channel Display

Band 10

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 60

Tool Functionalities

RGB Display

Band 190 + 210 + 100

Page 31: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

31

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 61

Tool Functionalities

RGB View : 50 + 60 + 210 RGB View : 50 + 60 + 210

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 62

Tool Functionalities

Preprocessing

Page 32: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

32

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 63

Tool Functionalities

Dimensionality Reduction

PCA

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 64

Tool Functionalities

PCA

Original Image

Principal Components

Page 33: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

33

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 65

Tool Functionalities

End Member Extraction

PPI

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 66

Tool Functionalities

PPI

Input Image

Iterations

Threshold

Centered

Start Position

Display

Page 34: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

34

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 67

PPI Result

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 68

Tool Functionalities

Classification

Supervised

Unsupervised

Page 35: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

35

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 69

Tool Functionalities

Unsupervised

KMeans

KVK-Hyperspectral Data Analysis Tool

Professor K. V. Kale 70

KMeans Clustering Result

Page 36: Hyperspectral Data Processing and Analysis using ENVI / · PDF fileusing ENVI / Python K. V. Kale Professor, Department of Computer Science and IT, ... mineral exploration, better

22-12-2016

36

References

1. Rangnath R. Navalgund, “Hyperspectral Data, Analysis Techniques and Applications, ” Indian Society

Remote Sensing, Dehradun, 2011.

2. Pramod K. Varshney, “Advanced Image Processing Techniques for Remotely Sensed Hyperspectral

Data,” Springer Berlin Heidelberg New York, 2004.

3. HARRIS Geospatial Solution. (2016 Dec 15). ENVI Tutorials [Online]. Available at :

http://www.harrisgeospatial.com/Learn/Resources/Tutorials.aspx

4. Python Community. (2016 Dec 15). Python 2.7.12 Documentation [Online]. Available at:

https://docs.python.org/2/

5. SciPy Community. (2016 Dec 15). NumPy-Quick Start [Online]. Available at:

https://docs.scipy.org/doc/numpy-dev/user/quickstart.html

6. Open Source Geospatial Foundation. (2016 Dec 15). GDAL [Online]. Available at:

http://www.gdal.org/

7. Thomas Boggs. (2016 Dec 15). Spectral Python [Online]. Available at: http://www.spectralpython.net/

8. John McNamara. (2016 Dec 15). Xlsxwriter [Online] . Available at:

http://xlsxwriter.readthedocs.io/introduction.html

Professor K. V. Kale 71

Thank You…

Professor K. V. Kale 72