1. DIP & GIS Software Systems: An overview
Nirmal Kumar
2. Two types of data:
•Analog: e.g., topo sheet, aerial photo
•Digital: e.g., satellite data
Requires DIP Systems:
•Computer hardware
•Image processing software
Elements of visual image
interpretation & optical instruments
such as stereoscopes
3. Digital Image Processing System
Considerations
Hardware Software
• CPU • OS
• RAM Expert
• Software Compiler
• Display • Image Processing
• Storage Software
• Network
4. CPU: Confused??
Processor Architecture: 32/64 bit
• This basically means that the
processor can process internally
either 32 bits or 64 bits of data at any
one time.
Processor Clock Speed :
• Dictates how fast the processor can process the data
(0's and 1's).
• If a processor is having a speed of 2GHz, this means
that it can process data internally 2 billion times a
second (every clock cycle).
•If the processor is a 32-bit processor
running at 2GHz then it
can potentially process 32 bits of data
simultaneously, 2 billion times a second !!
5. CPU:
Front Side Bus (FSB):
• The front side bus transfers data between the processor and the
computer's other components such as memory, hard drives, etc.
• The FSB will have a certain width (measured in bits) which dictates how
many bits can be transferred at any one time.
• The FSB also has a clock cycle frequency indicating how fast the data can
be transferred.
• For example a processor having a FSB width of 32-bits and
running at 533MHz, can transfer a set of 32-bits of data,
533,000,000 times a second.
Instruction Sets:
• The type of work a processor carries out is defined by its instructions. All modern
processors have their own instructions built-in for common tasks.
CISC (Complex Instruction Set Computer): PCs
• More internal instructions, allowing a more diverse set of operations.
• Generally slower due to the complexity of the instructions.
RISC (Reduced Instruction Set Computer): Work stations
• Fewer built-in instructions
• Add to the overall speed of the processor due to the simplicity of the instructions
6. Memory:
When the processor needs to execute an instruction, it looks first
in its own data registers. If the needed data isn't there, it goes to
the L1 cache (SRAM) and then to the L2 cache (DRAM). If the
data isn't in any cache, the CPU calls out to the main RAM. It
might not even be there, in which case the system has to retrieve
it from the disk.
e.g.,
•All Intel Core i7 processors feature L1, L2, and shared L3 caches.
•Before, Intel Core 2 Duo and Quad processors had just an L1 and L2 cache.
Processor Clock Speed (GHz) Cores L1 L2 L3
Core i7-990X 3.47 6 384KB 1.5 MB 12 MB
Core i7-975 3.33 4 256 KB 1 MB 8 MB
7. Storage:
SPOT 3 HRV XS
3000rows × 3000columns × 3bands
multispectral = 27 Mb
60x60 km scene 1000000
3 bands
8 bit
20x20 m resolution
5666rows × 6166columns × 7bands
Landsat ETM+ = 244 Mb
1000000
185x170 km scene
7 bands
8 bit
30x30 m resolution
9. Display:
Resolution:
•Most monitors today are capable of changing their displayed resolution
under software control
•Maximum resolution that a monitor can display is limited by the size of
the monitor and the characteristics of the CRT (cathode-ray tube)
14" 15" 17" 19" 21"
640x480 BEST GOOD TOO BIG HUGE TERRIBLE
800x600 GOOD BEST GOOD TOO BIG HUGE
TOO
1024x768 GOOD BEST GOOD STILL GOOD
SMALL
1280x1024 TINY TOO SMALL GOOD BEST GOOD
1600x1200 TERRIBLE TINY TOO SMALL GOOD BEST
BIT DEPTH COLOR RESOLUTION
Colour: 1-bit 2 colors
2-bit 4 colors
•4 standard color depths used by monitors: 4-bit 3-bit 8 colors
(Standard VGA), 8-bit (256-Color Mode), 16-bit 4-bit 16 colors
(High Color),and 24-bit (True Color). 5-bit 32 colors
6-bit 64 colors
7-bit 128 colors
8-bit 256 colors
16-bit 65,536 colors
24-bit 16,777,215 colors
12. Operating System:
• Single user OS: e.g., MS Window XP (HE), Macintosh OS
• Network OS: e.g., Microsoft Windows Server 2003, Microsoft Windows Server
2008, UNIX, Linux, Mac OS X, and Novell NetWare.
Compiler:
A computer software compiler translates instructions programmed in a high level
language such as C++ or visual basics in to machine language that the CPU can
understand.
Many DIP softwares provide a toolkit that programmers can use to compile their own
DIP algorithms. e.g., ERDAS, ER Mapper, ENVI
17. Information Extraction
• Univariate and multivariate statistical analysis
• Supervised classification (Minimum distance, Maximum likelyhood,
Mahalanobis, Parallelepiped, Spectral angle Mapper, Spectral
Information Divergence)
• Decision tree, regression tree, Binary encoding, Support Vector
Machine, Neural network, Fuzzy logic classification
• Unsupervised classification
• Contextual classification
• Incorporation of ancillary data during classification
• Radar image processing
• Hyper-spectral data analysis
• LIDAR data analysis
• Subpixel classification
18. Important Image Processing Functions:
Photogrammetric Information extraction
• Soft copy photogrammetry to extract digital elevation models
• Soft copy photogramemtry to extract orthophotographs
• Soft copy extraction of polarimetric details
Geographic Information Systems (GIS)
• Raster (image) based GIS
• Vector (polygon) based GIS (must allow polygon comparison)
Integrated Image Processing and GIS
• Complete Image Processing Systems
• Complete Image Processing Systems and GIS
Utilities
• Network (Internet, local talk, etc.)
• Image compression
• Import and export of various file formats
19. Software, HQ special strength
ERDAS (Atlanta, USA: 1979) – vector integration
PCI (Toronto, Canada: 1982) – orthophotos / breadth
ENVI (Boulder, USA: 1991) – hyperspectral
ER Mapper (Perth, Australia:) - image web server
…. now part of ERDAS (2007)
TNTMips (USA) - Digitization
Definiens Developer (Trimble, Germany) – Object based classification
20. Open Source DIP & GIS Softwares:
ILWIS - Remote Sensing and GIS software
Integrated Land and Water Information System (ILWIS)
Key features
• Integrated raster and vector design
• Import and export of widely used data formats
• On-screen and tablet digitizing
• Comprehensive set of image processing tools
• Orthophoto, image georeferencing, transformation and mosaicing
• Advanced modeling and spatial data analysis
• 3D visualization with interactive editing for optimal view findings
• Rich projection and coordinate system library
• Geo-statisitical analyses, with Kriging for improved interpolation
• Production and visualization of stereo image pairs
• Spatial Multiple Criteria Evaluation
• Set of operations on DEMs/DTMs and hydrological processing
• Variable Threshold Computation, to help preparing a threshold map
for drainage network extraction
• Horton Statistics,to calculate the number of streams, the average stream
length, the average area of catchments for Strahler stream orders
• Georeference editors
21. Open Source DIP & GIS Softwares:
Geographic Resources Analysis Support System
• Commonly referred to as GRASS, this is a free Geographic
Information System (GIS) used for geospatial data management
and analysis, image processing, graphics/maps production, spatial
modeling, and visualization.
• GRASS contains over 350 programs and tools
• GRASS uses both an intuitive windows interface as well as
command line syntax for ease of operations.
• GRASS is currently used in academic and commercial settings
around the world, as well as by many governmental agencies and
environmental consulting companies.
• Quantum GIS (QGIS) is a Geographic Information System (GIS) built for Linux/Unix.
• QGIS supports vector, raster, and database formats.
• MapServer is an OpenSource development environment for constructing spatially
enabled Internet-web applications.
22. Open Source DIP & GIS Softwares:
• Coded in the widespread
and powerful C++
programming language
• Object oriented system
design
• Run on MS-Windows as well
as with Linux.
• > 300 modules for Vector &
Raster processing.
• Powerful Geostatistical
module.
• Digital terrain analysis
• LIDAR data analysis
• GUI & Scripting in
Command Line Interpreter
23. Matlab Programming:
• Image Processing Toolbox™ provides a comprehensive set of reference-
standard algorithms and graphical tools for image processing, analysis,
visualization, and algorithm development.
• You can perform image enhancement, image deblurring, feature
detection, noise reduction, image segmentation, spatial transformations,
and image registration.
• Many functions in the toolbox are multithreaded to take advantage of
multicore and multiprocessor computers.
Diffs = zeros(rmax, cmax-1);
for row = 1:rmax;
for col = 1:cmax-1;
Diffs(row, col) = Image(row, col+1) - Image(row, col);
end
end
imshow(Diffs, []);