Detect Control Points (Image Analyst)

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

LabelExplanationData 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

DetectControlPoints(in_mosaic_dataset, in_control_points, out_control_points, {out_folder_image_chips}, {tile_size}, {number_tie_points_per_gcp})
NameExplanationData 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

DetectControlPoints example 1 (Python window)

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)
DetectControlPoints example 2 (stand-alone script)

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)

Related topics