# Process Neural Network (Inferencing)

At runtime, each sample from the runtime image is processed individually, using the tool's trained network, and an individual network response is obtained for each sample. The response from the network is expressed as a probability map, where each pixel in the sampled region of the input image is assigned a probability. The meaning of the probability map depends on which tool is being used. For the Blue Read tools, the response is the probability that the center of a labeled feature lies within that pixel, and if that probability exceeds a threshold value that you specify, then the tool also provides the feature identity and the probability that the identification is correct.

These whole-image probability maps are assembled from the interpolated network responses to individual samples. The final results returned to the user (feature poses and identities, and defect regions) are based on a results formation process that the user controls by specifying thresholds for match quality.

In the above context, it is important to understand that the probability returned by a tool may not reflect well with our notion of how likely a certain judgment is. This is mostly due to the fact that the tools have a "limited view of the world" in that they do not return probabilities with respect to our wide and rich visual experience, but rather with respect to their very limited visual world of a couple of classes.

The processing (inferencing) of a trained tool is automatically executed when the training is finished without issues. If you want to manually re-process the trained tool, click button.

## Feature Sampling for Processing

Each input image is exhaustively sampled at runtime, and the individual samples are then processed by the trained network. The same feature size used for training is also used at runtime (ensuring that the trained network is processing inputs that are consistent with the inputs used for training).

Unlike training, where the sampling density is determined automatically, you can control the runtime sampling density for all the Deep Learning tools. The sampling density determines the degree of overlap between adjacent samples. A sampling density rate of 1 means that the sampling location is incremented by the feature size between samples. The default sampling density rate for most tools is 3, which means that the sampling location is incremented by one third of the feature size.

Sampling Density = 1 (4 samples) | Sampling Density = 3 (4 samples)
--- | ---

## Configure Processing Parameters

The Processing parameters control the way that images are processed by the tool. This is often called ‘inference’ in deep learning. Processing with the same models will always give you the same results. Changing these parameters does not require the tool to be retrained; the effect can be seen right away by reprocessing the database. To re-process the tool, click button.

Parameter | Description
--- | ---
Sampling Density | Specifies the density of sampling points with respect to the tool's Feature Size (FS) setting. The sampling density determines the degree of overlap between adjacent samples. A sampling rate of 1 means that the sampling location is incremented by the feature size between samples. The default sampling rate for most tools is 3, which means that the sampling location is incremented by one third of the feature size. Tip: One key aspect of the Sampling Density parameter is the relationship between the tool's processing time and accuracy. A tool's processing time depends approximately quadratically to the Sampling Density (Sd) value. For example, a Sampling Density setting of 1 is approximately nine times faster than a setting of 3 (n2). While higher Sampling Density settings are more accurate, it significantly impacts the processing time of the tool.
Threshold | The Threshold determines how closely the found character must be to the desired character for it to be considered. The found character must exceed the setting.
Angle Range | Provides for degrees of freedom (DOF) of features than can be reported by the tool. Specifies the specific range of rotation that can be accommodated by the tool.
Size Range | Provides for degrees of freedom (DOF) of features than can be reported by the tool. Specifies the specific range of scale that can be accommodated by the tool.
Feature Filter | Specifies a filter based on feature id, x, y, size and orientation, which is used as criteria for found features. By specifying a filter for features, features that do not match the filter will be removed from the results. If the parameter is left blank, all features will be returned. Since this filtering is done after the tool has processed the images, the features are not removed, simply hidden from the results. Features that are not present due to the filter will reappear, without reprocessing the image, by removing the filter criteria. Note: The syntax for filters is the same as that used for Display Filters. For more information about constructing the syntax for a filter, see the Custom Display Filters. For example, if the Feature Filter parameter was set to the following:
Feature Filter | Description
--- | ---
x in [0,view.width] and y in [0,view.height] | With this filter, only features whose center is within the ROI will be returned.
(id = '0' and x < 200) or (x='1' and x > 200) | With this filter, assuming a View that has a width of 400, features that have an ID of 0 and are on the left, and features that have an ID of 1 and are on the right, will be returned.

Note: The Feature Filter parameter is only available when Expert Mode is enabled.

### Processing Parameter Details: Angle Range and Size Range

For the Blue Read tool, the two Features parameters in Blue Locate, Oriented and Scaled, are enabled by default, and cannot be disabled. In addition the Blue Read tool is set to use the Non-uniform option for the Scaled parameter. To allow you to specify the range of characters sizes, in pixels, for correct character matching in runtime, Angle Range and Size Range Processing parameters are available. Characters with sizes in the search range will be matched, and those outside the range will not be matched. As the Non-uniform is default for Blue Read, the "size" of the character is defined as the geometric mean of the X- and Y- dimension of the character.

### Processing Parameter Details: Feature Filter

As the Scaled in Features parameters is enabled by default, the tool may find both large and small characters and return matches at scale values where you do not intend to find. In this event, it can be helpful to use the Feature Filter to remove the mismatched character features.

If you use the Feature Filter, you can define a mechanism to suppress the types of matches you wish to avoid (for example "size > X or size < Y").

### Model Processing

For Blue Locate and Blue Read tools with defined models, the features found during neural network processing are searched for the feature collections that provide the best fit for the defined models.