You can control the analysis performed by Image Analyst and other ArcGIS Pro image processing tools with the geoprocessing environments. Understanding what these environments are, and how they apply to tools, will help you get consistent and accurate results from geoprocessing operations.
Each geoprocessing tool reference has an Environments section near the bottom of the page. All of the environments that can be supported by the tool are listed there. Note that this list is inclusive of all outputs from a tool, including those that are optional. For more information, see Learn more about geoprocessing environments and What is a geoprocessing environment setting.
Some environments are conditionally supported, depending on the input format, the output format, settings made in the parameters for a tool, and particular behaviors for that tool.
While most tools support a common set of environments based on the types of inputs and outputs, there are some tools that have exceptions. Review the environments list near the end of each tool reference page to see all the environments the tool can support. The usage notes may also contain any additional details on environment support for a tool.
The relevant environment groupings are as follows, with some specific environments related to raster analysis highlighted:
- Workspace—Current Workspace, Scratch Workspace
- Output coordinates—Output coordinate System, Geographic transformations
- Processing extent—Extent
- Parallel processing—Recycle interval of processing workers, Parallel Processing Factor, Number of Retries on Failures
- Raster analysis—Cell Alignment, Cell size, Cell size projection method, Mask, Snap Raster
- Raster storage—Compression, NoData, Pyramid, Raster statistics, Resample Method, Tile size
- Processor type—GPU ID, Processor Type
- Multidimensional analysis—Match Multidimensional Variable, Union Dimension
A geodatabase workspace is a container for geographic data. It is a collection of geographic datasets stored in a file system folder or database management system.
There are two workspace environments that you can use to control where inputs are found and outputs are created when using the Image Analyst extension.
The Current Workspace environment setting specifies the workspace for the current session.
It is the location from which inputs are obtained and outputs are placed when running Image Analyst tools.
The Scratch Workspace environment specifies where any temporary output datasets that the tool generates are placed.
When performing analysis, if the area of interest is a portion of a larger raster dataset, you can set the Processing Extent to encompass only the desired pixels. All subsequent output rasters from your analysis will be limited to this extent. For consistent results in your analysis, you can also control the pixel alignment to match existing images and raster datasets using the Snap Raster environment.
The Extent environment is used to control where the image processing occurs. Tools that honor the Extent environment will only process image pixels and input features that fall within the extent.
When you define an output extent, the lower left corner of the specified extent will be the lower left corner of the output raster, unless you have also specified a Snap Raster environment.
From there, the upper right corner of the output image is adjusted in such a way that the specified extent falls within the output image. Whether the upper right corner will be adjusted or not is determined by the output pixel size. The width and the height of the output image extent are multiples of the output pixel size. The end result is that the extent of the actual output image can be slightly larger than what is specified in the Extent environment.
If the lower left corner of the output extent does not match any pixel corner of the input raster, it will create a shift in the pixel alignment between the input and output images and rasters. This difference of pixel alignment will trigger a resampling of the input image to perform analysis. For most of the Spatial Analyst tools, the Nearest Neighbor resampling technique is used, apart from the Surface tools, which use Bilinear Interpolation.
For most image processing tools, when an Output Extent environment is specified, it will be applied to the inputs before performing the analysis. However, for some other tools, such as the Interpolation tools, the output extent will be applied only to the output after the analysis has been performed.
The Snap Raster environment can be used to ensure that all your image outputs have the same pixel alignment, or the same alignment as an existing image.
The lower left corner of the extent is snapped to a pixel corner of the snap raster, and the upper right corner is adjusted using the output pixel size. As a result, when the output pixel size is the same as the snap raster pixel size, the pixels in the output raster are aligned with the pixels of the snap raster.
Many raster tools support parallel processing for improved performance. The following environment gives you some control over how those resources are allocated.
Parallel Processing Factor
Set the value for the Parallel Processing Factor environment.
Tools that honor the Parallel Processing Factor environment will divide and perform operations across multiple processes.
Many modern computers include multicore CPUs. Spreading a geoprocessing operation across multiple processes can speed up performance by taking advantage of more than one core. The performance benefit of parallel processing varies from tool to tool.
The raster analysis environments allow you to control the cell size and cell alignment of the output raster, as well as limit the analysis to specific locations within the analysis extent.
The Cell Size environment controls the resolution of the output raster from Image Analyst tools.
The default setting for this environment is Maximum of Inputs, which is the largest (coarsest) cell size of the input raster datasets. If the input to the tool is a feature class, the default cell size is the width or height (whichever is shortest) of the extent of the feature class divided by 250.
Exercise caution when specifying a cell size finer than that of the input raster datasets. No new data is created; cells are interpolated using nearest neighbor resampling, so the result can only be as precise as the coarsest input.
Cell Size Projection Method
The Cell Size Projection Method environment setting determines how the output raster cell size will be calculated when datasets are projected during analysis. The available methods are Convert Units, Preserve Resolution, and Center of Extent. The default method is Convert Units.
To learn more about Cell Size Projection Method, see How the Cell Size Projection Method environment setting works.
The Mask environment is used to identify those cell locations that will be included when performing an analysis. All input cells that fall outside the mask are assigned the NoData value in the result. A mask can be a raster or a feature dataset.
For most raster and imagery tools, when a Mask environment is specified, it will be applied to the inputs before performing the analysis. However, for some other tools, such as the Interpolation tools, the mask will be applied only to the output after the analysis has been performed.
The Cell Alignment environment can be used to adjust the cell alignment of the output to match the cell alignment of the specified processing extent. The extent specified in this setting can be overwritten by the Snap Raster environment if one is selected in that environment setting.
The Snap Raster environment can be used to ensure that all your raster outputs have the same cell alignment or the same alignment as an existing raster.
The lower left corner of the extent is snapped to a cell corner of the snap raster, and the upper right corner is adjusted using the output cell size. As a result, when the output cell size is the same as the snap raster cell size, the cells in the output raster are aligned with the cells of the snap raster.
With the Raster Storage environments, you can control certain properties of output rasters. There are also some format dependencies, so review the help page of any particular tool you are using for more specific details.
The following are the three primary things that influence which raster storage environments are supported when a tool is executed:
- Raster format—Supported raster storage environments depend on the type of raster format specified.
- Data type—Whether an output is integer or floating point can determine whether a particular raster storage environment is supported or not.
- Parameter settings—Certain tools have a parameter that can determine the type of the output raster.
For certain tools, the type of the output is determined by the types of all of the inputs. For example, if the tool takes several input rasters, and all of them are integer except for one that is floating point, the output raster would be floating point. When the output is floating point, fewer of the raster storage environments may be supported.
The following sections provide more detail on each of the raster storage environments.
The Compression environment setting is generally honored for output integer rasters. If the output is floating point, the setting is ignored and the output raster is always uncompressed.
While some formats may otherwise allow for lossy compression, only the Compression Type parameter is supported. The Compression quality parameter is not supported, and is defaulted to 100, regardless of it being set to any other value.
The Pyramid environment setting controls the creation of reduced-resolution representations of the images created during the processing. The pyramids are created by resampling the original pixels into new pixels with a coarser spatial resolution, which allows the pyramids to be displayed when the image is zoomed out to the full spatial extent of the image. The resampling method, number of pyramid levels, and compression type can all be set within this environment setting.
The purpose of the pyramids is to allow faster display of the image when zoomed out to the full extent. Depending on the spatial extent of the image, the display of the image can be delayed as the full number of pixels are displayed. With pyramids, the display performance is increased as ArcGIS Pro can use them to display when outside of the source resolution of the image. If pyramids are not present with your image when added to ArcGIS Pro, you will be prompted to create them. That process will take these settings if they are set for your project.
The Raster Statistics environment setting enables you to build statistics about the output images. Statistics are used during the display of the image and are used when applying a contrast stretch to the image. If you do not enable statistics for the output, the user will be prompted to generate them when adding the layer to a new map.
Enabling the statistic generation during processing will allow the user to skip having to generate them when adding the image to a map and to display the image properly.
The Tile Size environment setting is generally supported by ArcGIS Image Analyst tools for the following output formats: TIFF, file geodatabase, or an SDE geodatabase.
The default tile size is 128x128 pixels.
The Resample environment setting changes the raster pixel size, the resampling type, or both.
Before combining and analyzing rasters with different resolutions and map projections, it is often desirable to resample the data to a common resolution and projection. Further, the appropriate resampling setting depends on the imagery and raster data type, and the type of analysis to be performed. For example, nearest neighbor resampling is commonly used for discrete and thematic data, but also used for accurate analysis of multispectral imagery based on spectral characteristics.
The NoData environment setting allows you to specify the value you use as the NoData value in your output. If the NoData value for an input raster should be used in the output, this setting will allow you to specify a value. If there is not a NoData value specified in the setting, the output bit depth will be promoted to the next bit depth to avoid data loss.
You can choose the type of processor you want to use, CPU or GPU. If you choose GPU, you can also specify which GPU to use if you have more than one.
The Processor Type environment setting allows you to choose where and how you want to process your data on your system. You can choose whether to use the computer central processing unit (CPU) or the graphics processing unit (GPU). By default, the CPU will be used, but when a GPU is available, some processing performance can be improved by using the GPU.
For more intense processing tasks, the GPU is recommended to improve performance. For example, when using Detect Objects Using Deep Learning, it is recommended that the GPU be used for processing.
The GPU ID environment setting identifies the GPU to use for processing your data.
Match Multidimensional Variable
The Match Multidimensional Variable setting allows the creation of a multidimensional image if there are multiple input multidimensional images to the tool that share at least one variable of the same name.
If the input multidimensional images do not have matching names, do not use this environment setting. Setting this environment to false will allow the processing of multidimensional images with different variables.