Last update on April 20, 1998
Send questions, comments and corrections to DBA
The Mars 2001 Mission is supported by a database named mars01.
Click on a table in the diagram above to view the table's detailed documentation. You can get a listing of different types of objects in the database from the documents listed below. These documents contain links to detail object specifications.
Types Of Data
The camera-image calibration process uses the following data types:
Three tables support camera calibration directly for the Mars 2001 Mission. They're shown in blue in the diagram above. The calibrations table contains calibration records for all of the cameras. These records are used by the calibration program for image processing. The cameras table describes each camera, associates it with a Rover, and relates camera information to a set of calibration records in the calibrations table.
The vectors table contains vectors of real numbers that are part of calibration records. A separate table is used for vectors so that each vector element is not a separate field in a calibration record. (This would make the set of attributes in the table very long and hard to query.) Since calibration records have several vectors, elements in the table are identified by:
Processing Steps
The diagram below illustrates the processing steps and data stores used for image calibration processing.
Since the calibration records are cached, the calibration program need not go out to the database again. However, if updated calibration records are placed in the database, the administrator can direct the program to stop processing while it re-reads one or more calibration records. Processing then continues on.
Alternatively, the administrator can get files from FEI without subscribing, by passing the names of files to calibrate to the calibration program.
Once a file is calibrated, it is returned to FEI using either the add or replace commands. A different file type from the one used for subscription is used so the calibrated files are stored in their own area. Other processes, or users, can subscribe to the calibrated file type. They then receive a copy of the calibrated file as soon as it's produced. (This function is not shown in the diagram.)
If the calibration program is subscribing to an FEI file type, a subscription restart file is also written to disk. This file saves the subscription state, so when the program restarts, it picks up where it left off in the subscription stream. That is, it gets the next file that arrived in FEI while the program was not running and continues on from that point.
This restart mode is already a standard part of FEI. For a more detailed explanation, see the description of the utility program FeiSubscribe.
The calibration program has a CORBA interface that connects to an administration application, or applet, written in Java. An administrator can send commands to the calibration program and receive status information back through this interface. If a Java applet is used, the administrator's interface is in a Web browser.
Failure Mode
Calibration can run without accessing either the database or FEI server in the unlikely event that both are unavailable. The diagram below shows the processing topology.
In this mode, the real-time process writes raw image files to a local directory The calibration process is started with command line parameters that instruct it to read from the specified directory at a stipulated time interval, like once every 5 minutes. Only new files found in the directory are read and processed at each interval - files whose modified time is later than that of the last file processes.) After each file is processed, it is written to an output directory, also specified as a command line argument to the program.
The calibration data used by the calibration program is read from the local persistent store that was taken from the database by the calibration process at an earlier time.
In this mode, no network connections are needed. Not only does the program not connect to FEI or the database server, but the Administration front-end is also not needed; the program runs independently using its command line arguments. In this mode, processing can be restarted by supplying a file name as one of the command line arguments. Processing starts with that file and continues to process all files with a modified time later than the initial file processed.
Once full service is restored, the real-time and calibrated image files are added manually to FEI using FEI's standard FeiAdd utility program. Alternatively, the files can be reprocessed.