Mosaic Algorithm |

### Data Flow

The following sketch shows the simple data flow within the Mosaic Processor:

In a first step the output product is created using the supplied reprojection information and output parameters such as pixel size and easting and northing. Once an output product has been written it can be updated with an unlimited number of new input products.

### Principle of Mosaicking

The "filling" of the level 3 product follows the principle of fetching pixels from source products instead of putting all source product pixels into the target bins. The Mosaic Processor loops over all cells in the target grid and determines whether a pixel from a source product may be suitable to read into it. This is done by looking up the nearest neighbour pixel in the input product that contains the geographical center coordinate of the current output pixel being handled. As a reminder: the Level 3 Binning Processor takes all input pixels and sorts them into bins defined by the output product. Consider the following image:

The red rectangle marks the geographic boundary of the level 3 product; black lines are target grid cells. Note that the input products may have a raster size different from the level 3 product (white lines).

### Output Variables

The bands of the output products are defined by output variables. Pixel values are accumulated using the arithmetic mean of all valid input pixels of all input products found for a given output pixel. An output varaiable has a name and an expression comprising mathematical operators, functions and symbols referencing the flags and bands defined in the input products. In it simplest form, the expression is a reference to a single band, the band's name.

### Valid Pixel Criteria

Whether or not a pixel value is valid and thus taken over in the output product is determined by a set of valid pixel criteria. A valid pixel criterion is a boolean expression comprising mathematical operators, functions and symbols referencing the flags and bands defined in the input products. The mosaic processor can take any number of valid pixel criteria which can be either AND or OR combined. If no valid pixel criterion is given, all pixels are assumed as being valid.