Select Git revision
-
Amy Stamile authoredAmy Stamile authored
jigsaw.xml 106.27 KiB
<?xml version="1.0"?>
<application name="jigsaw" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://isis.astrogeology.usgs.gov/Schemas/Application/application.xsd">
<brief>
Improves image alignment by updating camera geometry attached to cubes.
</brief>
<description>
<h3>Overview</h3>
<p>
The <b>jigsaw</b> application performs a photogrammetric bundle adjustment on a group of
overlapping, level 1 <def>cube</def>s from framing and/or line-scan cameras. The adjustment
simultaneously refines the selected image geometry information (camera pointing, spacecraft
position) and <def>control point</def> coordinates (x,y,z or lat,lon,radius) to reduce
boundary mismatches in mosaics of the images.
</p>
<p>
This functionality is demonstrated below in a zoomed-in area of a mosaic of a
pair of overlapping Messenger images. In the before jigsaw mosaic on the left
(uncontrolled), the features on the edges of the images do not match. In the after
jigsaw mosaic on the right (controlled), the crater edges meet correctly and the
seam between the two images is no longer visible.
</p>
<img src='assets/images/mdis2_Uncontrolled.png' alt='Before jigsaw (uncontrolled)' width='306' height='259' />
<img src='assets/images/mdis2_Controlled.png' alt='After jigsaw (controlled)' width='306' height='259' />
<p>
The <b>jigsaw</b> application assumes <b>spiceinit</b> or <b>csminit</b> has been run on the
input <def>cube</def>s so that camera information is included in the Isis <def>cube</def>
labels. In order to run the program, the user must provide a list of input <def>cube</def>s,
an input <def>control net</def>, the name of an output <def>control network</def>, and the
solve settings. The measured <def>sample</def>/<def>line</def> positions associated with the
<def>control measure</def>s in the network are not changed. Instead, the control points and
camera information are adjusted. <b>jigsaw</b> outputs a new <def>control network</def> that
includes the initial state of the points in the network and their final state after the
adjustment. The initial states of the points are tagged as <def>a priori</def> in the
<def>control network</def>, and their final states are tagged as <def>adjusted</def>.
Updated camera information is only written to the <def>cube</def> labels if the bundle
converges and the <b>UPDATE</b> parameter is selected.
</p>
<p>
In order to apply bundle values using <b>ADJUSTMENT_INPUT</b>, only the option <b>FROMLIST</b>
must be set. If the <b>ADJUSTMENT_INPUT</b> is set to an HDF5 file containing bundle adjustment values
(usually the HDF5 output file from <b>OUTADJUSTMENTH5</b>), those values can be applied to the
<def>cube</def> labels. The adjustment file entails a group of HDF5 datasets where each dataset
contains the instrument pointing and position for each <def>cube</def>. The dataset key is composed
of the <def>cube</def> serial number and the table name, either "InstrumentPointing" or
"InstrumentPosition", separated by a forward slash "/". For example:
</p>
<pre>
SerialNumber: MRO/CTX/1016816309:030
Dataset key for instrument pointing: MRO/CTX/1016816309:030/InstrumentPointing
</pre>
<p>
The input control net may be created by finding each image footprint with <b>footprintinit</b>,
computing the image overlaps with <b>findimageoverlaps</b>, creating guess measurements with
<b>autoseed</b>, then registering them with <b>pointreg</b>.
</p>
<p>
Optional output files can be enabled to provide more information for analyzing the results of
the bundle. <b>BUNDLEOUT_TXT</b> provides an overall summary of the bundle adjustment;
it lists the user input parameters selected and tables of statistics for both the
images and the points. The image statistics can be written to a separate machine readable
file with the <b>IMAGESCSV</b> option and likewise for the point statistics with the
<b>OUTPUT_CSV</b> option. <b>RESIDUALS_CSV</b> provides a table of the measured image
coordinates, the final <def>sample</def>, <def>line</def>, and overall residuals
of every control measure in both millimeters and pixels. <b>OUTADJUSTMENTH5</b> stores bundle
adjustment values in an HDF5 file. Currently, only ISIS adjustment values are saved to file so