Apply Complex Data Filter (Image Analyst)

Available with Image Analyst license.

Summary

Smooths the phase component of the complex input synthetic aperture radar (SAR) data and outputs complex radar data.

Usage

  • The input must be complex data.

  • Higher alpha values will mean stronger filtering is applied. Using stronger filters will result in a smoother phase, but the accuracy is not necessarily improved.

    Using an alpha value that is too large can reduce the resolution of the output radar data.

    Using an alpha value that is too small can result in a noisy output.

  • The Goldstein Phase Filter option for the Filter Type parameter uses the outer window to compute phase variance. Phase variance is a type of coherence measurement. If the phase values in the outer window show high variability, which indicates low coherence, the smaller inner window will be used for filtering.

Parameters

LabelExplanationData Type
Input Radar Data

The input complex radar data.

Raster Dataset; Raster Layer
Output Radar Data

The phase-filtered complex radar data.

Raster Dataset
Polarization Bands
(Optional)

The polarization bands that will be filtered.

The first band is selected by default.

String
Filter Type
(Optional)

The type of filter that will be applied.

  • Goldstein phase filterA nonlinear adaptive algorithm that uses coherence to adapt the window size for optimal filtering will be applied. This is the default.
String
Alpha
(Optional)

The strength of the filtering that will be applied. The value range is from 0 to 1.0.

A value of 0 means no filtering will be applied. A value of 0.5 means a moderate filter will be applied. A value of 1 means maximum filtering will be applied.

The default value is 0.5.

Double
Inner Window Size
(Optional)

The inner filter window size. This window is used to filter phase values in high coherence areas. The default value is 8 pixels.

Long
Outer Window Size
(Optional)

The outer filter window size. This window is used to filter phase values in low coherence areas. The default values is 64 pixels.

Long

ApplyComplexDataFilter(in_radar_data, out_radar_data, {polarization_bands}, {filter_type}, {alpha}, {inner_window_size}, {outer_window_size})
NameExplanationData Type
in_radar_data

The input complex radar data.

Raster Dataset; Raster Layer
out_radar_data

The phase-filtered complex radar data.

Raster Dataset
polarization_bands
[polarization_bands,...]
(Optional)

The polarization bands that will be filtered.

The first band is selected by default.

String
filter_type
(Optional)

The type of filter that will be applied.

  • GOLDSTEIN_PHASE_FILTERA nonlinear adaptive algorithm that uses coherence to adapt the window size for optimal filtering will be applied. This is the default.
String
alpha
(Optional)

The strength of the filtering that will be applied. The value range is from 0 to 1.0.

A value of 0 means no filtering will be applied. A value of 0.5 means a moderate filter will be applied. A value of 1 means maximum filtering will be applied.

The default value is 0.5.

Double
inner_window_size
(Optional)

The inner filter window size. This window is used to filter phase values in high coherence areas. The default value is 8 pixels.

Long
outer_window_size
(Optional)

The outer filter window size. This window is used to filter phase values in low coherence areas. The default values is 64 pixels.

Long

Code sample

ApplyComplexDataFilter example 1 (Python window)

In this example, the ApplyComplexDataFilter function is used on the VV polarization.

import arcpy
arcpy.env.workspace = r"C:\Data\SAR"

outRadar = arcpy.ia.ApplyComplexDataFilter("S1B_IW_20181014_20181020_igram_ml.tif", 
    "VV", "GOLDSTEIN_PHASE_FILTERING", 0.5, 8, 64)
outRadar.save("S1B_IW_20181014_20181020_igram_ml _filt.crf")
ApplyComplexDataFilter example 2 (stand-alone script)

In this example, the ApplyComplexDataFilter function is used on the VV polarization.

# 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=r"C:\Sentinel_1\S1B_IW_20181014_20181020_igram_ml.crf"
out_radar=r"C:\Sentinel_1\S1B_IW_20181014_20181020_igram_ml _filt.crf"
polarization="VV"
filter_type="GOLDSTEIN_PHASE_FILTERING"
alpha=0.5
inner_window=8
outer_window=64

# Execute 
outRadar = arcpy.ia.ApplyComplexDataFilter(in_radar, polarization, filter_type, 
    alpha, inner_window, outer_window)
outRadar.save(out_radar)

Licensing information

  • Basic: Requires Image Analyst
  • Standard: Requires Image Analyst
  • Advanced: Requires Image Analyst

Related topics