\hypertarget{a02575}{
\section{mln::geom Namespace Reference}
\label{db/d39/a02575}\index{mln::geom@{mln::geom}}
}


Namespace of all things related to geometry.  


\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
namespace \hyperlink{a02576}{impl}


\begin{DoxyCompactList}\small\item\em Implementation namespace of geom namespace. \item\end{DoxyCompactList}

\end{DoxyCompactItemize}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{a00235}{complex\_\-geometry}
\begin{DoxyCompactList}\small\item\em A functor returning the sites of the faces of a complex where the locations of each 0-\/face is stored. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename S $>$ }\\\hyperlink{a00135}{box}$<$ typename S::site $>$ \hyperlink{a02575_aec7f725f621ea9e7ebe5d97b5c1a4a6c}{bbox} (const \hyperlink{a00348}{Site\_\-Set}$<$ S $>$ \&pset)
\begin{DoxyCompactList}\small\item\em Compute the precise bounding box of a point set {\ttfamily pset}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\\hyperlink{a00135}{box}$<$ typename I::site $>$ \hyperlink{a02575_a06eb12b3e680d7ceb51af65584dfe21c}{bbox} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Compute the precise bounding box of a point set {\ttfamily pset}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename W $>$ }\\\hyperlink{a00135}{box}$<$ typename W::psite $>$ \hyperlink{a02575_aec619444ceef0efa509a79fb49450a6d}{bbox} (const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Compute the precise bounding box of a window {\ttfamily win}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename W $>$ }\\\hyperlink{a00135}{box}$<$ typename W::psite $>$ \hyperlink{a02575_a25e7f8af8c790394e095526eaa567af1}{bbox} (const \hyperlink{a00443}{Weighted\_\-Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Compute the precise bounding box of a weighted window {\ttfamily win}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename W $>$ }\\mln::trait::ch\_\-value$<$ I, unsigned $>$::ret \hyperlink{a02575_a671fb3a9faf8b62ead38c5f586fa0034}{chamfer} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input\_\-, const W \&w\_\-win\_\-, unsigned max=mln\_\-max(unsigned))
\begin{DoxyCompactList}\small\item\em Apply chamfer algorithm to a binary image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename W $>$ }\\unsigned \hyperlink{a02575_a25b54da2cf34568805f68151db3ba6a9}{delta} (const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Compute the delta of a window {\ttfamily win}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename W $>$ }\\unsigned \hyperlink{a02575_af617687ae403a878c2afb8779a8a4304}{delta} (const \hyperlink{a00443}{Weighted\_\-Window}$<$ W $>$ \&wwin)
\begin{DoxyCompactList}\small\item\em Compute the delta of a weighted window {\ttfamily wwin}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename N $>$ }\\unsigned \hyperlink{a02575_ad3d3d55035da603e2ec7c28de7b78630}{delta} (const \hyperlink{a00296}{Neighborhood}$<$ N $>$ \&nbh)
\begin{DoxyCompactList}\small\item\em Compute the delta of a neighborhood {\ttfamily nbh}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02575_aebecc070c314b14a4e4a862541bb4d5f}{horizontal\_\-symmetry} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input)
\begin{DoxyCompactList}\small\item\em Perfoms a horizontal symmetry. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\I::site::coord \hyperlink{a02575_ae0d1700263b3a4d1da6c38ba60df4de4}{max\_\-col} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the maximum column of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename B $>$ }\\B::site::coord \hyperlink{a02575_aa75d356d9e682ec5e776c8e23c0f5a91}{max\_\-col} (const \hyperlink{a00028}{Box}$<$ B $>$ \&b)
\begin{DoxyCompactList}\small\item\em Give the maximum col of an box 2d or 3d. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\I::site::coord \hyperlink{a02575_a75f953566d83e6b6186711c38643a40e}{max\_\-ind} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the maximum ind of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\I::site::coord \hyperlink{a02575_a1aeb8cae86f53d5e55879ab714e779ad}{max\_\-row} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the maximum row of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename B $>$ }\\B::site::coord \hyperlink{a02575_a3a114b99a98facb9fdc427e4a89e35a3}{max\_\-row} (const \hyperlink{a00028}{Box}$<$ B $>$ \&b)
\begin{DoxyCompactList}\small\item\em Give the maximum row of an box 2d or 3d. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\I::site::coord \hyperlink{a02575_a5ee6f340e269f22d66dc772d4d654b53}{max\_\-sli} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the maximum sli of an image. \item\end{DoxyCompactList}\item 
std::pair$<$ \hyperlink{a00151}{complex\_\-image}$<$ 2, \hyperlink{a00235}{mln::space\_\-2complex\_\-geometry}, algebra::vec$<$ 3, float $>$ $>$, \hyperlink{a00151}{complex\_\-image}$<$ 2, \hyperlink{a00235}{mln::space\_\-2complex\_\-geometry}, float $>$ $>$ \hyperlink{a02575_adcd75e742ab6ac63bb08e0adaa8fe98e}{mesh\_\-corner\_\-point\_\-area} (const \hyperlink{a00302}{p\_\-complex}$<$ 2, \hyperlink{a00235}{space\_\-2complex\_\-geometry} $>$ \&mesh)
\begin{DoxyCompactList}\small\item\em Compute the area ``belonging'' to normals at vertices. \item\end{DoxyCompactList}\item 
std::pair$<$ \hyperlink{a00151}{complex\_\-image}$<$ 2, \hyperlink{a00235}{mln::space\_\-2complex\_\-geometry}, float $>$, \hyperlink{a00151}{complex\_\-image}$<$ 2, \hyperlink{a00235}{mln::space\_\-2complex\_\-geometry}, float $>$ $>$ \hyperlink{a02575_aa818c3b10c378ebc4b58c0ae3ef6f3b1}{mesh\_\-curvature} (const \hyperlink{a00302}{p\_\-complex}$<$ 2, \hyperlink{a00235}{space\_\-2complex\_\-geometry} $>$ \&mesh)
\begin{DoxyCompactList}\small\item\em Compute the principal curvatures of a surface at vertices. \item\end{DoxyCompactList}\item 
\hyperlink{a00151}{complex\_\-image}$<$ 2, \hyperlink{a00235}{mln::space\_\-2complex\_\-geometry}, algebra::vec$<$ 3, float $>$ $>$ \hyperlink{a02575_a5612f29dd6d9123568bcda6661d8c88b}{mesh\_\-normal} (const \hyperlink{a00302}{p\_\-complex}$<$ 2, \hyperlink{a00235}{space\_\-2complex\_\-geometry} $>$ \&mesh)
\begin{DoxyCompactList}\small\item\em Compute normals at vertices. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\I::site::coord \hyperlink{a02575_ae1b5411c9d6340a4a386b0e2ad1dc283}{min\_\-col} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the minimum column of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename B $>$ }\\B::site::coord \hyperlink{a02575_ae0eb82a466fb0346cfb541fed69b63c9}{min\_\-col} (const \hyperlink{a00028}{Box}$<$ B $>$ \&b)
\begin{DoxyCompactList}\small\item\em Give the minimum column of an box 2d or 3d. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\I::site::coord \hyperlink{a02575_a853aa7532330ec1a4ea885f5a21cc6c8}{min\_\-ind} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the minimum ind of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\I::site::coord \hyperlink{a02575_adcad9e53f87774ea87f0687c7c838f08}{min\_\-row} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the minimum row of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename B $>$ }\\B::site::coord \hyperlink{a02575_ae7dc832c4032e2a9c36c934d967f5f23}{min\_\-row} (const \hyperlink{a00028}{Box}$<$ B $>$ \&b)
\begin{DoxyCompactList}\small\item\em Give the minimum row of an box 2d or 3d. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\I::site::coord \hyperlink{a02575_aaae6a029da444ff0a2fd855044f71bf6}{min\_\-sli} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the minimum sli of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\unsigned \hyperlink{a02575_a11f7c5664a83e805d182ba2c210aa090}{ncols} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the number of columns of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename B $>$ }\\unsigned \hyperlink{a02575_a9137bbcb4809e5a167ebe64bbde6394a}{ncols} (const \hyperlink{a00028}{Box}$<$ B $>$ \&b)
\begin{DoxyCompactList}\small\item\em Give the number of cols of a box 2d or 3d. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\unsigned \hyperlink{a02575_a4c87407c667df6a48155c34129d8f222}{ninds} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the number of inds of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\unsigned \hyperlink{a02575_a7b0e0ea0bde1d3bc8d70d95a107b0bb1}{nrows} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the number of rows of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename B $>$ }\\unsigned \hyperlink{a02575_a2459a118219a9512b00bd94f2db17a99}{nrows} (const \hyperlink{a00028}{Box}$<$ B $>$ \&b)
\begin{DoxyCompactList}\small\item\em Give the number of rows of a box 2d or 3d. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\unsigned \hyperlink{a02575_a883d4890be05d2853a381d7929798c1d}{nsites} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input)
\begin{DoxyCompactList}\small\item\em Compute the number of sites of the image {\ttfamily input}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\unsigned \hyperlink{a02575_a8d9d354c96c706a4880495f66fb173ab}{nslis} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima)
\begin{DoxyCompactList}\small\item\em Give the number of slices of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename S $>$ }\\void \hyperlink{a02575_a362872d903f97ebc4e90f9428ea81a87}{pmin\_\-pmax} (const \hyperlink{a00348}{Site\_\-Set}$<$ S $>$ \&s, typename S::site \&pmin, typename S::site \&pmax)
\begin{DoxyCompactList}\small\item\em Compute the minimum and maximum points, {\ttfamily pmin} and {\ttfamily max}, of point set {\ttfamily s}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename S $>$ }\\std::pair$<$ typename S::site, typename S::site $>$ \hyperlink{a02575_a8263a55fd105c6f0331b198062ca9a6d}{pmin\_\-pmax} (const \hyperlink{a00348}{Site\_\-Set}$<$ S $>$ \&s)
\begin{DoxyCompactList}\small\item\em Compute the minimum and maximum points of point set {\ttfamily s}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\std::pair$<$ typename I::site, typename I::site $>$ \hyperlink{a02575_a591a700c534020d9d1ce7840a71f0b34}{pmin\_\-pmax} (const \hyperlink{a00345}{Site\_\-Iterator}$<$ I $>$ \&p)
\begin{DoxyCompactList}\small\item\em Compute the minimum and maximum points when browsing with iterator {\ttfamily p}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\void \hyperlink{a02575_a5462c0429c20b844554cd722143d87dd}{pmin\_\-pmax} (const \hyperlink{a00345}{Site\_\-Iterator}$<$ I $>$ \&p, typename I::site \&pmin, typename I::site \&pmax)
\begin{DoxyCompactList}\small\item\em Compute the minimum and maximum points, {\ttfamily pmin} and {\ttfamily max}, when browsing with iterator {\ttfamily p}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename Ext $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02575_adc10bc16eccde5092f572ff2e9cea31b}{rotate} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, double angle, const Ext \&extension)
\item 
{\footnotesize template$<$typename B $>$ }\\B \hyperlink{a02575_a12842595054501f160764db3c20f2dbb}{rotate} (const \hyperlink{a00028}{Box}$<$ B $>$ \&\hyperlink{a00135}{box}, double angle)
\begin{DoxyCompactList}\small\item\em This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. The rotation center {\ttfamily ref} is set to \hyperlink{a00135_a08619d07ef44192b67e299e58502d60d}{box.pcenter()}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename Ext , typename S $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02575_a2204122ef632e2c14b5e294cd5309b08}{rotate} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, double angle, const Ext \&extension, const \hyperlink{a00348}{Site\_\-Set}$<$ S $>$ \&output\_\-domain)
\begin{DoxyCompactList}\small\item\em Perform a rotation from the center of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02575_a10b088ec85e6fb0de6e0e7d913f3c8bd}{rotate} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, double angle)
\begin{DoxyCompactList}\small\item\em This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Use \hyperlink{a02645_a64a4a09f49ce8641b142451ee2381b1f}{literal::zero} as default value for the extension. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename B $>$ }\\B \hyperlink{a02575_a5353d216b84a0ced1f6f515dcde68ec7}{rotate} (const \hyperlink{a00028}{Box}$<$ B $>$ \&box\_\-, double angle, const typename B::site \&ref)
\begin{DoxyCompactList}\small\item\em Rotate a box. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename N $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02575_a61e80ecc15e61a66facc6fd46dc7fe47}{seeds2tiling} (const \hyperlink{a00044}{Image}$<$ I $>$ \&ima\_\-, const \hyperlink{a00296}{Neighborhood}$<$ N $>$ \&nbh)
\begin{DoxyCompactList}\small\item\em Take a labeled image {\ttfamily ima\_\-} with seeds and extend them until creating tiles. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename V , typename Ext , typename S $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02575_afaef33eb3e543249a71f15213d111422}{translate} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const algebra::vec$<$ I::site::dim, V $>$ \&ref, const Ext \&extension, const \hyperlink{a00348}{Site\_\-Set}$<$ S $>$ \&output\_\-domain)
\begin{DoxyCompactList}\small\item\em Perform a translation from the center of an image. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename V $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02575_a465cdbba9fda9c486708614918df9d9c}{translate} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const algebra::vec$<$ I::site::dim, V $>$ \&ref)
\begin{DoxyCompactList}\small\item\em This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Use \hyperlink{a02645_a64a4a09f49ce8641b142451ee2381b1f}{literal::zero} as default value for the extension. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename I , typename V , typename Ext $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02575_af0ed0e647d963c28d1aa7ceed0100875}{translate} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input, const algebra::vec$<$ I::site::dim, V $>$ \&ref, const Ext \&extension)
\item 
{\footnotesize template$<$typename I $>$ }\\mln::trait::concrete$<$ I $>$::ret \hyperlink{a02575_a16e2dc6f9cd82207297f2df475fc1922}{vertical\_\-symmetry} (const \hyperlink{a00044}{Image}$<$ I $>$ \&input)
\begin{DoxyCompactList}\small\item\em Perfoms a vertical symmetry. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Namespace of all things related to geometry. Namespace of essential things related to geometry. 

