Filter (Spatial Analyst)

Summary

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

Learn more about how Filter works

Usage

Syntax

Filter (in_raster, {filter_type}, {ignore_nodata})
ParameterExplanationData 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.

  • LOW Traverses 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 option.
  • HIGH Traverses 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.

  • DATA 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.
  • NODATA 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

NameExplanationData Type
out_raster

The output filtered raster.

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
# Author: ESRI

# 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" 

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

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

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

Environments

Related Topics

Licensing Information

ArcView: Requires Spatial Analyst
ArcEditor: Requires Spatial Analyst
ArcInfo: Requires Spatial Analyst

6/29/2011