HiRISE
 libHiRISE

UA::HiRISE::libHiRISE Documentation

2.12.11 2010/11/25 00:01:42

The UA::HiRISE::libHiRISE software was developed at the Planetary Image Research Laboratory (PIRL) of the University of Arizona Lunar and Planetary Laboratory for the purpose of providing overarching control for the Observation ID, Error, and Instrument classes for data sets produced by the High Resolution Imaging Science Experiment (HiRISE) instrument, part of the Mars Reconnaissance Orbiter (MRO) mission.

UA::HiRISE::libHiRISE exists as a shared library from which utilities can be used by other modules. It does not do anything except provide the characterization that other modules share and thereby prevents specific functionality that is used mutually by more than one part of the sub-system from being written redundantly in multiple places. For this reason, libHiRISE can be considered the support base for the entire HiRISE system, though it in turn uses the standard template library for functionality that is not specific to the mission. The library software is composed of a set of C++ classes and utility functions:

Exception

The Exception class provides the base class for all of the commands that are HiRISE specific but do not fall under the realm of normal execution.

Error

The implementations of the Error class are made to handle commands that are outside of normal execution and are decidely wrong.

There are two implementations of Error:

Invalid_Argument

An argument is considered invalid if it is not an element of an enumerated list or if it cannot be recognized by libHiRISE. Standard errors in arguments will not be caught by UA::HiRISE::Invalid_Argument, rather the STL error handling mechanism will take care of that situation

Out_of_Range

A value is considered out of range if it is greater than the maximum value for that attribute or lower than the minimum value for that value. It should be noted that the use_defaults option being set to true will replace values that are out of range with the default values, thus preventing an Out_of_Range error from being reported.

Instrument

The Instrument class carries constants that characterize the HiRISE instrument for the observation data components.

Observation_ID

The Observation_ID class encapsulates the understanding of the 32-bit observation identification value and its various text representations. This value is the key to identifying exactly which observation data set is being used and with it relating to all of the metadata for the observation stored in the HiCat database. The Observation_ID is extended by its CCD_ID and Channel_ID subclasses which allow for detailed discrimination of each data set within the context of any identified observation. The fully qualified observation data set identification is contained in the EDR filename, PVL label, and in the Science Channel Header data component.

The libHiRISE software is included with the UA::HiRISE distribution.


Copyright (C) 2005-2020 Arizona Board of Regents on behalf of the Lunar and Planetary Laboratory at the University of Arizona.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.