Filter (Spatial Analyst)

Available with Spatial Analyst license.

Summary

Performs either a smoothing (Low pass) or edge-enhancing (High pass) filter on a raster.

Learn more about how Filter works

Usage

  • The Low pass filter option (LOW in Python) is an averaging (smoothing) filter. The High pass filter option (HIGH in Python) is an edge-enhancement filter.

  • Input NoData cells may receive a value in the output if the Ignore NoData in calculations option is checked (ignore_nodata set to NODATA in Python), provided at least one cell within the filter neighborhood has a valid value.

  • You can use the Focal Statistics tool to create custom filters to your specification.

  • See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.

Parameters

LabelExplanationData Type
Input raster

The input raster on which to perform the filter operation.

Raster Layer
Filter type
(Optional)

The type of filter operation to perform.

  • Low passTraverses a low pass 3-by-3 filter over the raster. This option smooths the entire input raster and reduces the significance of anomalous cells. This is the default.
  • High passTraverses a high pass 3-by-3 filter over the raster. This option enhances the edges of subdued features in a raster.
String
Ignore NoData in calculations
(Optional)

Denotes whether NoData values are ignored by the filter calculation.

  • Checked—If a NoData value exists within the filter, the NoData value will be ignored. Only cells within the filter that have data values will be used in determining the output. This is the default.
  • Unchecked—If a NoData value exists within the filter, the output for the processing cell will be NoData. With this option, the presence of a NoData value implies that there is insufficient information to determine the statistic value for the neighborhood.
Boolean

Return Value

LabelExplanationData Type
Output raster

The output filtered raster.

The output is always floating point.

Raster

Filter(in_raster, {filter_type}, {ignore_nodata})
NameExplanationData Type
in_raster

The input raster on which to perform the filter operation.

Raster Layer
filter_type
(Optional)

The type of filter operation to perform.

  • LOWTraverses a low pass 3-by-3 filter over the raster. This option smooths the entire input raster and reduces the significance of anomalous cells. This is the default.
  • HIGHTraverses a high pass 3-by-3 filter over the raster. This option enhances the edges of subdued features in a raster.
String
ignore_nodata
(Optional)

Denotes whether NoData values are ignored by the filter calculation.

  • DATAIf a NoData value exists within the filter, the NoData value will be ignored. Only cells within the filter that have data values will be used in determining the output. This is the default.
  • NODATAIf a NoData value exists within the filter, the output for the processing cell will be NoData. With this option, the presence of a NoData value implies that there is insufficient information to determine the statistic value for the neighborhood.
Boolean

Return Value

NameExplanationData Type
out_raster

The output filtered raster.

The output is always floating point.

Raster

Code sample

Filter example 1 (Python window)

This example applies a high-pass filter to the input raster.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
filterOut =  Filter("elevation", "HIGH", "DATA") 
filterOut.save("C:/sapyexamples/output/filtered")
Filter example 2 (stand-alone script)

This example applies a low-pass filter to the input raster.

# Name: Filter_Ex_02.py
# Description: Performs a preset focal filter on a raster. 
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "elevation" 

# Execute Filter
filterOut =  Filter(inRaster, "LOW", "") 

# Save the output 
filterOut.save("C:/sapyexamples/output/filterout")