Usually, when talking about images, we think about common images composed of a set of pixels. Since Olena is generic, we want to support many kind of images, even images which are not composed of a set of points, such as images having images as sites.

In order to express this genericity, we have the “site” concept. This concept allows us to divide a pixel into two information:

Let’s say we have a 2D grid like this:

On such a regular grid, in 2D, we usually use a 2D point as a site which means we have the following equivalence:

Intersection ≡ point2d (2D site) ≡ center of a pixel

The site does not store any value but refers to an area where we will be able to read its value.

Sites may have a different types, depending on the image type:

point2d2D point on a regular grid
pointGeneric point (nD) on a regular grid
algebra::vecAlgebraic vector
util::vertexGraph vertex
util::edgeGraph edge