| Geographic Information Systems | |||
GIS systems have a direct relevance to the tracking of image objects. These projects have been selected as they present some features that relate to development at VLab. An eventual goal will be to chart some relations between GIS systems, 3D game rendering engines, and component mathematical libraries.
GRASS contains over 350 programs and tools to render maps and images on monitor and paper; manipulate raster, vector, and sites data; process multi spectral image data; and create, manage, and store spatial data. SGI, Irix
GRASS is written in C with documented C-API and offers a preliminary C++ interface.
For a full overview of this system's capabilities.
A few key capabilites are:
Vector analysis
Contour generation from raster surfaces (IDW, Spline algorithm)
Conversion to raster and point data format
Digitizing with board or on screen (scanned raster image) with mouse
Reclassification of vector labels
Superpositioning of vector layers
Image processing
Canonical component analysis (CCA)
Color composite generation
Edge detection
Frequency filtering (Fourier, convolution matrices)
Fourier and inverse fourier transformation
Histogram stretching
IHS transformation to RGB
Image rectification (affine and polynomial transformations on raster
and vector targets)
Ortho photo rectification
Principal component analysis (PCA)
Radiometric corrections (Fourier)
Resampling
Resolution enhancement (with RGB/IHS)
RGB to IHS transformation
Texture oriented classification (sequential maximum a posteriori
classification)
Shape detection
Supervised classification (training areas, maximum likelihood
classification)
Unsupervised classification (minimum distance clustering, maximum
likelihood classification
SQL-support
Database interfaces (ODBC, PostgreSQL)
Map overlay
Shape detection
Ortho photo rectification
3D map algebra
OpenDX "Open Visualization Data Explorer (by IBM) is a visualization framework that gives users the ability to apply advanced visualization and analysis techniques to their data. These techniques can be applied to help users gain new insights into data from applications in a wide variety of fields including science, engineering, medicine and business." [ License: IBM Public License ]
IBM Open Visualization Data Explorer (OpenDX) is an application and
development software package for visualizing data, especially 3D data
from simulations or acquired from observations. It uses a Graphical
User Interface based on X windows and Motif. It comes with a complete
set of standard visualization tools for looking at data. These tools
include cutting planes, vector line traces, volume rendering, and
isosurface/isocontour tools.
Mozilla SVG
Project (Also see Croczilla.)
"The Mozilla SVG implementation is a native SVG implementation.
This is as opposed to plug-in SVG viewers such as the Adobe viewer
(which is currently the most popular SVG viewer." [License:
Mozilla Public License ]
SHPTRANS
"SHPTRANS is a high-precision, ultra-high-performance NTv2 datum
transformation and projection utility which reads and writes
shapefiles." [ License: open source]
Spherekit"Spherekit is an integrated toolkit for spatial interpolation and comparison of spatial interpolation algorithms. It is UNIX-based and includes a complete graphical user interface (GUI). It uses Generic Mapping Tools (GMT) for display of interpolated fields." [ License: GNU General Public License (GPL) ]
Large-scale interpolation
Spherekit permits interpolation over continental or global scales
because its computations are based upon spherical distances and
orientations. Conventional interpolations are based
upon planar projections of the earth, which produce distortions of some
kind over large distances. In Spherekit, projections are applied only
for display purposes, after the
interpolation has been carried out in spherical geometry. The user can
select from a wide range of interpolation algorithms and can experiment
with any associated parameter settings.
Five classes of interpolation algorithms are available in Spherekit:
Triangulation
The triangulation method uses Renka's algorithm (Renka, 1984) to carry
out a Delaunay triangulation (Okabe et al., 1992) of the observation
points. The purpose is to identify a neighborhood of nearby
observation points to be used in the interpolation.
Two options are available to perform the interpolation. The simplest
method is a linear interpolation of the vertices of the triangulation.
In this case, the barycentric coordinates of the point are used to take
a
weighted average of the three observation values (associated with the
three vertices of the triangle). The resulting interpolation function
is continuous, but not differentiable across an edge.
The second triangulation method uses a polynomial fit within each
triangle in the triangulation (Renka, 1984). This method involves an
intermediate step of fitting a cubic spline on each edge of the
triangulation. The interior values are taken as weighted averages of
the edge values, based upon the barycentric coordinates of a point. In
the intermediate step of fitting the spline, approximations to the
gradient
at each point must be computed. The user has the option to specify
which of two gradient estimation methods is to be used. The local
method uses only a few neighboring points, while the global method uses
all points. The latter method may not be possible if the number of
points is larger than a few hundred.
Kriging uses the covariance structure of the field to estimate
interpolated values. The resulting interpolated field is optimal in the
sense of minimizing the variance among all possible linear, unbiased
estimates.
Kriging requires a two step process - the fitting of a semivariogram
model function (of distance) followed by the solution of a set of
matrix equations.
The semivariogram calculation is carried out using the GSLIB library
software package (Deutsch and Journel, 1992). The user selects a
semivariogram function, sill, range, and nugget. Given these
parameters, a
weighted average of the observation points is computed.
The thin-plate spline method fits a spline function to the
observations. The fitted function agrees with the observation values at
the observation points. The coefficients of the functional fit can be
stored for later
use. For n observation points, this requires the solution of n
simulatneous equations and the inversion of an nxn matrix. As a result,
a spline fit is limited to a reasonable number of points. In Spherekit,
if more
than 500 points are entered, the domain is broken up into overlapping
regions, and a surface fit is performed on each region. Points lying in
more than one region are assigned a value that is a weighted average of
the multiple estimates.
OSSIM:
Image processing: Open Source Software Image Map project.
Pronounced "awesome", the OSSIM project leverages existing
open source algorithms, tools, and packages to construct an integrated
tool for remote sensing, image-processing, and Geographical Information
Sciences (GIS) analysis.
The current initial functional and usable features:
* Basic image manipulation functions
* Projection/datum coordinate transformations
* Zooming
* Basic architecture for sensor model development
* Image and map blending
* Standard resampling: nearest neighbor, bilinear, and bicubic
* Keyword batch processing and state generation
* Work in the input images native format. We do not have to convert
images to a proprietary format. We have native drivers for
tiff/geotiff, jpeg, ADRG, CIB/CADRG, Imagine ... and more.
* Memory management/caching.
* Universal sensor model support
* Various mosaicking algorithms: Simple NULL pixel fill, Blends,
Feathering .. etc.
* Annotation support.
* Platform independent gui application that uses most of the
capabilities of OSSIM.
|
|||