Image Component Library (ICL)
Other Classes

Overview

The ICLFilter package provides a large variety of image filtering classes. Here's is an incomplete list:

When talking about image filters some misapprehensions can arise. To prevent this, the following section will shortly introduce our understanding of image filters.

filter-array-demo.png
The icl-filter-array demo application can be used to examine filter chains

What are Image-Filters

In a most general view on image filters, a filter is a black box that has N image inputs and M image outputs. However this approach provides a very generic interface for image filters, this interface is not very feasible. Most common filters (e.g. binary image operations, linear filters or neighborhood operations) only need a single input and output image. Another larger group are filters with two input and on output images (e.g. arithmetical/logical per-pixel image operations or image comparison filters).
To avoid a large computational overhead arising of a too general interface, we support two dedicated filtering interfaces for the above mentioned 1-1 and 2-1 input-output combinations. To obviate further misunderstandings, we call this filter sets Unary Operations and Binary-Operations - or short UnaryOp and BinaryOp.
Each of this sets is represented by a equal named C++-class-interface, which is inherited by all implemented filters that have a corresponding input-output relation (from now on we use Ops(for operations).

For a better overview, the ICLFilter package is grouped into some modules:

  1. Collection of Unary Operations
  2. Collection of Binary Operations
  3. Collection of Affine Image Operations
  4. Collection of Neighborhood Operations
  5. Collection of Inplace Operations
  6. Other Classes
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines