Maths (view) ############ Include :file:`` .. cpp:namespace:: mln::view::maths Component-wise ============== #. .. cpp:function:: auto abs(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = abs(ima(p))`. Refer to :cpp:func:`functional::abs ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::abs(ima); #. .. cpp:function:: auto pow(Image ima, Scalar s) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = pow(ima(p), s)`. Refer to :cpp:func:`functional::pow ` documentation for details. :param ima: Input range :param s: Exponent .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::pow(ima, 3); #. .. cpp:function:: auto sqr(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = sqr(ima(p))`. Refer to :cpp:func:`functional::sqr ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::sqr(ima); #. .. cpp:function:: auto cbrt(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = cbrt(ima(p))`. Refer to :cpp:func:`functional::cbrt ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::cbrt(ima); #. .. cpp:function:: auto sqrt(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = sqrt(ima(p))`. Refer to :cpp:func:`functional::sqrt ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::sqrt(ima); Reduction ========= #. .. cpp:function:: auto sum(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = sum(ima(p))`. Refer to :cpp:func:`functional::sum ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::sum(ima); #. .. cpp:function:: auto prod(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = prod(ima(p))`. Refer to :cpp:func:`functional::prod ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::prod(ima); #. .. cpp:function:: auto min(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = min(ima(p))`. Refer to :cpp:func:`functional::min ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::min(ima); #. .. cpp:function:: auto max(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = max(ima(p))`. Refer to :cpp:func:`functional::max ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::max(ima); #. .. cpp:function:: auto dot(Image ima1, Image ima2) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = dot(ima1(p), ima2(p))`. Refer to :cpp:func:`functional::dot ` documentation for details. :param ima: Input range .. code:: mln::image2d ima1 = ...; mln::image2d ima2 = ...; mln::image2d g = mln::view::maths::dot(ima1, ima2); #. .. cpp:function:: auto cross(Image ima1, Image ima2) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = cross(ima1(p), ima2(p))`. Refer to :cpp:func:`functional::cross ` documentation for details. :param ima: Input range .. code:: mln::image2d ima1 = ...; mln::image2d ima2 = ...; mln::image2d g = mln::view::maths::cross(ima1, ima2); Norms ===== #. .. cpp:function:: auto l0norm(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = l0norm(ima(p))`. Refer to :cpp:func:`functional::l0norm ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::l0norm(ima); #. .. cpp:function:: auto l1norm(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = l1norm(ima(p))`. Refer to :cpp:func:`functional::l1norm ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::l1norm(ima); #. .. cpp:function:: auto l2norm(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = l2norm(ima(p))`. Refer to :cpp:func:`functional::l2norm ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::l2norm(ima); #. .. cpp:function:: auto l2norm_sqr(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = l2norm_sqr(ima(p))`. Refer to :cpp:func:`functional::l2norm_sqr ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::l2norm_sqr(ima); #. .. cpp:function:: auto linfnorm(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = linfnorm(ima(p))`. Refer to :cpp:func:`functional::linfnorm ` documentation for details. :param ima: Input range .. code:: mln::image2d ima = ...; mln::image2d g = mln::view::maths::linfnorm(ima); #. .. cpp:function:: template auto lpnorm(Image ima) 1. Makes a view where for each pixel value evals to :cpp:expr:`out(p) = lpnorm(ima(p))`. Refer to :cpp:func:`functional::lpnorm