Core Module =========== .. cpp:namespace:: mln .. toctree:: :hidden: core/core_types core/images core/ranges core/neighborhood core/stl core/functional .. raw:: html
(a) mln::view::maths::lpnorm (a, b) mln::view::maths::lpdistRanges
:doc:`core/ranges` extensions for ranges with new concepts and helper functions.
.. topic:: Concepts
* :ref:`Segmented Range Neighborhoods and Structural Elements
:doc:`core/neighborhood` are the fundamental tools for local image processing.
.. topic:: Concepts
* :cpp:concept:`mln::StructuringElement`
.. topic:: Predefined Neighborhood
* :doc:`core/neighborhood/c4`
* :doc:`core/neighborhood/c8`
* :doc:`core/neighborhood/c6`
* :doc:`core/neighborhood/c26`
.. topic:: Predefined Structuring Elements
* :doc:`core/se/disc`
* :doc:`core/se/rectangle`
* :doc:`core/se/periodic_lines`
Border handling
***************
.. toctree::
:hidden:
core/pad.rst
.. table::
:class: full
:widths: auto
+---------------------------------+----------------------------------------+
| :cpp:func:`mln::pad` | Pad an image inplace |
+---------------------------------+----------------------------------------+
| :cpp:func:`mln::copy_pad` | Copy a region of an image and fill |
| | missing values wrt a padding policy. |
+---------------------------------+----------------------------------------+
Image primitives
****************
.. toctree::
:hidden:
core/algorithm/accumulate
core/algorithm/all_any_none_of
core/algorithm/clone
core/algorithm/copy
core/algorithm/count
core/algorithm/count_if
core/algorithm/equal
core/algorithm/fill
core/algorithm/foreach
core/algorithm/generate
core/algorithm/iota
core/algorithm/paste
core/algorithm/sort
core/algorithm/transform
Fundamental primitives for basic image manipulation. Those are grouped by:
* *Modifying* or *Non-modifying* if they output and write an image
* *Value* or *Pixel* if the localisation (i.e. point/index) is used for processing
.. rubric:: Non-modifying image primitives that operates on values
.. table::
:class: full
:widths: auto
+------------------------------------------------------------+------------------------------------------------------------------------+
| :doc:`core/algorithm/all_any_none_of` | checks if a predicate is true for all, any or none of the image values |
+------------------------------------------------------------+------------------------------------------------------------------------+
| :doc:`core/algorithm/foreach` | applies a function to the values of an image |
+------------------------------------------------------------+------------------------------------------------------------------------+
| :doc:`core/algorithm/count` :doc:`core/algorithm/count_if` | returns the number of values satisfying specific criteria |
+------------------------------------------------------------+------------------------------------------------------------------------+
| :doc:`core/algorithm/equal` | checks if two images have the same values |
+------------------------------------------------------------+------------------------------------------------------------------------+
| :doc:`core/algorithm/accumulate` (reduce) | sums up values of an image |
+------------------------------------------------------------+------------------------------------------------------------------------+
.. rubric:: Non-modifying image primitives that operates on pixels
+----------------------------+--------------------------------------------------+
| :doc:`core/algorithm/sort` | returns a container of image points (or indexes) |
+----------------------------+--------------------------------------------------+
.. rubric:: Modifying image primitives that operates on values
.. table::
:class: full
:widths: auto
+---------------------------------+--------------------------------------------------------------+
| :doc:`core/algorithm/copy` | copies image values to another image (without localization) |
+---------------------------------+--------------------------------------------------------------+
| :doc:`core/algorithm/fill` | assigns a value to image values |
+---------------------------------+--------------------------------------------------------------+
| :doc:`core/algorithm/clone` | copies an image in a new image |
+---------------------------------+--------------------------------------------------------------+
| :doc:`core/algorithm/paste` | copies image pixels to another image (with localization) |
+---------------------------------+--------------------------------------------------------------+
| :doc:`core/algorithm/transform` | applies a function to the values of an image |
+---------------------------------+--------------------------------------------------------------+
| :doc:`core/algorithm/generate` | generate the values of an image by a function |
+---------------------------------+--------------------------------------------------------------+
| :doc:`core/algorithm/iota` | generate the values of an image with increasing value |
+---------------------------------+--------------------------------------------------------------+
.. rubric:: Modifying image primitives that operates on pixels
+-------------------------------------------+---------------------------------------------------------------------+
| `integrate` (partial sum, inclusive scan) | computes the partial sum of image values (used for integral images) |
+-------------------------------------------+---------------------------------------------------------------------+
.. raw:: html
STL
:doc:`core/stl` are the fundamentals concepts of the C++ standard library that we are building our concept upon. They are our building blocks.