Skip to main content

Statistics

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.

  • max—Calculates the maximum value of the pixels within the neighborhood.

  • mean—Calculates the average value of the pixels within the neighborhood. This is the default.

  • min—Calculates the minimum value of the pixels within the neighborhood.

  • standarddeviation—Calculates the standard deviation value of the pixels within the neighborhood.

  • median—Calculates the median value of the pixels within the neighborhood.

  • majority—Calculates the majority value, or the value that occurs most frequently, of the pixels within the neighborhood.

  • minority—Calculates the minority value, or the value that occurs least frequently, of the pixels within the neighborhood.

The default value is None.

String

fill_no_data_only

Specify whether NoData values are ignored in the analysis.

  • True—Fills NoData pixels only. This is the default.

  • False—NoData pixels will not be filled.

The default value is False.

Boolean

Return value

Data Type Explanation

Raster

The output raster.

Code sample

Statistics example

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")
Statistics example

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