Introduction - Download Overview - Contact

  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:

 Inverse distance weighting

 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

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.

 Multiquadric

 Thin plate spline

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.
 

 

Home | Site Index