\subsection{Function Documentation}
\hypertarget{a02575_aec7f725f621ea9e7ebe5d97b5c1a4a6c}{
\index{mln::geom@{mln::geom}!bbox@{bbox}}
\index{bbox@{bbox}!mln::geom@{mln::geom}}
\subsubsection[{bbox}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename S $>$ {\bf box}$<$ typename S::site $>$ mln::geom::bbox (
\begin{DoxyParamCaption}
\item[{const Site\_\-Set$<$ S $>$ \&}]{ pset}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_aec7f725f621ea9e7ebe5d97b5c1a4a6c}


Compute the precise bounding box of a point set {\ttfamily pset}. 



Definition at line 122 of file geom/bbox.hh.



Referenced by bbox(), mln::transform::distance\_\-and\_\-closest\_\-point\_\-geodesic(), mln::registration::icp(), max\_\-col(), max\_\-row(), max\_\-sli(), min\_\-col(), min\_\-row(), min\_\-sli(), mln::debug::println(), mln::debug::println\_\-with\_\-border(), and rotate().

\hypertarget{a02575_a06eb12b3e680d7ceb51af65584dfe21c}{
\index{mln::geom@{mln::geom}!bbox@{bbox}}
\index{bbox@{bbox}!mln::geom@{mln::geom}}
\subsubsection[{bbox}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ {\bf box}$<$ typename I::site $>$ mln::geom::bbox (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a06eb12b3e680d7ceb51af65584dfe21c}


Compute the precise bounding box of a point set {\ttfamily pset}. 



Definition at line 133 of file geom/bbox.hh.



References bbox().

\hypertarget{a02575_aec619444ceef0efa509a79fb49450a6d}{
\index{mln::geom@{mln::geom}!bbox@{bbox}}
\index{bbox@{bbox}!mln::geom@{mln::geom}}
\subsubsection[{bbox}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename W $>$ {\bf box}$<$ typename W::psite $>$ mln::geom::bbox (
\begin{DoxyParamCaption}
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_aec619444ceef0efa509a79fb49450a6d}


Compute the precise bounding box of a window {\ttfamily win}. 



Definition at line 143 of file geom/bbox.hh.



References mln::literal::origin.

\hypertarget{a02575_a25e7f8af8c790394e095526eaa567af1}{
\index{mln::geom@{mln::geom}!bbox@{bbox}}
\index{bbox@{bbox}!mln::geom@{mln::geom}}
\subsubsection[{bbox}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename W $>$ {\bf box}$<$ typename W::psite $>$ mln::geom::bbox (
\begin{DoxyParamCaption}
\item[{const Weighted\_\-Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a25e7f8af8c790394e095526eaa567af1}


Compute the precise bounding box of a weighted window {\ttfamily win}. 



Definition at line 156 of file geom/bbox.hh.



References bbox().

\hypertarget{a02575_a671fb3a9faf8b62ead38c5f586fa0034}{
\index{mln::geom@{mln::geom}!chamfer@{chamfer}}
\index{chamfer@{chamfer}!mln::geom@{mln::geom}}
\subsubsection[{chamfer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename W $>$ mln::trait::ch\_\-value$<$ I, unsigned $>$::ret mln::geom::chamfer (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input\_\-, }
\item[{const W \&}]{ w\_\-win\_\-, }
\item[{unsigned}]{ max = {\ttfamily mln\_\-max(unsigned)}}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a671fb3a9faf8b62ead38c5f586fa0034}


Apply chamfer algorithm to a binary image. 



Definition at line 113 of file geom/chamfer.hh.

\hypertarget{a02575_a25b54da2cf34568805f68151db3ba6a9}{
\index{mln::geom@{mln::geom}!delta@{delta}}
\index{delta@{delta}!mln::geom@{mln::geom}}
\subsubsection[{delta}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename W $>$ unsigned mln::geom::delta (
\begin{DoxyParamCaption}
\item[{const Window$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a25b54da2cf34568805f68151db3ba6a9}


Compute the delta of a window {\ttfamily win}. 



Definition at line 96 of file delta.hh.



Referenced by mln::extension::adjust(), and delta().

\hypertarget{a02575_af617687ae403a878c2afb8779a8a4304}{
\index{mln::geom@{mln::geom}!delta@{delta}}
\index{delta@{delta}!mln::geom@{mln::geom}}
\subsubsection[{delta}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename W $>$ unsigned mln::geom::delta (
\begin{DoxyParamCaption}
\item[{const Weighted\_\-Window$<$ W $>$ \&}]{ wwin}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_af617687ae403a878c2afb8779a8a4304}


Compute the delta of a weighted window {\ttfamily wwin}. 



Definition at line 105 of file delta.hh.



References delta().

\hypertarget{a02575_ad3d3d55035da603e2ec7c28de7b78630}{
\index{mln::geom@{mln::geom}!delta@{delta}}
\index{delta@{delta}!mln::geom@{mln::geom}}
\subsubsection[{delta}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename N $>$ unsigned mln::geom::delta (
\begin{DoxyParamCaption}
\item[{const Neighborhood$<$ N $>$ \&}]{ nbh}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_ad3d3d55035da603e2ec7c28de7b78630}


Compute the delta of a neighborhood {\ttfamily nbh}. 



Definition at line 112 of file delta.hh.



References delta().

\hypertarget{a02575_aebecc070c314b14a4e4a862541bb4d5f}{
\index{mln::geom@{mln::geom}!horizontal\_\-symmetry@{horizontal\_\-symmetry}}
\index{horizontal\_\-symmetry@{horizontal\_\-symmetry}!mln::geom@{mln::geom}}
\subsubsection[{horizontal\_\-symmetry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ mln::trait::concrete$<$ I $>$::ret mln::geom::horizontal\_\-symmetry (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_aebecc070c314b14a4e4a862541bb4d5f}


Perfoms a horizontal symmetry. 



Definition at line 172 of file horizontal\_\-symmetry.hh.

\hypertarget{a02575_ae0d1700263b3a4d1da6c38ba60df4de4}{
\index{mln::geom@{mln::geom}!max\_\-col@{max\_\-col}}
\index{max\_\-col@{max\_\-col}!mln::geom@{mln::geom}}
\subsubsection[{max\_\-col}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ I::site::coord mln::geom::max\_\-col (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_ae0d1700263b3a4d1da6c38ba60df4de4}


Give the maximum column of an image. 



Definition at line 56 of file max\_\-col.hh.



References bbox().



Referenced by mln::io::magick::load(), and ncols().

\hypertarget{a02575_aa75d356d9e682ec5e776c8e23c0f5a91}{
\index{mln::geom@{mln::geom}!max\_\-col@{max\_\-col}}
\index{max\_\-col@{max\_\-col}!mln::geom@{mln::geom}}
\subsubsection[{max\_\-col}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename B $>$ B::site::coord mln::geom::max\_\-col (
\begin{DoxyParamCaption}
\item[{const Box$<$ B $>$ \&}]{ b}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_aa75d356d9e682ec5e776c8e23c0f5a91}


Give the maximum col of an box 2d or 3d. 



Definition at line 67 of file max\_\-col.hh.

\hypertarget{a02575_a75f953566d83e6b6186711c38643a40e}{
\index{mln::geom@{mln::geom}!max\_\-ind@{max\_\-ind}}
\index{max\_\-ind@{max\_\-ind}!mln::geom@{mln::geom}}
\subsubsection[{max\_\-ind}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ I::site::coord mln::geom::max\_\-ind (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a75f953566d83e6b6186711c38643a40e}


Give the maximum ind of an image. 



Definition at line 51 of file max\_\-ind.hh.



Referenced by ninds().

\hypertarget{a02575_a1aeb8cae86f53d5e55879ab714e779ad}{
\index{mln::geom@{mln::geom}!max\_\-row@{max\_\-row}}
\index{max\_\-row@{max\_\-row}!mln::geom@{mln::geom}}
\subsubsection[{max\_\-row}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ I::site::coord mln::geom::max\_\-row (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a1aeb8cae86f53d5e55879ab714e779ad}


Give the maximum row of an image. 



Definition at line 57 of file max\_\-row.hh.



References bbox().



Referenced by mln::io::magick::load(), and nrows().

\hypertarget{a02575_a3a114b99a98facb9fdc427e4a89e35a3}{
\index{mln::geom@{mln::geom}!max\_\-row@{max\_\-row}}
\index{max\_\-row@{max\_\-row}!mln::geom@{mln::geom}}
\subsubsection[{max\_\-row}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename B $>$ B::site::coord mln::geom::max\_\-row (
\begin{DoxyParamCaption}
\item[{const Box$<$ B $>$ \&}]{ b}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a3a114b99a98facb9fdc427e4a89e35a3}


Give the maximum row of an box 2d or 3d. 



Definition at line 68 of file max\_\-row.hh.

\hypertarget{a02575_a5ee6f340e269f22d66dc772d4d654b53}{
\index{mln::geom@{mln::geom}!max\_\-sli@{max\_\-sli}}
\index{max\_\-sli@{max\_\-sli}!mln::geom@{mln::geom}}
\subsubsection[{max\_\-sli}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ I::site::coord mln::geom::max\_\-sli (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a5ee6f340e269f22d66dc772d4d654b53}


Give the maximum sli of an image. 



Definition at line 53 of file max\_\-sli.hh.



References bbox().



Referenced by nslis().

\hypertarget{a02575_adcd75e742ab6ac63bb08e0adaa8fe98e}{
\index{mln::geom@{mln::geom}!mesh\_\-corner\_\-point\_\-area@{mesh\_\-corner\_\-point\_\-area}}
\index{mesh\_\-corner\_\-point\_\-area@{mesh\_\-corner\_\-point\_\-area}!mln::geom@{mln::geom}}
\subsubsection[{mesh\_\-corner\_\-point\_\-area}]{\setlength{\rightskip}{0pt plus 5cm}std::pair$<$ {\bf complex\_\-image}$<$ 2, {\bf mln::space\_\-2complex\_\-geometry}, algebra::vec$<$3, float$>$ $>$, {\bf complex\_\-image}$<$ 2, {\bf mln::space\_\-2complex\_\-geometry}, float $>$ $>$ mln::geom::mesh\_\-corner\_\-point\_\-area (
\begin{DoxyParamCaption}
\item[{const p\_\-complex$<$ 2, space\_\-2complex\_\-geometry $>$ \&}]{ mesh}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_adcd75e742ab6ac63bb08e0adaa8fe98e}


Compute the area ``belonging'' to normals at vertices. 

Inspired from the method Trimesh::need\_\-pointareas of the Trimesh library. \begin{DoxySeeAlso}{See also}
\href{http://www.cs.princeton.edu/gfx/proj/trimesh2/}{\tt http://www.cs.princeton.edu/gfx/proj/trimesh2/}
\end{DoxySeeAlso}
From the documentation of Trimesh:

``Compute the area \char`\"{}belonging\char`\"{} to each vertex or each corner of a triangle (defined as Voronoi area restricted to the 1-\/ring of a vertex, or to the triangle).'' 

Definition at line 249 of file misc.hh.



References mln::data::fill(), mln::norm::sqr\_\-l2(), mln::algebra::vprod(), and mln::literal::zero.



Referenced by mesh\_\-curvature().

\hypertarget{a02575_aa818c3b10c378ebc4b58c0ae3ef6f3b1}{
\index{mln::geom@{mln::geom}!mesh\_\-curvature@{mesh\_\-curvature}}
\index{mesh\_\-curvature@{mesh\_\-curvature}!mln::geom@{mln::geom}}
\subsubsection[{mesh\_\-curvature}]{\setlength{\rightskip}{0pt plus 5cm}std::pair$<$ {\bf complex\_\-image}$<$ 2, {\bf mln::space\_\-2complex\_\-geometry}, float $>$, {\bf complex\_\-image}$<$ 2, {\bf mln::space\_\-2complex\_\-geometry}, float $>$ $>$ mln::geom::mesh\_\-curvature (
\begin{DoxyParamCaption}
\item[{const p\_\-complex$<$ 2, space\_\-2complex\_\-geometry $>$ \&}]{ mesh}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_aa818c3b10c378ebc4b58c0ae3ef6f3b1}


Compute the principal curvatures of a surface at vertices. 

These princpal curvatures are names kappa\_\-1 and kappa\_\-2 in

Sylvie Philipp-\/Foliguet, Michel Jordan Laurent Najman and Jean Cousty. Artwork 3D Model Database Indexing and Classification.


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in]} {\em mesh}]The surface (triangle mesh) on which the curvature is to be computed. \end{DoxyParams}


Definition at line 486 of file misc.hh.



References mln::algebra::ldlt\_\-decomp(), mln::algebra::ldlt\_\-solve(), mesh\_\-corner\_\-point\_\-area(), mesh\_\-normal(), mln::algebra::vprod(), and mln::literal::zero.

\hypertarget{a02575_a5612f29dd6d9123568bcda6661d8c88b}{
\index{mln::geom@{mln::geom}!mesh\_\-normal@{mesh\_\-normal}}
\index{mesh\_\-normal@{mesh\_\-normal}!mln::geom@{mln::geom}}
\subsubsection[{mesh\_\-normal}]{\setlength{\rightskip}{0pt plus 5cm}{\bf complex\_\-image}$<$ 2, {\bf mln::space\_\-2complex\_\-geometry}, algebra::vec$<$3, float$>$ $>$ mln::geom::mesh\_\-normal (
\begin{DoxyParamCaption}
\item[{const p\_\-complex$<$ 2, space\_\-2complex\_\-geometry $>$ \&}]{ mesh}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a5612f29dd6d9123568bcda6661d8c88b}


Compute normals at vertices. 

Inspired from the method Trimesh::need\_\-normals of the Trimesh library. \begin{DoxySeeAlso}{See also}
\href{http://www.cs.princeton.edu/gfx/proj/trimesh2/}{\tt http://www.cs.princeton.edu/gfx/proj/trimesh2/}
\end{DoxySeeAlso}
For simplicity purpose, and contrary to Trimesh, this routine only compute normals from a mesh, not from a cloud of points. 

Definition at line 161 of file misc.hh.



References mln::data::fill(), mln::norm::sqr\_\-l2(), mln::algebra::vprod(), and mln::literal::zero.



Referenced by mesh\_\-curvature().

\hypertarget{a02575_ae1b5411c9d6340a4a386b0e2ad1dc283}{
\index{mln::geom@{mln::geom}!min\_\-col@{min\_\-col}}
\index{min\_\-col@{min\_\-col}!mln::geom@{mln::geom}}
\subsubsection[{min\_\-col}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ I::site::coord mln::geom::min\_\-col (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_ae1b5411c9d6340a4a386b0e2ad1dc283}


Give the minimum column of an image. 



Definition at line 57 of file min\_\-col.hh.



References bbox().



Referenced by mln::transform::hough(), mln::io::magick::load(), and ncols().

\hypertarget{a02575_ae0eb82a466fb0346cfb541fed69b63c9}{
\index{mln::geom@{mln::geom}!min\_\-col@{min\_\-col}}
\index{min\_\-col@{min\_\-col}!mln::geom@{mln::geom}}
\subsubsection[{min\_\-col}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename B $>$ B::site::coord mln::geom::min\_\-col (
\begin{DoxyParamCaption}
\item[{const Box$<$ B $>$ \&}]{ b}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_ae0eb82a466fb0346cfb541fed69b63c9}


Give the minimum column of an box 2d or 3d. 



Definition at line 68 of file min\_\-col.hh.

\hypertarget{a02575_a853aa7532330ec1a4ea885f5a21cc6c8}{
\index{mln::geom@{mln::geom}!min\_\-ind@{min\_\-ind}}
\index{min\_\-ind@{min\_\-ind}!mln::geom@{mln::geom}}
\subsubsection[{min\_\-ind}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ I::site::coord mln::geom::min\_\-ind (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a853aa7532330ec1a4ea885f5a21cc6c8}


Give the minimum ind of an image. 



Definition at line 51 of file min\_\-ind.hh.



Referenced by ninds().

\hypertarget{a02575_adcad9e53f87774ea87f0687c7c838f08}{
\index{mln::geom@{mln::geom}!min\_\-row@{min\_\-row}}
\index{min\_\-row@{min\_\-row}!mln::geom@{mln::geom}}
\subsubsection[{min\_\-row}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ I::site::coord mln::geom::min\_\-row (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_adcad9e53f87774ea87f0687c7c838f08}


Give the minimum row of an image. 



Definition at line 60 of file min\_\-row.hh.



References bbox().



Referenced by mln::transform::hough(), mln::io::magick::load(), and nrows().

\hypertarget{a02575_ae7dc832c4032e2a9c36c934d967f5f23}{
\index{mln::geom@{mln::geom}!min\_\-row@{min\_\-row}}
\index{min\_\-row@{min\_\-row}!mln::geom@{mln::geom}}
\subsubsection[{min\_\-row}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename B $>$ B::site::coord mln::geom::min\_\-row (
\begin{DoxyParamCaption}
\item[{const Box$<$ B $>$ \&}]{ b}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_ae7dc832c4032e2a9c36c934d967f5f23}


Give the minimum row of an box 2d or 3d. 



Definition at line 71 of file min\_\-row.hh.

\hypertarget{a02575_aaae6a029da444ff0a2fd855044f71bf6}{
\index{mln::geom@{mln::geom}!min\_\-sli@{min\_\-sli}}
\index{min\_\-sli@{min\_\-sli}!mln::geom@{mln::geom}}
\subsubsection[{min\_\-sli}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ I::site::coord mln::geom::min\_\-sli (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_aaae6a029da444ff0a2fd855044f71bf6}


Give the minimum sli of an image. 



Definition at line 53 of file min\_\-sli.hh.



References bbox().



Referenced by nslis().

\hypertarget{a02575_a11f7c5664a83e805d182ba2c210aa090}{
\index{mln::geom@{mln::geom}!ncols@{ncols}}
\index{ncols@{ncols}!mln::geom@{mln::geom}}
\subsubsection[{ncols}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ unsigned mln::geom::ncols (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a11f7c5664a83e805d182ba2c210aa090}


Give the number of columns of an image. 



Definition at line 57 of file ncols.hh.



References max\_\-col(), and min\_\-col().



Referenced by mln::labeling::impl::compute\_\-fastest(), mln::subsampling::gaussian\_\-subsampling(), mln::transform::hough(), ncols(), mln::io::magick::save(), and mln::subsampling::subsampling().

\hypertarget{a02575_a9137bbcb4809e5a167ebe64bbde6394a}{
\index{mln::geom@{mln::geom}!ncols@{ncols}}
\index{ncols@{ncols}!mln::geom@{mln::geom}}
\subsubsection[{ncols}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename B $>$ unsigned mln::geom::ncols (
\begin{DoxyParamCaption}
\item[{const Box$<$ B $>$ \&}]{ b}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a9137bbcb4809e5a167ebe64bbde6394a}


Give the number of cols of a box 2d or 3d. 



Definition at line 67 of file ncols.hh.



References max\_\-col(), min\_\-col(), and ncols().

\hypertarget{a02575_a4c87407c667df6a48155c34129d8f222}{
\index{mln::geom@{mln::geom}!ninds@{ninds}}
\index{ninds@{ninds}!mln::geom@{mln::geom}}
\subsubsection[{ninds}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ unsigned mln::geom::ninds (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a4c87407c667df6a48155c34129d8f222}


Give the number of inds of an image. 



Definition at line 52 of file ninds.hh.



References max\_\-ind(), and min\_\-ind().

\hypertarget{a02575_a7b0e0ea0bde1d3bc8d70d95a107b0bb1}{
\index{mln::geom@{mln::geom}!nrows@{nrows}}
\index{nrows@{nrows}!mln::geom@{mln::geom}}
\subsubsection[{nrows}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ unsigned mln::geom::nrows (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a7b0e0ea0bde1d3bc8d70d95a107b0bb1}


Give the number of rows of an image. 



Definition at line 57 of file nrows.hh.



References max\_\-row(), and min\_\-row().



Referenced by mln::subsampling::gaussian\_\-subsampling(), mln::transform::hough(), nrows(), mln::io::magick::save(), and mln::subsampling::subsampling().

\hypertarget{a02575_a2459a118219a9512b00bd94f2db17a99}{
\index{mln::geom@{mln::geom}!nrows@{nrows}}
\index{nrows@{nrows}!mln::geom@{mln::geom}}
\subsubsection[{nrows}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename B $>$ unsigned mln::geom::nrows (
\begin{DoxyParamCaption}
\item[{const Box$<$ B $>$ \&}]{ b}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a2459a118219a9512b00bd94f2db17a99}


Give the number of rows of a box 2d or 3d. 



Definition at line 66 of file nrows.hh.



References max\_\-row(), min\_\-row(), and nrows().

\hypertarget{a02575_a883d4890be05d2853a381d7929798c1d}{
\index{mln::geom@{mln::geom}!nsites@{nsites}}
\index{nsites@{nsites}!mln::geom@{mln::geom}}
\subsubsection[{nsites}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ unsigned mln::geom::nsites (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a883d4890be05d2853a381d7929798c1d}


Compute the number of sites of the image {\ttfamily input}. 



Definition at line 52 of file nsites.hh.



Referenced by pmin\_\-pmax().

\hypertarget{a02575_a8d9d354c96c706a4880495f66fb173ab}{
\index{mln::geom@{mln::geom}!nslis@{nslis}}
\index{nslis@{nslis}!mln::geom@{mln::geom}}
\subsubsection[{nslis}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ unsigned mln::geom::nslis (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a8d9d354c96c706a4880495f66fb173ab}


Give the number of slices of an image. 



Definition at line 53 of file nslis.hh.



References max\_\-sli(), and min\_\-sli().

\hypertarget{a02575_a362872d903f97ebc4e90f9428ea81a87}{
\index{mln::geom@{mln::geom}!pmin\_\-pmax@{pmin\_\-pmax}}
\index{pmin\_\-pmax@{pmin\_\-pmax}!mln::geom@{mln::geom}}
\subsubsection[{pmin\_\-pmax}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename S $>$ void mln::geom::pmin\_\-pmax (
\begin{DoxyParamCaption}
\item[{const Site\_\-Set$<$ S $>$ \&}]{ s, }
\item[{typename S::site \&}]{ pmin, }
\item[{typename S::site \&}]{ pmax}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a362872d903f97ebc4e90f9428ea81a87}


Compute the minimum and maximum points, {\ttfamily pmin} and {\ttfamily max}, of point set {\ttfamily s}. 



Definition at line 148 of file pmin\_\-pmax.hh.



References nsites().

\hypertarget{a02575_a8263a55fd105c6f0331b198062ca9a6d}{
\index{mln::geom@{mln::geom}!pmin\_\-pmax@{pmin\_\-pmax}}
\index{pmin\_\-pmax@{pmin\_\-pmax}!mln::geom@{mln::geom}}
\subsubsection[{pmin\_\-pmax}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename S $>$ std::pair$<$ typename S::site, typename S::site $>$ mln::geom::pmin\_\-pmax (
\begin{DoxyParamCaption}
\item[{const Site\_\-Set$<$ S $>$ \&}]{ s}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a8263a55fd105c6f0331b198062ca9a6d}


Compute the minimum and maximum points of point set {\ttfamily s}. 



Definition at line 157 of file pmin\_\-pmax.hh.



References nsites().



Referenced by pmin\_\-pmax().

\hypertarget{a02575_a591a700c534020d9d1ce7840a71f0b34}{
\index{mln::geom@{mln::geom}!pmin\_\-pmax@{pmin\_\-pmax}}
\index{pmin\_\-pmax@{pmin\_\-pmax}!mln::geom@{mln::geom}}
\subsubsection[{pmin\_\-pmax}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ std::pair$<$ typename I::site, typename I::site $>$ mln::geom::pmin\_\-pmax (
\begin{DoxyParamCaption}
\item[{const Site\_\-Iterator$<$ I $>$ \&}]{ p}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a591a700c534020d9d1ce7840a71f0b34}


Compute the minimum and maximum points when browsing with iterator {\ttfamily p}. 



Definition at line 106 of file pmin\_\-pmax.hh.



References pmin\_\-pmax().

\hypertarget{a02575_a5462c0429c20b844554cd722143d87dd}{
\index{mln::geom@{mln::geom}!pmin\_\-pmax@{pmin\_\-pmax}}
\index{pmin\_\-pmax@{pmin\_\-pmax}!mln::geom@{mln::geom}}
\subsubsection[{pmin\_\-pmax}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ void mln::geom::pmin\_\-pmax (
\begin{DoxyParamCaption}
\item[{const Site\_\-Iterator$<$ I $>$ \&}]{ p, }
\item[{typename I::site \&}]{ pmin, }
\item[{typename I::site \&}]{ pmax}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a5462c0429c20b844554cd722143d87dd}


Compute the minimum and maximum points, {\ttfamily pmin} and {\ttfamily max}, when browsing with iterator {\ttfamily p}. 



Definition at line 84 of file pmin\_\-pmax.hh.

\hypertarget{a02575_adc10bc16eccde5092f572ff2e9cea31b}{
\index{mln::geom@{mln::geom}!rotate@{rotate}}
\index{rotate@{rotate}!mln::geom@{mln::geom}}
\subsubsection[{rotate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename Ext $>$ mln::trait::concrete$<$ I $>$::ret mln::geom::rotate (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{double}]{ angle, }
\item[{const Ext \&}]{ extension}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_adc10bc16eccde5092f572ff2e9cea31b}
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 

Definition at line 185 of file rotate.hh.



References rotate().

\hypertarget{a02575_a12842595054501f160764db3c20f2dbb}{
\index{mln::geom@{mln::geom}!rotate@{rotate}}
\index{rotate@{rotate}!mln::geom@{mln::geom}}
\subsubsection[{rotate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename B $>$ B mln::geom::rotate (
\begin{DoxyParamCaption}
\item[{const Box$<$ B $>$ \&}]{ box, }
\item[{double}]{ angle}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a12842595054501f160764db3c20f2dbb}


This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. The rotation center {\ttfamily ref} is set to \hyperlink{a00135_a08619d07ef44192b67e299e58502d60d}{box.pcenter()}. 



Definition at line 252 of file rotate.hh.



References rotate().

\hypertarget{a02575_a2204122ef632e2c14b5e294cd5309b08}{
\index{mln::geom@{mln::geom}!rotate@{rotate}}
\index{rotate@{rotate}!mln::geom@{mln::geom}}
\subsubsection[{rotate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename Ext , typename S $>$ mln::trait::concrete$<$ I $>$::ret mln::geom::rotate (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{double}]{ angle, }
\item[{const Ext \&}]{ extension, }
\item[{const Site\_\-Set$<$ S $>$ \&}]{ output\_\-domain}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a2204122ef632e2c14b5e294cd5309b08}


Perform a rotation from the center of an image. 


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in]} {\em input}]An image. \item[\mbox{\tt[in]} {\em angle}]An angle in degrees. \item[\mbox{\tt[in]} {\em extension}]\hyperlink{a00031}{Function}, image or value which will be used as extension. This extension allows to map values to sites which where not part of the domain before the rotation. \item[\mbox{\tt[in]} {\em output\_\-domain}]The domain of the output image. An invalid domain, causes the routine to use a domain large enough to display the whole original image.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An image with the same domain as {\ttfamily input}. 
\end{DoxyReturn}


Definition at line 123 of file rotate.hh.



References bbox(), mln::compose(), mln::duplicate(), mln::initialize(), mln::mln\_\-exact(), mln::literal::origin, and mln::data::paste().



Referenced by rotate().

\hypertarget{a02575_a10b088ec85e6fb0de6e0e7d913f3c8bd}{
\index{mln::geom@{mln::geom}!rotate@{rotate}}
\index{rotate@{rotate}!mln::geom@{mln::geom}}
\subsubsection[{rotate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ mln::trait::concrete$<$ I $>$::ret mln::geom::rotate (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{double}]{ angle}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a10b088ec85e6fb0de6e0e7d913f3c8bd}


This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Use \hyperlink{a02645_a64a4a09f49ce8641b142451ee2381b1f}{literal::zero} as default value for the extension. 



Definition at line 197 of file rotate.hh.



References rotate(), and mln::literal::zero.

\hypertarget{a02575_a5353d216b84a0ced1f6f515dcde68ec7}{
\index{mln::geom@{mln::geom}!rotate@{rotate}}
\index{rotate@{rotate}!mln::geom@{mln::geom}}
\subsubsection[{rotate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename B $>$ B mln::geom::rotate (
\begin{DoxyParamCaption}
\item[{const Box$<$ B $>$ \&}]{ box\_\-, }
\item[{double}]{ angle, }
\item[{const typename B::site \&}]{ ref}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a5353d216b84a0ced1f6f515dcde68ec7}


Rotate a box. 

FIXME: the return type may be too generic and may lead to invalid covariance. 

Definition at line 205 of file rotate.hh.



References mln::compose(), mln::literal::origin, and mln::accu::shape::bbox$<$ P $>$::to\_\-result().

\hypertarget{a02575_a61e80ecc15e61a66facc6fd46dc7fe47}{
\index{mln::geom@{mln::geom}!seeds2tiling@{seeds2tiling}}
\index{seeds2tiling@{seeds2tiling}!mln::geom@{mln::geom}}
\subsubsection[{seeds2tiling}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename N $>$ mln::trait::concrete$<$ I $>$::ret mln::geom::seeds2tiling (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ ima\_\-, }
\item[{const Neighborhood$<$ N $>$ \&}]{ nbh}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{db/d39/a02575_a61e80ecc15e61a66facc6fd46dc7fe47}


Take a labeled image {\ttfamily ima\_\-} with seeds and extend them until creating tiles. 


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in,out]} {\em ima\_\-}]The labeled image with seed. \item[\mbox{\tt[in]} {\em nbh}]The neighborhood to use on this algorithm.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A tiled image.
\end{DoxyReturn}
\begin{DoxyPrecond}{Precondition}
{\ttfamily ima\_\-} has to be initialized. 
\end{DoxyPrecond}


Definition at line 136 of file seeds2tiling.hh.



References mln::geom::impl::seeds2tiling().

\hypertarget{a02575_afaef33eb3e543249a71f15213d111422}{
\index{mln::geom@{mln::geom}!translate@{translate}}
\index{translate@{translate}!mln::geom@{mln::geom}}
\subsubsection[{translate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename V , typename Ext , typename S $>$ mln::trait::concrete$<$ I $>$::ret mln::geom::translate (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const algebra::vec$<$ I::site::dim, V $>$ \&}]{ ref, }
\item[{const Ext \&}]{ extension, }
\item[{const Site\_\-Set$<$ S $>$ \&}]{ output\_\-domain}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_afaef33eb3e543249a71f15213d111422}


Perform a translation from the center of an image. 


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in]} {\em input}]An image. \item[\mbox{\tt[in]} {\em ref}]The translation vector. \item[\mbox{\tt[in]} {\em extension}]\hyperlink{a00031}{Function}, image or value which will be used as extension. This extension allows to map values to sites which where not part of the domain before the translation. \item[\mbox{\tt[in]} {\em output\_\-domain}]The domain of the output image. An invalid domain, causes the routine to use the translated input\_\- domain.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An image with the same domain as {\ttfamily input}. 
\end{DoxyReturn}


Definition at line 99 of file translate.hh.



References mln::extend(), mln::data::fill(), and mln::mln\_\-exact().



Referenced by translate().

\hypertarget{a02575_a465cdbba9fda9c486708614918df9d9c}{
\index{mln::geom@{mln::geom}!translate@{translate}}
\index{translate@{translate}!mln::geom@{mln::geom}}
\subsubsection[{translate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename V $>$ mln::trait::concrete$<$ I $>$::ret mln::geom::translate (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const algebra::vec$<$ I::site::dim, V $>$ \&}]{ ref}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a465cdbba9fda9c486708614918df9d9c}


This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Use \hyperlink{a02645_a64a4a09f49ce8641b142451ee2381b1f}{literal::zero} as default value for the extension. 



Definition at line 146 of file translate.hh.



References translate(), and mln::literal::zero.

\hypertarget{a02575_af0ed0e647d963c28d1aa7ceed0100875}{
\index{mln::geom@{mln::geom}!translate@{translate}}
\index{translate@{translate}!mln::geom@{mln::geom}}
\subsubsection[{translate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I , typename V , typename Ext $>$ mln::trait::concrete$<$ I $>$::ret mln::geom::translate (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input, }
\item[{const algebra::vec$<$ I::site::dim, V $>$ \&}]{ ref, }
\item[{const Ext \&}]{ extension}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_af0ed0e647d963c28d1aa7ceed0100875}
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 

Definition at line 132 of file translate.hh.



References translate().

\hypertarget{a02575_a16e2dc6f9cd82207297f2df475fc1922}{
\index{mln::geom@{mln::geom}!vertical\_\-symmetry@{vertical\_\-symmetry}}
\index{vertical\_\-symmetry@{vertical\_\-symmetry}!mln::geom@{mln::geom}}
\subsubsection[{vertical\_\-symmetry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ mln::trait::concrete$<$ I $>$::ret mln::geom::vertical\_\-symmetry (
\begin{DoxyParamCaption}
\item[{const Image$<$ I $>$ \&}]{ input}
\end{DoxyParamCaption}
)}}
\label{db/d39/a02575_a16e2dc6f9cd82207297f2df475fc1922}


Perfoms a vertical symmetry. 



Definition at line 174 of file vertical\_\-symmetry.hh.

