Filter

The Network | Computational | Filter command adds a Filter module.

 

The Filter module applies a digital filter to a uniform lattice. The lattice may be two-dimensional (images) or three-dimensional (volumes). Each filter reads the input lattice, performs a particular filtering operation on the data values in the lattice nodes, and sends the results to the output lattice. The input and output lattices are always the same size and type.

 

Filter module computations include data statistics such as local minimum, maximum, median, average, standard deviation; and image modification such as brightness and contrast.

 

Inputs

Uniform lattice is the input type for the Filter module.

 

Outputs

The Filter module may be connected to the Graphics Output Modules or the Computational Modules. An Info Module may also be connected to the output node.

 

Properties

The Filter properties are described below.


Select the Filter module in the Network Manager
to display its properties in the Property Manager.

Properties
Use the Filter module to choose one of many
filter types to apply to the input lattice.

 

Input

The Input property shows the source to which the module is connected. This option cannot be changed in the Property Manager, but can be changed in the Network Manager by changing the module input.

 

Filter Type

The Filter type is the type of filter to apply to the input lattice. There are six categories of filters: Linear Convolution; Nonlinear - Order Statistics; Nonlinear - Moment Statistics; Nonlinear - Other; Nonlinear - Edge Detection; and Nodal. To change the filter type, click on the existing option and select the desired option from the list.

 

All of the filters are space-domain filters (currently, there are no frequency-domain filters). Note: This filter is applied to ALL components. Use the Subset module to apply filtering to individual components.

 

Linear Convolution

Nonlinear - Order Statistics

Nonlinear - Moment Statistics

Nonlinear - Other

Nonlinear - Edge Detection

Nodal

 

Orientation

Use the Orientation option to specify the orientation of the filter. The first three choices— XY planes, XZ planes, and YZ planes— orient the filter in the specified direction and apply it to all slices of the lattice. The 3D option applies a full three-dimensional filter. Note: when this module is connected to a two-dimensional lattice, the three-dimensional orientation is disabled and this choice defaults to the two-dimensional lattice orientation. To change the orientation, click on the existing option and select the desired option from the list.

 

Kernel Size

The Kernal size is the the size of the convolution kernel. The kernel is centered on the node being filtered and defines the neighborhood of surrounding nodes used to calculate the center node. If the kernel size is N, then the filtering kernel is NxNxN nodes in three dimensions. Not all filters use a convolution kernel, and for these the kernel size property is hidden. Kernel sizes must be odd to maintain symmetry. To change the Kernal size, highlight the existing value and type a new value or click the button to increase or decrease the neighborhood size.

 

The neighborhood of an output lattice node is a cubic sub- array of nodes in the input lattice that is centered on the corresponding input lattice node. It has three equal dimensions, known as the kernel size. It must be noted that this concept of a neighborhood does not disallow that application of a lattice filter to a two-dimensional lattice. In the case of a two-dimensional lattice, one of the three dimensions is simply equal to 1. Since the neighborhood is centered on a node, the width, height, and depth must all be odd numbers. For example, if the kernel size is 3, the neighborhood of the output lattice node at (21, 31, 16) is the following rectangular sub-array of 27 input lattice nodes:

 

If kernel size of the neighborhood is represented by S, then the number of nodes in the neighborhood equals SxSxS. Furthermore, the nodes in the neighborhood of node (a,b,c) can be enumerated as where

 

where [S/2] represents the largest integer less than or equal to S/2.

 

Components to Filter

Click the next to the Input Components to open the components list.  Check the box next to the Component to pass the checked component through the filter. Unchecked components pass through the filter unaltered (unfiltered). This option allows the alpha channel of RGBA images to be excluded since this is not usually desired.

 

Edge Handling

Click the next to the Edge Handling to open the options for handling data near the edge of the lattice.

 

Use the Edge handling option to specify how to handle edge effects when the kernel overhangs the edge of the lattice. Many filters, e.g., convolution filters, require a neighborhood of data around the lattice node being filtered. When filtering nodes along the edge, the neighborhood is incomplete on one or more sides. To change the edge handling, click on the existing option and select the desired option from the list. These options specify how to handle this condition:

 

Edge Fill

When the Edge handling is set to Fill, the Edge fill option becomes available. This is the value used to apply to the edge of the lattice. To change the value, highlight the existing value and type the desired value.

 

Blank Handling

Click the next to the Blank Handling to open the options for handling blanked nodes in the lattice.

 

Use the Blank handling option to determine how to handle blanked nodes within the lattice. To change the way blank values are handled, click on the existing option and select the desired option from the list. Options include:

Blank Fill

When the Blank handling is set to Fill, the Blank fill option becomes available. This is the value used to substitute for values in the lattice that are blanked. To change the value, highlight the existing value and type the desired value.

 

Filter References

Crane, R. (1990) A Simplified Approach to Image Processing. Prentice-Hall PTR, Upper Saddle River, NJ, 317 pp. ISBN 0-13-226416-1.

 

Gonzalas, R, & Wintz, P. (1983) Digital Image Processing. Addison-Wesley Publishing Company, Reading, MA, 431 pp. ISBN 0-201-02597-3.

 

Nikolaidis, N, & Pitas, I. (2001) 3-D Image Processing Algorithms. John Wiley & Sons, New York, NY, 176 pp. ISBN 0-471-37736-8.

 

Pitas, I. (2000) Digital Image Processing Algorithms and Applications. John Wiley & Sons, New York, NY, 419 pp. ISBN 0-471-37739-2.

 

 

See Also

Introduction to Modules

DuplicateFilter

ExclusionFilter

Subset

Connecting Modules

Computational Modules