Dimensional Moving Statistics (Image Analyst)

Summary

Calculates statistics over a moving window on multidimensional data along a specified dimension.

Usage

• Moving statistics can also be called moving window statistics, rolling statistics, or running statistics. A predefined window around each dimension value is used to calculate various statistics before moving to the next. The Backward Window and Forward Window parameters allow you to define window sizes on both sides of the dimension.

• The input raster can only be a multidimensional raster in Cloud Raster Format (.crf file).

• Only one dimension will be processed by this tool. By default, the first dimension other than x,y will be used as the processing dimension.

• The Circular Mean statistics type calculates the mean for angles or other cyclic quantities, such as compass direction in degrees. When this option is selected, the Circular Wrap Value parameter becomes available. Use this parameter to designate a value to wrap around to calculate the circular mean. For example, for angle calculation, the circular wrap value should be 360 degrees, which means the value 360 will be wrapped to 0, and the value 370 will be wrapped to 10. Another use is for time calculations of months in a year, in which case the circular wrap value should be 12. In this case, an input value of 13 will be wrapped to 1.

• If the input multidimensional raster is integer, the valid options for Statistics Type are Mean, Circular Mean, Majority, Maximum, Median, Minimum, and Percentile. If the input raster is float, Majority is not available.

• If the input raster is integer, the output raster will be integer for the Majority, Maximum, and Minimum statistics. The output will be float for Mean, Circular Mean, Median, and Percentile.

If the input raster is of float type, the output will be float for all of the available statistic types.

• For the Majority setting of the Statistics Type parameter, if one cell value occurs most frequently in the neighborhood (a single value with the highest frequency of occurrence), that value will be returned for the processing cell. If two or more cell values have the highest frequency of occurrence (a tie among cell values), no single majority value is identified, and the output for that processing cell will be NoData.

Parameters

 Label Explanation Data Type Input Multidimensional Raster The input raster can only be a multidimensional raster in Cloud Raster Format (.crf file). Raster Layer Dimension(Optional) The name of the dimension along which the window will move.The default value is the first dimension other than x,y found in the input multidimensional raster. String Backward Window(Optional) The value of how many slices before or above to be included in the defined window. The value must be a positive integer from 1 to 100. The default value is 1.The unit of this parameter is slice. Long Forward Window(Optional) The value of how many slices after or below to be included in the defined window. The value must be a positive integer from 1 to 100. The default value is 1.The unit of this parameter is slice. Long NoData Handling(Optional) Specifies how NoData values will be handled by the statistic calculation.Data—NoData values in the value input will be ignored in the results of the defined window that they fall within. This is the default.NoData—Output values will be NoData if any NoData values are found in the input within the defined window.Fill NoData—NoData cell values will be replaced using the selected statistic on the values within the defined window. String Statistics Type(Optional) Specifies the statistic type to be calculated.Mean—The mean (average value) of the cells in the defined window will be calculated. This is the default.Circular Mean—The circular mean (average value) of the cells in the window will be calculated. When this statistics type is selected, the Circular Wrap Value parameter becomes available. Use this parameter to designate a wrap value to use.Majority—The majority (value that occurs most often) of the cells in the defined window will be identified.Maximum—The maximum (largest value) of the cells in the defined window will be identified.Median—The median of the cells in the defined window will be identified.Minimum—The minimum (smallest value) of the cells in the defined window will be identified.Percentile—A percentile of the cells in the defined window will be calculated. The 90th percentile is calculated by default. When this statistics type is selected, the Percentile Value and Percentile Interpolation Type parameters become available. Use these new parameters to designate the percentile to calculate and choose the interpolation type to use, respectively. String Percentile Value(Optional) The percentile value that will be calculated. The default is 90, for the 90th percentile.The value can range from 0 to 100. The 0th percentile is essentially equivalent to the minimum statistic, and the 100th percentile is equivalent to the maximum statistic. A value of 50 will produce essentially the same result as the median statistic.This parameter is only supported if the Statistics Type parameter is set to Percentile. Double Percentile Interpolation Type(Optional) Specifies the method of interpolation that will be used when the percentile value falls between two cell values.This parameter is only supported if the Statistics Type parameter is set to Median or Percentile.Auto-detect—If the input raster is of integer pixel type, the Nearest method will be used. If the input raster is of float pixel type, the Linear method will be used.Nearest—The nearest available value to the percentile will be used. In this case, the output pixel type will be the same as that of the input raster.Linear—The weighted average of the two surrounding values from the percentile will be used. In this case, the output pixel type will be floating point. String Circular Wrap Value(Optional) The value that will be used to round a linear value to the range of a given circular mean. Its value must be positive. The default value is 360 degrees. This parameter is only supported if the Statistics Type parameter is set to Circular Mean. Double

Derived Output

 Label Explanation Data Type Raster Function Arguments JSON The arguments of the function. This output is for internal use only. String

