HiRISE Software Subsystems

Software used on the HiRISE Operations Center (HiROC) Ground Data Systems for producing and managing HiRISE image data products includes procedures employed in the automated Conductor pipelines, observation planning tools, database management utilities, and Java packages and C++ class libraries providing support for application programs.

HiRISE data product software

There are two HiRISE software subsystems specifically intended for use with the two primary types of HiRISE image data products: EDRs, or Experimental Data Records, which contain low-level raw observation data and RDRs, or Reduced Data Records, which contain high-level photmetrically calibrated and geometrically rectified imagery and science metadata.


The Observation software provides a set of C++ classes, and application programs that use them, for managing HiRISE instrument observation data components. This is the software that is used to process raw observation data from the spacecraft to produce the PDS EDR files for public distribution. The Observation subsystem software can be resused to create new applications that need access to the observation data components and the HiRISE_Observation application, in addition to providing a model for employing the component management classes, can be used to examine the detailed contents of data components in a PDS EDR file.


The PDS_JP2 software provides a set of C++ classes, and application programs that use them, for converting between PDS flat image file and PDS/JP2 file set format standards. Conversion of label parameters and image data is handled independently to facilitate easier data management and extension of the classes with new capabilities. The PDS_to_JP2 application is used to generate the PDS/JP2 files for public distribution. It provides automatic PDS flat file label converter selection with a generic conversion fallback and control of all configurable aspects of loss-less JPEG2000 compression and metadata content in the generated JP2 file, including data provider signature specification and geospatial reference information, with reasonable defaults for all specifications. The JP2_to_PDS application, in addition to enabling generation of a complete PDS flat image file from a PDS/JP2 file set, allows a sub-area or less than full resolution rendering of the image to be performed during the image pixel data rendering. This is particularly useful when working with large images when only a particular region or low resolution presentation rendering is of interest.

Pipeline procedures

HiRISE data processing is highly automated. A network of processing pipelines has been developed to move the data through the various stages of processing. Each pipeline segment was designed to accompish a certain processing task by applying a sequence of procedures to an input data product file that results in one or more output product files. The output files are either the input files to other pipelines or product files for delivery to the public. Some pipelines contain many procedures, others may only contain one or a few procedures that are wrapper scripts for managing the requirements of procedures that are used. The ISIS software is used extensively in many of the wrapper scripts to accomplish photmetric and geometric image processing.















Observation planning


The HiPlan subsystem provides a set of software tools used to identify suitable HiRISE observations and specifying all the details of instrument settings for each observation.

Database management


HiCat is the HiRISE catalog of observation specifications, data product characterization, and anciliary information essential for the operation of HiROC.

Application support


The libHiRISE software provides a set of C++ and Java classes that manage the key Observation ID that is used to uniquely identify an observation data set. An Instrument class (both C++ and Java) provides the characterization constants for the HiRISE instrument.


The HiRISE Java Packages provide a Java implementations of the libHiRISE API plus the set of classes used by many HiRISE applications.