NASA Logo, National Aeronautics and Space Administration

Open Source Projects

BigView

BigView allows for interactive panning and zooming of images of arbitrary size on desktop PCs running linux. Additionally, it can work in a multi-screen environment where multiple PCs cooperate to view a single large image. Using this software, one can ...
+ View BigView

Block-GP: Scalable Gaussian Process Regression

Block GP is a Gaussian Process regression framework for multimodal data, that can be an order of magnitude more scalable than existing state-of-the-art nonlinear regression algorithms. The framework builds local Gaussian Processes on semantically meaningful partitions of the data and provides higher prediction accuracy than a single global model with very high confidence.
+ View Block GP

CFD Utilities

The CFD Utility Software Library consists of nearly 30 libraries of Fortran 90 and 77 subroutines and almost 100 applications built on those libraries. Many of the utilities apply to multiblock structured grids and flow solutions, but numerous other reusable modules in such categories as interpolation, optimization, quadrature, rapid searching, and character manipulation appear from several decades of software development in the Aerodynamics Division and Space Technology Division at NASA Ames Research Center.
+ View CFD Utilities

CODE

CODE is a software framework for control and observation in distributed environments. The basic functionality of the framework allows a user to observe a distributed set of resources, services, and applications. A user can also use the framework to manage ...
+ View CODE

Crisis Mapping Toolkit

The Crisis Mapping Toolkit (CMT) is a collection of tools for processing geospatial data (images, satellite data, etc.) into cartographic products that improve understanding of large-scale crises, such as natural disasters. The cartographic products produced by CMT include flood inundation maps, maps of damaged or destroyed structures, forest fire maps, population density estimates, etc. CMT is designed to rapidly process large-scale data using Google Earth Engine and other geospatial data systems.
+ View Crisis Mapping Toolkit

E-Standards for Mass Properties Engineering

The purpose of this Opensource forum is to promote the development of a JAVA based Application Programming Interface for the field of Mass Properties Engineering. This project started as a NASA LaRC Innovation Institute project in 2007 to promote the ...
+ View E-Standards for Mass Properties Engineering

ECHO

The concept of ECHO has been many years in the making. The initial charter and Plan development began in June of 1998 and was called the Independent Information Management System (IIMS). The goal was to provide a tool that would ...
+ View ECHO

Geometry Manipulation Protocol (GMP)

The Geometry Manipulation Protocol (GMP) is a library which serializes datatypes between XML and ANSI C data structures to support CFD applications. This library currently provides a description of geometric configurations, general moving-body scenarios (prescribed and/or 6-DOF), and control surface ...
+ View Geometry Manipulation Protocol (GMP)

Growler

Growler is a C++-based distributed object and event architecture. It is written in C++, and supports serialization of C++ objects as part of its Remote Method Invocation, Event Channels, and in its Interface Definition Language. Its primary application has been ...
+ View Growler

IND: Creation and Manipulation of Decision Trees from Data

IND is applicable to most data sets consisting of independent instances, each described by a fixed length vector of attribute values. An attribute value may be a number, one of a set of attribute specific symbols, or omitted. One of ...
+ View IND: Creation and Manipulation of Decision Trees from Data

IPG Execution Service

The Execution Service allows users to submit, monitor, and cancel complex jobs. Each job consists of a set of tasks that perform actions such as executing applications and managing data. Each task is executed based on a starting condition that ...
+ View IPG Execution Service

JavaGenes

JavaGenes is a fairly general purpose evolutionary software system written in Java. It implements several versions of the genetic algorithm, simulated annealing, stochastic hill climbing and other search techniques. JavaGenes has been used to evolve molecules, atomic force field parameters, ...
+ View JavaGenes

Libibvpp

Libibvpp is a C++ wrapper around libibverbs, which is part of the OpenFabrics software suite (www.openfabrics.org). For the most part, Libibvpp provides a minimalistic C++ wrapper interface to libibverbs, while providing complete resource management through the use of C++ TR1 ...
+ View Libibvpp

Livingstone2

Livingstone2 is a reusable artificial intelligence (AI) software system designed to assist spacecraft, life support systems, chemical plants or other complex systems in operating robustly with minimal human supervision, even in the face of hardware failures or unexpected events. Livingstone2 ...
+ View Livingstone2

Mariana

Mariana is an algorithm that efficiently optimizes the hyperparameters for Support Vector Machines for regression and classification. It currently uses Simulated Annealing for optimization but can be extended to use a variety of stochastic optimization techniques including, Markov Chain Monte ...
+ View Mariana

Mesh

Mesh is a secure, lightweight grid middleware that is based on the addition of a single sign-on capability to the built-in public key authentication mechanism of SSH using system call interposition. Each Mesh installation is dedicated to serving a particular ...
+ View Mesh

Mission Simulation ToolKit

The Mission Simulation Toolkit (MST) is a flexible software system for autonomy research. The MST was developed as part of the Mission Simulation Facility (MSF) project, which was started in 2001 to facilitate the development of autonomous planetary robotic missions. ...
+ View Mission Simulation ToolKit

