Challenge Overview

The purpose of this project is to develop an application that will utilize Hadoop-MapReduce to perform image processing that transforms the raw images taken by Lunar Reconnaissance Orbiter (LRO) to geo-referenced and mosaicked images that can be displayed on the LMMP (www.lmmp.nasa.gov) as rich visualization layers which are highly valuable for future mission planning and development.

 

The high level requirements of this challenge are to develop an application that will:

  1. Allow user to specify filter criteria as input to PDS (Planetary Data Systems image selection. Filter criteria should at a minimum include: region (bounding coordinates), illumination and camera angle, and image collection time.  This will require changes to the existing PDS API.

  2. Retrieve two raw images within specified location from LRO NAC (1 from the left camera and the other from the right camera) by using data access API provided by PDS Geosciences Node.

  3. Import associated SPICE kernels (e.g., from the USGS database).

  4. Generate map-projected and ortho-rectified imagery and builds mosaics from these two images. The output imagery should be formatted in GeoTIFF. The application should be developed to take advantage of a Hadoop-map/reduce cluster.

  5. Provide GUI controls as well as the capability to be executed as a set of webservices (see below).

 

The goal of this contest is to design the system architecture for a system that will deliver the high level requirements above.  The winning architecture should:

 

- Define changes to the existing PDS API to suit the search and filter requirements of this project

- Define services that retrieve user specified image data as defined above

- Define methods and services that can retrieve the correct SPICE kernals (this can include a requirement to pre-select a suite of SPICE filters during installation, and maintain them local to the LMMP system)

- Define services that can be called separately from the retrieval step, to compute the image geometry and processing

- Define a simple module to handle GUI requirements (Note: your architecture can delegate this task to a module architecture)

- Define an approach for using EMR or Hadoop to compute the processing intensive tasks of the application.



Final Submission Guidelines

The idea user flow is defined as:

 

1. User will specify the criteria on LMMP user interface that will invoke the image process service to start the transformation.

2. The image process service will get the raw images data by using PDS API, and do the image processing.

3. The image process service will provide services that a. notify the LMMP about the processing completion and b, allow retrieval of the transformed images.

 

The expected output of the system is:

 

The expected output are transformed geo-referenced and mosaicked images with associated metadata.

 

Existing assets that can be integrated into the solution:

  • The existing API for PDS, created by topcoder, is found here: https://coder.topcoder.com/tcs/clients/ntl-pds/assets/assembly/pds_projects/
  • The main input is a pair of the raw images returned by The Lunar Reconnaissance Orbiter (LRO).
  • They are accessible via NASA’s Planetary Data System (PDS) and the Lunar Mapping and Modeling Portal (LMMP).
  • The process needs to manage complex image processing, in order to get the results quickly, we'd like to take advantage of a Hadoop-map/reduce cluster. Amazon EMR will be the deployment environment
  • LROC NAC images are available at: http://ode.rsl.wustl.edu/moon/
  • There is an existing webservice API that you can use to access PDS LROC data:
    https://wufs.wustl.edu/bennett/ODERestTest/

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30039530