Home
About Isis
Support
Download

Isis 3

Documentation
Tutorials
Technical Documents

Isis 2

Documentation
Tutorials
Technical Documents

Search

USGS

Isis 3 Application Documentation


jigsaw

Printer Friendly View | TOC | Home

Improves camera pointing

Overview Parameters

Description

This program takes as input a control network and list of level 1 cubes. It uses the control network to solve for new camera pointing for each of the cubes. This helps eliminate mismatches in mosaics of multiple images.

Categories


Related Objects and Documents

Applications


History

Jeff Anderson2007-04-27 Original version
Steven Lambright2007-07-23 Changed category to Control Networks and corrected XML bugs
Debbie A. Cook2007-10-05 Revised iteration report to list the errors and sigmas from the same iteration. Previous version reported errors from previous iteration and sigmas from current iteration.
Christopher Austin2008-07-03 Cleaned the Bundle Adjust memory leak and fixed the app tests.

Parameter Groups

Files

Name Description
FROMLIST Cube list
HELDLIST Held list
CNET Input control network
ONET Output control network

Solve Options

Name Description
OBSERVATIONS Keep instances of the same observation in different cube files dependent
RADIUS Solve for local radii of points
UPDATE Update cube label
METHOD Matrix solution method to use

Iteration Options

Name Description
MAXITS iterations
TOL tolerance

Camera Pointing Options

Name Description
CKDEGREE Degree of polynomial fit to original camera angles
SOLVEDEGREE The degree of the polynomial being fit to in the bundle adjustment
CAMSOLVE Sets which, if any, camera pointing factors to include in the bundle adjustment"
TWIST Solve for twist?

Spacecraft Options

Name Description
SPSOLVE Sets which, if any, spacecraft position factors to include in the adjustment
X

Files: FROMLIST


Description

This file contains a list of all cubes in the network

Type filename
File Mode input
Filter *.txt *.lis
Close Window
X

Files: HELDLIST


Description

This file contains a list of all cubes whose pointing angles will be held in the adjustment.

Type filename
File Mode input
Internal Default none
Filter *.txt *.lis
Close Window
X

Files: CNET


Description

This file is a control network generated from programs such as autoseed or qnet

Type filename
File Mode input
Filter *.net
Close Window
X

Files: ONET


Description

This file will contain the update control network with residuals for each measurement.

Type filename
File Mode output
Filter *.net
Close Window
X

Solve Options: OBSERVATIONS


Description

This option will solve for spice on all cubes with a matching observation number as though they were a single image. For most missions the default observation number is the serial number of the cube file so that a single cube is an observation. However all Lunar Orbiter missions have defined observation numbers that are different from their serial numbers, so that the 3 subframes of a Lunar Orbiter High Resolution frame will be treated as a single observation if this option is on. Otherwise each subframe will be adjusted independently.

Type boolean
Default No
Close Window
X

Solve Options: RADIUS


Description

Select this option to solve for the local radius of each control point. If this button is not turned on, the radii of the points will not change from the cube's shape model.

Type boolean
Default No
Close Window
X

Solve Options: UPDATE


Description

This option will write the results of the solution to each cube in the FROMLIST. The pointing is written in the form of a SPICE blob which is attached to the cube. This only occurs if the solution converged to the requested tolerance within the the requested number of iterations. If this option is turned off, then only the output control network with the latitude/longitude/radius for each point in the solution and and the point residuals is created.

Type boolean
Default Yes
Close Window
X

Solve Options: METHOD


Description

Enter the desired method to use to solve the matrix. Methods will vary in speed and accuracy. The default, QRD, is the preferred method, unless the matrix is close to singular or the system being solved has more than 2000 unknowns. A matrix might be close to singular if some of the points are very close to each other, or if some of the images have camera angles that are nearly identical. In the case of a nearly singular matrix, the SVD method wil work the best. For larger bundle adjustments involving more than 2000 unknowns, the SPARSE option will work the best. To determine the number of unknowns use the following formula:

Total # Unknowns = observCount * (camUnknowns + spUnknowns) + controlPt*ptUnknowns,

            where, observCount = the number of images or observations

                   camUnknowns = 2, if CAMSOLVE=ANGLES and TWIST is not checked
                               = 3, if CAMSOLVE=ANGLES and TWIST is checked
                               = 4, if CAMSOLVE=VELOCITIES and TWIST is not checked                                     
                               = 5, if CAMSOLVE=VELOCITIES and TWIST is checked
                               = 6, if CAMSOLVE=ACCELERATIONS and TWIST is not checked
                               = 7, if CAMSOLVE=ACCELERATIONS and TWIST is checked
                               = SOLVEDEGREE * 2 if TWIST is not checked
                               = SOLVEDEGREE * 3 if TWIST is checked

                    spUnknowns = 0, if SPSOLVE=NONE
                               = 3, if SPSOLVE=POSITION
                               = 6, if SPSOLVE=VELOCITIES
                               = 9, if SPSOLVE=ACCELERATIONS

                     controlPt = The number of control points in the network

                    ptUnknowns = 2, if RADIUS is not checked in the Solve Options box
                               = 3, if RADIUS is checked in the Solve Options box
        

Type string
Default QRD
Option List:
Option Brief Description
SVD Single Value Decomposition Solve the matrix using the method of single value decomposition. This method is very accurate, but slow.
QRD QR Decomposition Solve the matrix using the method of QR decomposition, where Q is an orthogonal matrix such that Q transpose * Q =I, and R is an upper triangular matrix.
SPARSE Sparse matrix solver Solve the matrix using a sparse matrix solver. Note: Sparse solver will not work on Sun/Solaris, QRD will be used.
Close Window
X

Iteration Options: MAXITS


Description

Number of iterations

Type integer
Default 5
Close Window
X

Iteration Options: TOL


Description

Tolerance in pixels

Type double
Default 0.5
Close Window
X

Camera Pointing Options: CKDEGREE


Description

The degree of the polynomial fit to the original camera angles and used to generate apriori camera angles for the first iteration.

Type integer
Default 2
Close Window
X

Camera Pointing Options: SOLVEDEGREE


Description

The degree of the polynomial being fit to in the bundle adjust solution. This polynomial can be different from the one used to generate the apriori camera angles used in the first iteration. In the case of an instrument with a jitter problem, a higher degree polynomial fit to each of the camera angles might provide a better solution (smaller errors).

Type integer
Default 2
Close Window
X

Camera Pointing Options: CAMSOLVE


Description

This parameter is used to specify which camera pointing factors to fit in the adjustment. At least one item must be selected in this group or the spacecraft group, or the application will have nothing to adjust.

Type string
Default ANGLES
Option List:
Option Brief Description
NONE Don't solve for any camera pointing factors If this option is selected, no camera pointing factors will be adjusted.
ANGLESSolve for camera angles: right ascension, declination, and optionally twist If this option is selected the camera angles in each cube will be adjusted in the solution, but not the angular velocity or angular acceleration. The adjustments will not be applied unless UPDATE is selected.
VELOCITIESSolve for camera angles AND their angular velocities If this option is selected, camera angles (right ascension, declination, and optionally twist) and their angular velocites will be adjusted in the solution.
ACCELERATIONSSolve for camera angles, their angular velocities, and their angular accelerations If this option is selected, camera angles (right ascension, declination, and optionall twist), their angular velocities, and their angular accelerations will be adjusted in the solution.
ALLSolve for all coefficients in the polynomials fit to the camera angles. If this option is selected, all coefficients of the solve equation will be fit in the solution (SOLVEDEGREE+1 coefficients)
Close Window
X

Camera Pointing Options: TWIST


Description

If this option is on, the twist angle will be adjusted in the bundle adjustment solution.

Type boolean
Default Yes
Close Window
X

Spacecraft Options: SPSOLVE


Description

This parameter is used to specify which spacecraft position factors to fit in the adjustment.

Type string
Default NONE
Option List:
Option Brief Description
NONEDon't solve for any spacecraft position factors If this option is selected, no spacecraft position factors will be adjusted. A camera angle factor must be included in the adjustment in order for the application to run.
POSITIONSolve for the spacecraft positions If this option is selected, the spacecraft positions will be adjusted in the solution, but not the velocity or the acceleration.
VELOCITIESSolve for the spacecraft positions and velocites If this option is selected, the spacecraft positions will be adjusted in the solution, as well as the velocities of the spacecraft at each instance.
ACCELERATIONSSolve for the spacecraft positions, velocities, and accelerations If this option is selected, the spacecraft positions will be adjusted in the solution, as well as the velocities and accelerations of the spacecraft at each instance.
Close Window