Label | Explanation | Data Type |
Input Mosaic Dataset
| The mosaic dataset that contains the source imagery from which the ground control points will be created. | Mosaic Dataset; Mosaic Layer |
Input Control Points
| The input control point set that contains a list of ground control point features. | File; Feature Class; Feature Layer; String |
Output Control Points
| The output ground control point features. | Feature Class |
Output Folder Image Chips
(Optional) | The output folder of image chips. | Folder |
Tile Size
(Optional) | The tile size of the output image chips. The default tile size is 1024. | Long |
Number of Tie Points
(Optional) | The number of tie points for each ground control point. The default is 5. | Long |
Available with Image Analyst license.
Available for an ArcGIS organization with the ArcGIS Reality license.
Summary
Detects ground control points in a mosaic dataset.
Usage
This tool is used as part of the orthorectification process. The preliminary image collection is created using the Reality Mapping workspace. The mosaic dataset requires a quick adjustment; then the image collection can be further refined using control points.
The tool will perform object detection on the images to find the ground control points (GCP).
This tool can detect two types of ground control markers: checkers and crosses.
The results of the detections can be used in ArcGIS Reality for ArcGIS Pro projects.
The tool uses two deep learning models trained by Esri. For more information about deep learning, see Deep learning using the ArcGIS Image Analyst extension.
To set up your machine to use deep learning frameworks in ArcGIS AllSource, see Install deep learning frameworks for ArcGIS.
While the tool supports both CPU and GPU, a NVIDIA CUDA-capable GPU with a minimum of 4 GB VRAM is required, and 8 GB VRAM is recommended. For the latest GPU requirements, see Deep learning frequently asked questions.
This tool supports and uses multiple GPUs if available. To use a specific GPU, specify the GPU ID environment. When the GPU ID environment is not set, the tool will use all available GPUs; this is the default.
Parameters
DetectControlPoints(in_mosaic_dataset, in_control_points, out_control_points, {out_folder_image_chips}, {tile_size}, {number_tie_points_per_gcp})
Name | Explanation | Data Type |
in_mosaic_dataset | The mosaic dataset that contains the source imagery from which the ground control points will be created. | Mosaic Dataset; Mosaic Layer |
in_control_points | The input control point set that contains a list of ground control point features. | File; Feature Class; Feature Layer; String |
out_control_points | The output ground control point features. | Feature Class |
out_folder_image_chips (Optional) | The output folder of image chips. | Folder |
tile_size (Optional) | The tile size of the output image chips. The default tile size is 1024. | Long |
number_tie_points_per_gcp (Optional) | The number of tie points for each ground control point. The default is 5. | Long |
Code sample
This example detects control points and outputs image chips using five tie points with a tile size of 1024 pixels.
# Import system modules
import arcpy
from arcpy.ia import *
arcpy.env.workspace = r"C:\myproject\RealityMapping\myproject.ermw\Imagery\myproject.gdb"
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
arcpy.ia.DetectControlPoints("MyprojectCollection", "myproject_ControlPoints",
r"C:\myproject\myproject.gdb\ImageCollection_ControlPoints2",
r"C:\myproject\tempImageChips", 1024, 5)
This example detects control points and outputs image chips using five tie points with a tile size of 1024 pixels.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Set local variables
in_mosaic = r"C:\myproject\RealityMapping\myproject.ermw\Imagery\myproject.gdb\myproject_Collection"
in_control_points = r"C:\myproject\RealityMapping\myproject.ermw\Imagery\myproject.gdb\myproject_ControlPoints"
out_control_points = r"C:\myproject\myproject.gdb\ImageCollection_ControlPoints2"
out_folder_image_chips = r"C:\myproject\tempImageChips"
tile_size = 512,
number_tie_points_per_gcp = 3
# Execute
arcpy.ia.DetectControlPoints_ia(in_mosaic, in_control_points, out_control_points,
out_folder_image_chips, tile_size, number_tie_points_per_gcp)