Summary
Calculates statistics for each cell of an image based on a defined focal neighborhood.
Discussion
For more information about the methods and band orders used with this function, see the Statistics raster function.
The referenced raster dataset for the raster object is temporary. To make it permanent, you can call the raster object's save method.
Syntax
Statistics (raster, kernel_columns, kernel_rows, stat_type, {fill_no_data_only})
Parameter | Explanation | Data Type |
raster | The input raster on which to perform focal statistics. | Raster |
kernel_columns | The number of pixel columns to use in your focal neighborhood dimension. (The default value is 3) | Integer |
kernel_rows | The number of pixel rows to use in your focal neighborhood dimension. (The default value is 3) | Integer |
stat_type | Specify the type of statistics to calculate.
(The default value is None) | String |
fill_no_data_only | Specify whether NoData values are ignored in the analysis.
(The default value is False) | Boolean |
Data Type | Explanation |
Raster | The output raster. |
Code sample
Fills in NoData values with the majority value in a 5 by 5 neighborhood for categorical data.
from arcpy.sa import *
LandCover_filled = arcpy.sa.Statistics("LandCover.tif", 5, 5, "majority", True)
LandCover_filles.save("LandCover_majority_5_by_5.tif")
Smooths an elevation raster in a 3 by 3 neighborhood using mean value.
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/statistics_example/data"
# Set local variables
inRaster = "elevation.tif"
kernel_columns=3
kernel_rows=3
stat_type="Mean"
fill_no_data_only = False
# for each pixel, calculate the average value of pixels within its neighborhood. the neighborhood size is 5x5
output = Statistics(imagePath1, kernel_columns, kernel_rows, stat_type, fill_no_data_only)
output.save("statistics_mean_5_by_5.tif")