ArcGIS REST API

Compute Seamlines

Description

Compute Seamlines Diagram

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

License:

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

Request parameters

ParameterDetails
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 case sensitive keys: itemId, url, and uri.

Example:

{"itemId": <portal item id>}
{"url": <image service url}
{"serviceProperties":{"name":"testrasteranalysis",
  "serviceUrl":"https://<server name>/server/rest/services/Hosted/testrasteranalysis/ImageServer"},
  "itemProperties":{"itemId":"8cfbd3ec25584d0d8f4ed23b8ff7c43b", "folderId", "sdfwerfbd3ec25584d0d8f4",: }}

seamlinesMethod

(Required)

The method for generating the image collection's seamlines. The supported methods are:

  • 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 intersection areas based on the edges of features in the area.
context

(Optional)

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

  • 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.
  • blendType - Determine how to blend one image into another (Both, Inside, or Outside) over the seamlines. Inside blends pixels inside the seamline, while Outside blends outside the seamline. Both will blend pixels on either side of the seamline.
  • blendWidth - Specifies how many pixels will be blended relative to the seamline. Blending (feathering) occurs along a seamline between pixels of overlapping images.
  • blendUnit - Specifies the unit of measurement for blendWidth. Pixels measures using the number of pixels, and Ground measures using the same units as the image collection.
  • requestSizeType - Sets the units for requestSize. Pixels modifies requestSize based on the pixel size. This resamples the closest image based on the raster pixel size. Pixel scaling factor modifiers requestSize by specifying a scaling factor. This operation resamples the closest image by multiplying the raster pixel size with the pixel size factor.
  • requestSize - Specifies the number of columns and rows for resampling. Though the maximum value is 5,000, this value can increase or decreased based on the complexity of your raster data. A greater image resolution provides more detail in the raster dataset but increases the processing time.
  • minThinnessRatio - Defines how thin a polygon can be before its 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 large a Sliver can be before its considered a polygon. This uses the same scale as minThinnessRatio.

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

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, you use the jobId to retrieve the results. To track the status, you can make a request of the following form:

https://<orthomapping tools>/ComputeSeamlines/jobs/<jobId>

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:

https://<orthomapping tools>/ComputeSeamlines/jobs/<jobId>/results/result?token=<your token>&f=json

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

Example usage

The following is a sample URL for ComputeSeamlines:

https://services.myserver.com/arcgis/rest/services/System/OrthomappingTools/GPServer/ComputeSeamlines/submitJob

JSON request example

imageCollection={"itemId": "1780d648db3545bba8661ad98df824a4"}&
seamlinesMethod=DISPARITY&
context={}