Return Value

 Label Explanation Data Type Output Multidimensional Raster The output raster can only be a multidimensional raster in Cloud Raster Format (.crf file). Raster

DimensionalMovingStatistics(in_raster, {dimension}, {backward_window}, {forward_window}, {nodata_handling}, {statistics_type}, {percentile_value}, {percentile_interpolation_type}, {circular_wrap_value})
 Name Explanation Data Type in_raster The input raster can only be a multidimensional raster in Cloud Raster Format (.crf file). Raster Layer dimension(Optional) The name of the dimension along which the window will move.The default value is the first dimension other than x,y found in the input multidimensional raster. String backward_window(Optional) The value of how many slices before or above to be included in the defined window. The value must be a positive integer from 1 to 100. The default value is 1.The unit of this parameter is slice. Long forward_window(Optional) The value of how many slices after or below to be included in the defined window. The value must be a positive integer from 1 to 100. The default value is 1.The unit of this parameter is slice. Long nodata_handling(Optional) Specifies how NoData values will be handled by the statistic calculation.DATA—NoData values in the value input will be ignored in the results of the defined window that they fall within. This is the default.NODATA—Output values will be NoData if any NoData values are found in the input within the defined window.FILL_NODATA—NoData cell values will be replaced using the selected statistic on the values within the defined window. String statistics_type(Optional) Specifies the statistic type to be calculated.MEAN—The mean (average value) of the cells in the defined window will be calculated. This is the default.CIRCULAR_MEAN—The circular mean (average value) of the cells in the window will be calculated. When this statistics type is selected, use the circular_wrap_value parameter to designate a wrap value to use.MAJORITY—The majority (value that occurs most often) of the cells in the defined window will be identified.MAXIMUM—The maximum (largest value) of the cells in the defined window will be identified.MEDIAN—The median of the cells in the defined window will be identified.MINIMUM—The minimum (smallest value) of the cells in the defined window will be identified.PERCENTILE—A percentile of the cells in the defined window will be calculated. The 90th percentile is calculated by default. When this statistics type is selected, use the percentile_value and percentile_interpolation_type parameters to designate the percentile to calculate and choose the interpolation type to use, respectively. String percentile_value(Optional) The percentile value that will be calculated. The default is 90, for the 90th percentile.The value can range from 0 to 100. The 0th percentile is essentially equivalent to the minimum statistic, and the 100th percentile is equivalent to the maximum statistic. A value of 50 will produce essentially the same result as the median statistic.This parameter is only supported if the statistics_type parameter is set to PERCENTILE. If any other statistic type is specified, this parameter will be ignored. Double percentile_interpolation_type(Optional) Specifies the method of interpolation that will be used when the percentile value falls between two cell values.This parameter is only supported if the statistics_type parameter is set to MEDIAN or PERCENTILE. If any other statistic type is specified, this parameter will be ignored.AUTO_DETECT—If the input raster is of integer pixel type, the NEAREST method will be used. If the input raster is of float pixel type, the LINEAR method will be used.NEAREST—The nearest available value to the percentile will be used. In this case, the output pixel type will be the same as that of the input raster.LINEAR—The weighted average of the two surrounding values from the percentile will be used. In this case, the output pixel type will be floating point. String circular_wrap_value(Optional) The value that will be used to round a linear value to the range of a given circular mean. Its value must be positive. The default value is 360 degrees. This parameter is only supported if the statistics_type parameter is set to CIRCULAR_MEAN. If any other statistic type is specified, this parameter will be ignored. Double

Return Value

 Name Explanation Data Type out_raster The output raster can only be a multidimensional raster in Cloud Raster Format (.crf file). Raster

Derived Output

 Name Explanation Data Type raster_function_arguments_json The arguments of the function. This output is for internal use only. String

Code sample

DimensionalMovingStatistics example 1 (Python window)

This example calculates the mean value in a three-slice window around each cell in the input multidimensional raster.

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
out_dimstats = DimensionalMovingStatistics("md_raster.crf", "StdTime",
1, 1, "NODATA", "MEAN")
out_dimstats.save("C:/iapyexamples/output/DMS01.crf")
DimensionalMovingStatistics example 2 (stand-alone script)

This example determines the most frequently occurring value in a five-slice moving window around each cell in the input multidimensional raster.

# Name: DimensionalMovingStatistics_standalone.py
# Description: Calculates majority on a multidimensional raster
#                along its time dimension.
# Requirements: Image Analyst Extension

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

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

# Set the analysis environment
env.workspace = "C:/iapyexamples/data"

# Set local variables
in_raster = "mining_location.crf"
dimension = "StdTime"
backward_window = 2
forward_window = 2
nodata_handling = "FILL_NODATA"
statistics_type = "MAJORITY"

# Execute DimensionalMovingStatistics
out_dimstats = DimensionalMovingStatistics(in_raster, dimension,
backward_window, forward_window, nodata_handling,
statistics_type)

# Save the output
out_dimstats.save("C:/iapyexamples/output/mining_location_out.crf")

Licensing information

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