Detect Bright Ocean Objects (Image Analyst)

Available with Image Analyst license.

Summary

Detects potential bright human-made objects—such as ships, oil rigs, and windmills—while masking out the synthetic aperture radar (SAR) data outside the region of interest.

The tool clusters pixels and filters the clusters by the minimum and maximum width and length parameters, and outputs the results to a feature class. The output feature class can be specified as a bounding box or a perimeter around the polygon for the detected objects.

Usage

  • Calibrate the input radar data to gamma nought using the Apply Radiometric Calibration tool. This optimizes object detection, especially in large radar scenes.

  • The input radar data may not align with the output feature class. If the input radar data is not orthorectified, the tool transforms the Output Feature Class parameter value using the DEM Raster parameter. When no DEM is provided, the tool performs a transformation using an ellipsoidal surface. For optimal transformation of the Output Feature Class parameter value, provide an input DEM for the DEM Raster parameter. The input DEM must be in the WGS84 (EPSG:4326) geographic coordinate system.

  • To ensure that only objects in the ocean are detected, provide a value for the Mask Features parameter and use the Feature Type parameter to specify whether the mask is water or land. Alternatively, provide a DEM Raster parameter value, and the tool will use the elevation to determine land and water pixels. Either of these methods can be used to create a land mask.

    If both the Mask Features and DEM Raster parameter values are provided, the Mask Features parameter will be used to create the mask.

    Water and land mask for bright ocean objects

Parameters

LabelExplanationData Type
Input Radar Data

The input radar data.

Raster Dataset; Raster Layer
Output Feature Class

The output feature class of detected bright ocean objects.

Feature Class
Output Type
(Optional)

Specifies the type of boundary that will be used for the output feature class.

  • Bounding box The minimum bounding box of the detected object will be used. This is the default.
  • Perimeter An outline of the perimeter of the detected object will be used.
String
Minimum Object Width
(Optional)

The minimum width of an object to be detected. The width must be a positive value.

The default value is 10 meters.

Linear Unit
Maximum Object Width
(Optional)

The maximum width of an object to be detected. The width must be a positive value.

The default value is 100 meters.

Linear Unit
Minimum Object Length
(Optional)

The minimum length of an object to be detected. The length must be a positive value.

The default value is 50 meters.

Linear Unit
Maximum Object Length
(Optional)

The maximum length of an object to be detected. The length must be a positive value.

The default value is 500 meters.

Linear Unit
Mask Features
(Optional)

A land or water polygon feature. This polygon will be used to create a mask.

Feature Layer
Feature Type
(Optional)

Specifies the type of polygon the Mask Features parameter value represents. This parameter is required if the Mask Features parameter is specified.

  • Land polygonThe mask input is a land polygon. An inverted mask will be created using this input.
  • Water polygonThe mask input is a water polygon. A mask will be created using this input.
String
DEM Raster
(Optional)

The input DEM.

If the input radar data is not orthorectified, this DEM will be used to orthorectify it.

If no value is provided for the Mask Features parameter, this DEM will also be used to create a land mask.

Mosaic Layer; Raster Layer
Apply Geoid Correction
(Optional)

Specifies whether the vertical reference system of the input DEM will be transformed to ellipsoidal height. Most elevation datasets are referenced to sea level orthometric height, so a correction is required in these cases to convert to ellipsoidal height.

  • Checked—A geoid correction will be made to convert orthometric height to ellipsoidal height (based on EGM96 geoid). This is the default.
  • Unchecked—No geoid correction will be made. Use this option only if the DEM is provided in ellipsoidal height.

Boolean
Mask Tolerance
(Optional)

The buffer distance surrounding the mask created from either the Mask Features parameter or the DEM Raster parameter. The distance cannot be negative. The default value is 100 meters.

Linear Unit

DetectBrightOceanObjects(in_radar_data, out_feature_class, {out_type}, {min_object_width}, {max_object_width}, {min_object_length}, {max_object_length}, {mask_features}, {feature_type}, {in_dem_raster}, {geoid}, {mask_tolerance})
NameExplanationData Type
in_radar_data