The Multiple Kernel Anomaly Detection - MKAD

The Multiple Kernel Anomaly Detection (MKAD) algorithm is designed for anomaly detection over a set of files. It combines multiple kernels into a single optimization function using the One Class Support Vector Machine (OCSVM) framework.
+ View MKAD

Mutil

Mutil is a set of standard utilities that employ multiple types of parallelism and other optimizations to achieve maximum performance on modern file systems. Multi-threading is used to ensure that nodes are kept as busy as possible. Double buffering allows individual operations within a single task to be overlapped using asynchronous I/O. Multi-node cooperation allows different nodes to take part in the same task. Split file processing allows multiple threads to operate concurrently on the same file. Finally, additional optimizations such as buffer management help eliminate other bottlenecks that can reduce performance. Mutil currently includes drop-in replacements for cp and md5sum from GNU coreutils, which have achieved 10/30x rates on one/many nodes.
+ View Multi

NodeMon

NodeMon is a resource utilization monitor tailored to the Altix architecture, but is applicable to any Linux system or cluster. It allows distributed resource monitoring via the Growler software infrastructure. It is modular, with existing modules for monitoring of cpu, ...
+ View NodeMon

Optimal Alarm System Design and Implementation

An optimal alarm system can robustly predict a level-crossing event that is specified over a fixed prediction horizon. The code contained in this packages provides the tools necessary to design an optimal alarm system for a simple stationary linear dynamic system driven by white Gaussian noise.
+ View Optimal Alarm System

Pathdroid

Pathdroid is a framework to analyze binary Android applications for program defects and malicious behaviors.

+ View Pathdroid

Pour

Pour is a framework for Periodic, On-Demand, and User-Specified Information Reconciliation that accepts periodic information updates, collects information on-demand as needed, and accepts user-specified information while presenting a single unified view to the user. The primary functionality of Pour is ...
+ View Pour

QUIP

QuIP (QUick Image Processing) is an interpreter for image processing, graphics, psychophysical experimentation and general scientific computing.
+ View QUIP

ROBUS-2

The ROBUS-2 Protocol Processor (RPP) is a custom-designed hardware component implementing the functionality of the ROBUS-2 fault-tolerant communication system. The Reliable Optical Bus (ROBUS) is the core communication system of the Scalable Processor-Independent Design for Enhanced Reliability (SPIDER), a general-purpose ...
+ View ROBUS-2

Save

Save is a lightweight framework for creating high availability systems. Save manages IP addresses shared between multiple servers with the same function and monitors the health of those servers to determine which should be actively servicing requests at any given time. Save has additional features to facilitate the administration of high availability systems. Synchronization mechanisms allow configuration files to be kept consistent between systems as well as allowing commands to be executed across all servers of a particular type. Archival mechanisms provide automatic version control of configuration files to aid in recovery in case of errant configuration. Validation mechanisms allow configuration files to be automatically checked for correctness before they are installed on all peer servers.
+ View Save

sequenceMiner

sequenceMiner was developed to address the problem of detecting and describing anomalies in large sets of high-dimensional symbol sequences. sequenceMiner works by performing unsupervised clustering (grouping) of sequences using the normalized longest common subsequence (LCS) as a similarity measure, followed ...
+ View sequenceMiner

Shift

Shift is a lightweight framework for high performance local and remote file transfers that provides resiliency across a wide variety of failure scenarios through various techniques. These include end-to-end integrity via cryptographic hashes, throttling of transfers to prevent resource exhaustion, balancing transfers across resources based on load and availability, and parallelization of transfers across multiple source and destination hosts for increased redundancy and performance.
+ View Shift

SLAB Spatial Audio Renderer

SLAB is a software-based, real-time virtual acoustic environment rendering system being developed as a tool for the study of spatial hearing. SLAB is designed to work in the personal computer environment to take advantage of the low-cost PC platform while ...
+ View SLAB Spatial Audio Renderer

Surfer

Surfer is an extensible framework designed to select and rank grid resources where a resource is defined to be anything that may need selecting such as compute resources, storage resources, data resources, etc. The user specifies the set of resource ...
+ View Surfer

Swim

Swim is a Software Information Metacatalog that gathers detailed information about the software components and packages installed on each grid resource. Information is currently gathered for Executable and Linking Format (ELF) executables and shared libraries, Java classes, shell scripts, and ...
+ View Swim

World Wind

World Wind allows any user to zoom from satellite altitude into any place on Earth, leveraging high resolution LandSat imagery and SRTM elevation data to experience Earth in visually rich 3D, just as if they were really there. Particular focus ...
+ View World Wind

X-Plane Communications Toolbox

The X-Plane Communications Toolbox (XPC) is an open source research tool used to interact with the commercial flight simulator software X-Plane. XPC allows users to control aircraft and receive state information from aircraft simulated in X-Plane using functions written in C or MATLAB in real time over the network. This research tool has been used to visualize flight paths, test control algorithms, simulate an active airspace, or generate out-the-window visuals for in-house flight simulation software.

+ View XPlaneConnect

First Gov logo
NASA Logo - nasa.gov