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
arcpy.management.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})
Parameter | Explanation | Data 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.
| 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.
| 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.
| Boolean |
apply_adjustment (Optional) | Specifies whether the adjusted transformation will be applied to the 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.
| 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
Name | Explanation | Data 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')
Environments
Licensing information
- Basic: No
- Standard: No
- Advanced: Yes