The input radar data.

Raster Dataset; Raster Layer
out_feature_class

The output feature class of detected bright ocean objects.

Feature Class
out_type
(Optional)

Specifies the type of boundary that will be used for the output feature class.

  • BOUNDS The minimum bounding box of the detected object will be used. This is the default.
  • PERIMETER An outline of the perimeter of the detected object will be used.

String
min_object_width
(Optional)

The minimum width of an object to be detected. The width must be a positive value.

The default value is 10 meters.

Linear Unit
max_object_width
(Optional)

The maximum width of an object to be detected. The width must be a positive value.

The default value is 100 meters.

Linear Unit
min_object_length
(Optional)

The minimum length of an object to be detected. The length must be a positive value.

The default value is 50 meters.

Linear Unit
max_object_length
(Optional)

The maximum length of an object to be detected. The length must be a positive value.

The default value is 500 meters.

Linear Unit
mask_features
(Optional)

A land or water polygon feature. This polygon will be used to create a mask.

Feature Layer
feature_type
(Optional)

Specifies the type of polygon the mask_features parameter value represents. This parameter is required if the mask_features parameter is specified.

  • LANDThe mask input is a land polygon. An inverted mask will be created using this input.
  • WATERThe mask input is a water polygon. A mask will be created using this input.

String
in_dem_raster
(Optional)

The input DEM.

If the input radar data is not orthorectified, this DEM will be used to orthorectify it.

If no value is provided for the mask_features parameter, this DEM will also be used to create a land mask.

Mosaic Layer; Raster Layer
geoid
(Optional)

Specifies whether the vertical reference system of the input DEM will be transformed to ellipsoidal height. Most elevation datasets are referenced to sea level orthometric height, so a correction is required in these cases to convert to ellipsoidal height.

  • GEOIDA geoid correction will be made to convert orthometric height to ellipsoidal height (based on EGM96 geoid). This is the default.
  • NONENo geoid correction will be made. Use this option only if the DEM is provided in ellipsoidal height.
Boolean
mask_tolerance
(Optional)

The buffer distance surrounding the mask created from either the mask_features parameter or the in_dem_raster parameter. The distance cannot be negative. The default value is 100 meters.

Linear Unit

Code sample

DetectBrightOceanObjects example 1 (Python window)

This example finds bright ocean objects using a water mask.

import arcpy 
arcpy.ia.DetectBrightOceanObjects(
    r"C:\Data\SAR\Spotlight High_ICEYE_GRD_SLH_50153_20210405T124010_CalG0.crf", 
    r"C:\Output\Ocean.gdb\DetectBrightOceanObjects", "BOUNDS", 
    "50 Meters", "500 Meters", "50 Meters", "500 Meters", "MPA Water Polygon", 
    "Water", r"C:\Data\DEM\dem_COP30_ortho.tif", "GEOID", "100 Meters")
DetectBrightOceanObjects example 2 (stand-alone script)

This example finds bright ocean objects using a water mask.

# Import system modules and check out ArcGIS Image Analyst extension license
import arcpy
arcpy.CheckOutExtension("ImageAnalyst")
from arcpy.ia import *

# Set local variables
in_radar_data= r"C:\Data\SAR\IW_manifest_CalG0.crf"
out_feature_class = r"C:\Output\Ocean.gdb\DetectBrightOceanObjects"
out_type = "BOUNDS"
min_object_width = "50 Meters"
max_object_width = "500 Meters"
min_object_length = "50 Meters"
max_object_length = "500 Meters"
mask_features = "MPA Water Polygon"
feature_type = "Water"
in_dem_raster = r"C:\Data\DEM\dem_COP30_ortho.tif"
geoid = "GEOID"
mask_tolerance = "100 Meters"

# Execute 
arcpy.ia.DetectBrightOceanObjects(in_radar_data, out_feature_class, out_type, 
                    min_object_width, max_object_width, min_object_length, 
                    max_object_length, mask_features, feature_type, in_dem_raster, 
                    geoid, mask_tolerance)

Related topics