#ifndef ICL_FILTER_H #define ICL_FILTER_H /** \defgroup UNARY Collection of Unary Operations \defgroup BINARY Collection of Binary Operations \defgroup AFFINE Collection of Affine Image Operations \defgroup NBH Collection of Neighborhood Operations \defgroup OTHER Other Classes \mainpage ICLFilter package \section OVERVIEW Overview The ICLFilter package provides a large variety of image filtering classes. When talking about image filters some misapprehensions can arise. To prevent this, the following section will shortly introduce our undertanding of image filters. \section FILTERS 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 of filters is are such filters that get exactly two input images and that have only a single output image (e.g. arithmetical/logical per-pixel image operations or image comparison filters).\n 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 groups Unary Operations and Binary-Operations - or short UnaryOp and BinaryOp. \n Each of this groups is represented by a C++-class with that name that is inherited by all implemented filters that belong to this group (from now on Ops(for operations).\n For a better overview, the ICLFilter package is grouped into some modules: -# \ref UNARY -# \ref BINARY -# \ref AFFINE -# \ref NBH -# \ref OTHER **/ #endif