Compute Camera Model (Data Management)

Summary

Estimates the exterior camera model and interior camera model from the EXIF header of the raw image and refines the camera models. The model is then applied to the mosaic dataset with an option to use a tool-generated, high-resolution digital surface model (DSM) to achieve better orthorectification.

This is especially helpful for UAV and UAS images, where the exterior and interior camera models are coarse or undefined.

Usage

  • A typical workflow might include running the Compute Camera Model tool twice: once with the Estimate Camera Model parameter and specifying an Output Control Point Table parameter value, and a second time using the Refine Camera Model parameter and using the output from the first run as the Input Tie Point Table parameter value. The goal of this workflow is to first make a quick estimate of the camera model and then create a more accurate camera model.

  • When the GPS Location Accuracy parameter is set to the Very high GPS accuracy option, the orientation parameters of the imagery will be adjusted and the GPS measurements will remain fixed. Additionally, GCPs are not required when this option is selected. GCPs will be marked as check points in the adjustment.

Syntax

ComputeCameraModel(in_mosaic_dataset, {out_dsm}, {gps_accuracy}, {estimate}, {refine}, {apply_adjustment}, {maximum_residual}, {initial_tiepoint_resolution}, {out_control_points}, {out_solution_table}, {out_solution_point_table}, {out_flight_path}, {maximum_overlap}, {minimum_coverage}, {remove}, {in_control_points}, {options})
ParameterExplanationData Type
in_mosaic_dataset

The mosaic dataset on which to build and calculate the camera model.

Although not mandatory, it is recommended that you run the Apply Block Adjustment tool on the input mosaic dataset first.

Mosaic Dataset; Mosaic Layer
out_dsm
(Optional)

A digital surface model raster dataset generated from the adjusted images in the mosaic dataset. If apply_adjustment is set to APPLY, this DSM will be used to replace the DEM in the geometric function to achieve better orthorectification.

Raster Dataset
gps_accuracy
(Optional)

Specifies the accuracy level of the input images. The tool will search for images in the neighborhood to compute matching points and automatically apply an adjustment strategy based on the accuracy level.

  • HIGH The GPS accuracy is 0 to 10 meters, and the tool uses a maximum of 4 by 3 images.
  • MEDIUMThe GPS accuracy is 10 to 20 meters, and the tool uses a maximum of 4 by 6 images.
  • LOWThe GPS accuracy is 20 to 50 meters, and the tool uses a maximum of 4 by 12 images.
  • VERY_LOWThe GPS accuracy is more than 50 meters, and the tool uses a maximum of 4 by 20 images.
  • VERY_HIGHImagery was collected with high-accuracy, differential GPS, such as RTK or PPK. This option will hold image locations fixed during block adjustment.
String
estimate
(Optional)

Specifies whether the camera model will be estimated by computing the adjustment based on eight times the mosaic dataset's source resolution. Computing the adjustment at this level will be faster but less accurate.

  • ESTIMATEThe camera model will be estimated. This is the default.
  • NO_ESTIMATEThe camera model will not be estimated.
Boolean
refine
(Optional)

Specifies whether the camera model will be refined by computing the adjustment at the mosaic dataset resolution. Computing the adjustment at this level will provide the most accurate result.

  • REFINEThe camera model will be refined by computing the adjustment at the source resolution. This is the default.
  • NO_REFINEThe camera model will not be refined. This option will be faster, so it is a good option when the computation does not need to be performed at the source resolution.
Boolean
apply_adjustment
(Optional)

Specifies whether the adjusted transformation will be applied to the mosaic dataset.

  • APPLYThe calculated adjustment will be applied to the input mosaic dataset. This is the default.
  • NO_APPLYThe calculated adjustment will not be applied to the input mosaic dataset.
Boolean
maximum_residual
(Optional)

The maximum residual value allowed to keep a computed control point as a valid control point. The default is 5.

Double
initial_tiepoint_resolution
(Optional)

The resolution factor at which tie points are generated when estimating the camera model. The default value is 8, which means eight times the source pixel resolution.

For images with only minor differentiation of features, such as agriculture fields, a lower value such as 2 can be used.

Double
out_control_points
(Optional)

The optional control points feature class.

Feature Class
out_solution_table
(Optional)

The optional adjustment solution table. The solution table contains the root mean square (RMS) of the adjustment error and solution matrix.

Table
out_solution_point_table
(Optional)

The optional solution point feature class. The solution points are the final controls points used to generate the adjustment solution.

Feature Class
out_flight_path
(Optional)

The optional flight path line feature class.

Feature Class
maximum_overlap
(Optional)

The percentage of overlap between two images to consider them duplicates.

For example, if the value is 0.9, it means if an image is 90 percent covered by another image, it will be considered a duplicate and removed.

Double
minimum_coverage
(Optional)

The percentage indicating the control point's coverage on an image. If the coverage is less than the minimum percentage, the image will be unresolved and removed. The default is 0.05, which is 5 percent.

Double
remove
(Optional)

Specifies whether images will be automatically removed if they are too far from the flight strip.

  • NO_REMOVEImages will not be removed. This is the default.
  • REMOVEImages that are too far away from the flight strip will be removed.
Boolean
in_control_points
(Optional)

The tie point table used to compute the camera model. If a tie point table is not specified, the tool will compute its own tie points and estimate the camera model.

Feature Class
options
[options,...]
(Optional)

Additional options for the adjustment engine. These options are only for use by third-party adjustment engines.

Value Table

Derived Output

NameExplanationData Type
out_mosaic_dataset

The output camera model.

Mosaic Dataset; Mosaic Layer

Code sample

ComputeCameraModel example 1 (Python window)

This is a Python example for the ComputeCameraModel tool.

import arcpy 
arcpy.ComputeCameraModel_management('c:\data\fgdb.gdb\md', 'output_DSM.tif', 
                                    'HIGH', 'ESTIMATE', 'REFINE', 'APPLY', '5')

Licensing information

  • Basic: No
  • Standard: No
  • Advanced: Yes