\hypertarget{a00292}{
\section{mln::morpho::attribute::sharpness$<$ I $>$ Struct Template Reference}
\label{d8/d0a/a00292}\index{mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}}
}


Sharpness accumulator class.  




{\ttfamily \#include $<$sharpness.hh$>$}



Inherits base$<$ double, sharpness$<$ I $>$ $>$.

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
unsigned \hyperlink{a00292_aebea1846afc72d49d5555ed57b2c7ee7}{area} () const 
\begin{DoxyCompactList}\small\item\em Give the area of the component. \item\end{DoxyCompactList}\item 
unsigned \hyperlink{a00292_a2b9fd6299f1a1541a616e4740f1484af}{height} () const 
\begin{DoxyCompactList}\small\item\em Give the height. \item\end{DoxyCompactList}\item 
bool \hyperlink{a00292_a9618b413f5f680acf3abfde1637f6263}{is\_\-valid} () const 
\begin{DoxyCompactList}\small\item\em Check whether this accu is able to return a result. \item\end{DoxyCompactList}\item 
void \hyperlink{a00026_a745794a4ef16926d3c09ebbaa8b6b557}{take\_\-as\_\-init} (const T \&t)
\begin{DoxyCompactList}\small\item\em Take as initialization the value {\ttfamily t}. \item\end{DoxyCompactList}\item 
void \hyperlink{a00026_a138e094daa1a85f345bbdfd852c9fc67}{take\_\-n\_\-times} (unsigned n, const T \&t)
\begin{DoxyCompactList}\small\item\em Take {\ttfamily n} times the value {\ttfamily t}. \item\end{DoxyCompactList}\item 
double \hyperlink{a00292_a78cb1d7d2960bf795f163a7e4ea6fe9d}{to\_\-result} () const 
\begin{DoxyCompactList}\small\item\em Get the value of the accumulator. \item\end{DoxyCompactList}\item 
unsigned \hyperlink{a00292_a29ebf01efd7b3fe0f32d7704014d1d65}{volume} () const 
\begin{DoxyCompactList}\small\item\em Give the volume of the component. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
void \hyperlink{a00292_af641fc1d104595b5a3924ac83ca32272}{init} ()
\begin{DoxyCompactList}\small\item\em Manipulators. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}


\subsection{Detailed Description}
\subsubsection*{template$<$typename I$>$ struct mln::morpho::attribute::sharpness$<$ I $>$}

Sharpness accumulator class. The parameter {\ttfamily I} is the image type on which the accumulator of pixels is built. 

Definition at line 80 of file sharpness.hh.



\subsection{Member Function Documentation}
\hypertarget{a00292_aebea1846afc72d49d5555ed57b2c7ee7}{
\index{mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}!area@{area}}
\index{area@{area}!mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}}
\subsubsection[{area}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ unsigned {\bf mln::morpho::attribute::sharpness}$<$ I $>$::area (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d0a/a00292_aebea1846afc72d49d5555ed57b2c7ee7}


Give the area of the component. 



Definition at line 190 of file sharpness.hh.

\hypertarget{a00292_a2b9fd6299f1a1541a616e4740f1484af}{
\index{mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}!height@{height}}
\index{height@{height}!mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}}
\subsubsection[{height}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ unsigned {\bf mln::morpho::attribute::sharpness}$<$ I $>$::{\bf height} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d0a/a00292_a2b9fd6299f1a1541a616e4740f1484af}


Give the height. 



Definition at line 206 of file sharpness.hh.

\hypertarget{a00292_af641fc1d104595b5a3924ac83ca32272}{
\index{mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}!init@{init}}
\index{init@{init}!mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ void {\bf mln::morpho::attribute::sharpness}$<$ I $>$::init (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d0a/a00292_af641fc1d104595b5a3924ac83ca32272}


Manipulators. 



Definition at line 134 of file sharpness.hh.

\hypertarget{a00292_a9618b413f5f680acf3abfde1637f6263}{
\index{mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}!is\_\-valid@{is\_\-valid}}
\index{is\_\-valid@{is\_\-valid}!mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}}
\subsubsection[{is\_\-valid}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ bool {\bf mln::morpho::attribute::sharpness}$<$ I $>$::is\_\-valid (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d0a/a00292_a9618b413f5f680acf3abfde1637f6263}


Check whether this accu is able to return a result. 

Always true here. 

Definition at line 214 of file sharpness.hh.

\hypertarget{a00026_a745794a4ef16926d3c09ebbaa8b6b557}{
\index{mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}!take\_\-as\_\-init@{take\_\-as\_\-init}}
\index{take\_\-as\_\-init@{take\_\-as\_\-init}!mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}}
\subsubsection[{take\_\-as\_\-init}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf mln::Accumulator}$<$ {\bf sharpness}$<$ I $>$  $>$::take\_\-as\_\-init (
\begin{DoxyParamCaption}
\item[{const T \&}]{ t}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{d6/d5b/a00026_a745794a4ef16926d3c09ebbaa8b6b557}


Take as initialization the value {\ttfamily t}. 

Dev note: this is a final method; override if needed by take\_\-as\_\-init\_\- (ending with '\_\-'). \hypertarget{a00026_a138e094daa1a85f345bbdfd852c9fc67}{
\index{mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}!take\_\-n\_\-times@{take\_\-n\_\-times}}
\index{take\_\-n\_\-times@{take\_\-n\_\-times}!mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}}
\subsubsection[{take\_\-n\_\-times}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf mln::Accumulator}$<$ {\bf sharpness}$<$ I $>$  $>$::take\_\-n\_\-times (
\begin{DoxyParamCaption}
\item[{unsigned}]{ n, }
\item[{const T \&}]{ t}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{d6/d5b/a00026_a138e094daa1a85f345bbdfd852c9fc67}


Take {\ttfamily n} times the value {\ttfamily t}. 

Dev note: this is a final method; override if needed by take\_\-as\_\-init\_\- (ending with '\_\-'). \hypertarget{a00292_a78cb1d7d2960bf795f163a7e4ea6fe9d}{
\index{mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}!to\_\-result@{to\_\-result}}
\index{to\_\-result@{to\_\-result}!mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}}
\subsubsection[{to\_\-result}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ double {\bf mln::morpho::attribute::sharpness}$<$ I $>$::to\_\-result (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d0a/a00292_a78cb1d7d2960bf795f163a7e4ea6fe9d}


Get the value of the accumulator. 



Definition at line 175 of file sharpness.hh.

\hypertarget{a00292_a29ebf01efd7b3fe0f32d7704014d1d65}{
\index{mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}!volume@{volume}}
\index{volume@{volume}!mln::morpho::attribute::sharpness@{mln::morpho::attribute::sharpness}}
\subsubsection[{volume}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ unsigned {\bf mln::morpho::attribute::sharpness}$<$ I $>$::{\bf volume} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d8/d0a/a00292_a29ebf01efd7b3fe0f32d7704014d1d65}


Give the volume of the component. 



Definition at line 198 of file sharpness.hh.

