The Neo-Geography Toolkit (NGT) is a collection of open-source software tools for the automated processing of geospatial data, including images and maps. It can process raw raster data from remote sensing instruments and transform it into useful cartographic products such as visible image base maps, topographic models, etc. It can also perform data processing on extremely large geospatial data sets (up to several tens of terabytes) via parallel processing pipelines. Finally, it can transform raw metadata, vector data, and geo-tagged datasets into standard Neo-Geography data formats such as KML.

NGT consists of the following modules:

  • NGT Geodetic Tools for geodetically controlling imagery and other observations with bundle adjustment, including tools for automatically discovering tie-points between images, visualization of control measurements, producing corrected satellite position and pose estimates, and gathering data for mass bundle adjustment.
  • NGT Photometric Tools for photometric calibration, color matching, and image enhancement for geospatial imagery.
  • NGT Stereogrammetric Tools for automatic reconstruction of 3D terrain.
  • NGT Metadata Tools for interacting with a rich, geospatially aware backend database containing satellite telemetry, image footprints, image descriptions, and other important metadata that is useful when processing, displaying, and searching for geospatial data.
  • NGT Web Services for serving NASA geospatial data via standards-based Web interfaces.
  • NGT Scripting Toolkit to transfer, process, transform, and stage NASA remote sensing imagery into formats that can be consumed easily by Neo-Geography tools such as Google Earth/Maps, Microsoft World Wide Telescope, and SCISS Uniview.

Components in NGT interoperate through intermediate data files in common geospatial data formats. Processing flows are created by writing simple scripts that leverage the NGT Scripting Toolkit, which exposes a programming interface to low-level geodetic, photometric, and stereogrammetric processing tools. Intermediate results can be viewed and image processing pipelines can be monitored using components of the NGT Web Services. NGT is written primarily in C++ and is designed for Linux and other UNIX style operating systems. NGT is available for use under the Apache 2 license.

This work was done by Edward Scharff, Zachary Moratto, Ross Beyer, Ara Nefian, Michael Lundy, Tae Min Kim, Kyle Husmann, and Terry Fong of Ames Research Center. NGT v2 can be downloaded at:

NASA invites companies to inquire about partnering opportunities. Contact the Ames Technology Partnerships Office at 1-855-627-2249 or This email address is being protected from spambots. You need JavaScript enabled to view it.. Refer to ARC-16341-1A.