The Function Editor is a visual programming language for building imagery and raster analysis workflows. Your analysis workflow can be saved as a raster function templates (RFTs), which can automate your future processes. You create and modify RFTs in the Function Editor. The Function Editor shows your function chain represented as a diagram that chains together sequences of functions, using the output of one or more functions as the input to another function.
Along with the Function Editor you need to also open the Raster Functions pane to access all of the functions. The Function Editor works like Model Builder , and the Raster Functionspane works like the ArcToolbox. You can just drag and drop functions onto the editor and start linking the functions into a chain (or process). You can also right-click on any function and select Add to Function Editor.
There are varying techniques to model a process that results in a RFT. For example, you can start by opening an empty Function Editor, and then inserting a raster variable, and any desired functions. In this mode, there is no input data connected to the chain so certain capabilities, like previewing the result of any section of the chain will be disabled.
The other technique is more interactive. You start with a raster layer in your map. You apply a function on the raster layer, which will create a new temporary raster layer in the map. Next, you take the new layer and apply another function, resulting in another new layer. Essentially, you are experimenting with the results of each function, while also verifying the results. When you are done applying functions and are happy with the results, you can right-click on the final output and click Save Function Chain. The layer with the final function applied to it will contain all of the previous functions you've added. Saving a layer's function chain removes the original input data and replaces them with raster variables, which can be made public so that the template can be used again with different data.
Function Editor capabilities
The Function Editor allows you to perform many different tasks:
- Visualize your workflow sequence as a diagram that is easy to understand.
- Build an RFT by adding raster functions, raster variables, scalars, raster layers, datasets, other data types to the diagram, and connecting them to a perform analysis. This analysis can be performed on the current display extent or in a distributed fashion using raster analysis on Portal for ArcGIS.
- Iteratively check parameters on your function raster layer's function chain. You can interact with the display and the settings you have set in the function chain by right-clicking your function raster layer in the Contents pane and then click Edit Function Chain. When you make changes to parameters you can click the Apply button on the Function Editor toolbar and your layer will be refreshed to reflect parameter adjustments.
- Save a function raster layer's function chain as an RFT.
- Make your RFT easy to use for others, by renaming function names, raster variable names, and function variables names.
Raster function template example
The raster function template below demonstrates a methodology for describing burn severity and the health of vegetation recovery, using pre-fire and post-fire imagery.
The raster function template is composed of five raster functions:
- Apparent Reflectance function—used to expressed the input Imagery as albedo, which is the percentage of the available energy reflected by the planetary surface. It is commonly used by scientific users for complex modeling and technical remote sensing applications.
- Band Arithmetic function—performs a normalized burn ratio (NBR) index for pre and post fire data, from the output of albedo data.
- Minus function—creates the change (or delta) in NBR from the pre-fire NBR and post-fire NBR.
- Remap function—defines class break values for severity and vegetation health, from the difference of the NBR.
- Attribute Table function—assigns attributes and colors to the integer values, created from each class defined in Remap function.