Compute Camera Model (Data Management)


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.


  • 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.


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

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

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

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.

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.

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.

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.

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


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.


The optional control points feature class.

Feature Class

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


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

Feature Class

The optional flight path line feature class.

Feature Class

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.


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.


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.

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

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

Value Table

Derived Output

NameExplanationData Type

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