Compute Seamlines

Compute Seamlines diagram

The ComputeSeamlines operation is a service tool that's used to compute seamlines between overlapping images comprising the image collection, usually after the image collection is block adjusted. Seamlines are helpful for generating the seamless mosaicked display of overlapped images in an image collection. Seamlines are computed only for candidates that will eventually be used for generating the resulting mosaicked orthoimage.

Licensing

License:

As of ArcGIS 10.5, you must license your ArcGIS Server as an ArcGIS Image Server to use this resource.

This operation is supported at 10.6.1 and later.

Request URL

http://<orthomapping service tool url>/ComputeSeamlines/submitJob?
imageCollection={"itemId": "1780d648db3545bba8661ad98df824a4"}&colorCorrectionMetho=Dodging&dodging
Surface=Color_Grid&referenceImage={"itemId": "1780d648db3545bba8661ad98df824a4"}&context={}

Request parameters

The following table lists the parameters with syntax and details for each.

ParameterDescription

imageCollection

The image collection (mosaic dataset) name or url.

The image service must exist before calling the service to compute seamlines.

Syntax: A JSON object supports three keys, itemId, url and uri. These keys are case sensitive.

Example:

{"itemId": “<portal item id>”}
{“url”: “<image service url>”}
{“uri”: “<cloud raster uri or shared data path>”}

seamlinesMethod

(Required)

The following are the supported methods for generating seamlines for the image collection:

  • VORONOI—Generates seamlines using the area Voronoi diagram.
  • DISPARITY—Generates seamlines based on the disparity images of stereo pairs. This method can avoid seamlines cutting through buildings.
  • GEOMETRY—Generates seamlines for overlapping areas based on the intersection of footprints. Areas with no overlapping imagery will merge the footprints. This is the default.
  • RADIOMETRY—Generates seamlines based on the spectral patterns of features within the imagery.
  • EDGE_DETECTION—Generates seamlines over intersecting areas based on the edges of features in the area.

context

(Optional

Contains additional settings that allow you to customize the generation of seamlines.

Example:

{"minRegionSize": 100,
"pixelSize": "",
"blendType": "Both",
"blendWidth": null,
"blendUnit": "Pixels",
"requestSizeType": "Pixels",
"requestSize": 1000,
"minThinessRatio": 0.05,
"maxSliverSize": 20
}

Where:

  • minRegionSize—Any seamline polygons smaller than this specified threshold will be removed in the seamline result.
  • pixelSize—Generates seamlines for raster datasets that fall within the specified spatial resolution size.

    You can leave this parameter empty and the tool will automatically create seamlines at the appropriate levels. The units for this parameter are the same as the spatial reference of the input mosaic dataset.

  • blendType— Determine how to blend one image into another, over the seamlines.
    • Both—Blends using pixels on either side of the seamlines. For example, if blendWidth is 10 pixels, 5 pixels will be blended on the inside and outside of the seamline.
    • Inside—Blends inside the seamline.
    • Outside—Blends outside the seamline.
  • blendWidth—Blending (feathering) occurs along a seamline between pixels of overlapping images. blendWidth specifies how many pixels will be blended relative to the seamline. If the blend width value is 10, and you use BOTH as the blend type, 5 pixels will be blended on the inside and outside of the seamline. If the value is 10, and the blend type is INSIDE, 10 pixels will be blended the inside of the seamline.
  • blendUnit—Specifies the unit of measurement for blendWidth. The options are as follows:
    • Pixels—Measures using the number of pixels.
    • Ground units—Measures using the same units as the image collection (mosaic dataset).
  • requestSizeType—Sets the units for requestSize. The options are as follows:
    • Pixels—Modifies requestSize based on the pixel size. This resamples the closest image based on the raster pixel size.
    • Pixel scaling factor—Modifies requestSize by specifying a scaling factor. This option resamples the closest image by multiplying the raster pixel size (from cell size level table) with the pixel size factor.

  • requestSize—Specifies the number of columns and rows for resampling. The maximum value is 5,000. Increase or decrease this value based on the complexity of your raster data. Greater image resolution provides more detail in the raster dataset but also increases the processing time.
  • minThinnessRatio—Defines how thin a polygon can be, before it's considered a sliver. This is based on a scale from 0 to 1.0, where a value of 0.0 represents a polygon that's almost a straight line, and a value of 1.0 represents a polygon that's a circle.
  • maxSliverSize—Defines how thin a polygon can be, before it's considered a sliver. This is based on a scale from 0 to 1.0, where a value of 0.0 represents a polygon that's almost a straight line, and a value of 1.0 represents a polygon that's a circle.

f

The response format. The default response format is html.

Values: html | json

Response

When you submit a request, the task assigns a unique job ID for the transaction.

Syntax:

{ "jobId": "<unique job identifier>", "jobStatus": "<job status>" }

After the initial request is submitted, you can use the jobId to periodically check the status of the job and messages as described in Checking job status. Once the job has successfully completed, use the jobId to retrieve the results. To track the status, you can make a request of the following form:

http://<Orthomapping service tool url>/ComputeSeamlines/jobs/<jobId>

Accessing results

When the status of the job request is esriJobSucceeded, you can access the results of the analysis by making a request of the following form:

http://<Orthomapping service tool url>/ComputeSeamlines/jobs/<jobId>/results/result?token=<your token>&f=json

The result will be the image service URL of the image collection.