\hypertarget{a00434}{
\section{mln::value::stack\_\-image$<$ n, I $>$ Struct Template Reference}
\label{d1/d7e/a00434}\index{mln::value::stack\_\-image@{mln::value::stack\_\-image}}
}


Stack image class.  




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



Inherits image\_\-value\_\-morpher$<$ I, algebra::vec$<$ n, I::value $>$, stack\_\-image$<$ n, I $>$ $>$.

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef I::domain\_\-t \hyperlink{a00434_a1eca65f919a8e583846596a91ee08711}{domain\_\-t}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00348}{Site\_\-Set} associated type. \item\end{DoxyCompactList}\item 
typedef internal::helper\_\-stack\_\-image\_\-lvalue\_\-$<$ n, I $>$::ret \hyperlink{a00434_af188340fe6156978424d8da67bef0f63}{lvalue}
\begin{DoxyCompactList}\small\item\em Return type of read-\/write access. \item\end{DoxyCompactList}\item 
typedef I::psite \hyperlink{a00434_a74f5a640460aefd49bc0a9d64d12bd95}{psite}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00331}{Point\_\-Site} associated type. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00434_a20a415bcbe1fe5a443e1eecac2dcba9e}{value} \hyperlink{a00434_a22292b74df754192781f84678d5c2e8a}{rvalue}
\begin{DoxyCompactList}\small\item\em Return type of read-\/only access. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00434}{stack\_\-image}$<$ n, tag::image\_\-$<$ I $>$ $>$ \hyperlink{a00434_a8c427c99256c67f1b4245547d5048baf}{skeleton}
\begin{DoxyCompactList}\small\item\em Skeleton. \item\end{DoxyCompactList}\item 
typedef algebra::vec$<$ n, typename I::value $>$ \hyperlink{a00434_a20a415bcbe1fe5a443e1eecac2dcba9e}{value}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00418}{Value} associated type. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a00434_ac2e961bd7fff84a1e390660d7cae501d}{is\_\-valid} () const 
\begin{DoxyCompactList}\small\item\em Test if this image has been initialized. \item\end{DoxyCompactList}\item 
\hyperlink{a00429}{lvalue} \hyperlink{a00434_aff6a25dc27bc708def8e3064809268f1}{operator()} (const \hyperlink{a00434_a74f5a640460aefd49bc0a9d64d12bd95}{psite} \&)
\begin{DoxyCompactList}\small\item\em Read-\/write access of pixel value at point site {\ttfamily p}. \item\end{DoxyCompactList}\item 
\hyperlink{a00434_a22292b74df754192781f84678d5c2e8a}{rvalue} \hyperlink{a00434_ac294db57703b6f25814086f92b64a0e8}{operator()} (const \hyperlink{a00434_a74f5a640460aefd49bc0a9d64d12bd95}{psite} \&p) const 
\begin{DoxyCompactList}\small\item\em Read-\/only access of pixel value at point site {\ttfamily p}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
\hyperlink{a00434_ae8f5a5282a385cc51ebf99b39a078640}{stack\_\-image} (const algebra::vec$<$ n, I $>$ \&imas)
\begin{DoxyCompactList}\small\item\em Constructors. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}


\subsection{Detailed Description}
\subsubsection*{template$<$unsigned n, typename I$>$ struct mln::value::stack\_\-image$<$ n, I $>$}

Stack image class. \hyperlink{a00434}{mln::value::stack\_\-image} stores a vector of n images of the same domain.

The parameter {\ttfamily n} is the number of images, {\ttfamily I} is the type of a stack element. Acces a value will compute a vector which contains n coordinates : \mbox{[}stack\mbox{[}0\mbox{]}(p), stack\mbox{[}1\mbox{]}(p), ... , stack\mbox{[}n\mbox{]}(p)\mbox{]} 

Definition at line 145 of file stack.hh.



\subsection{Member Typedef Documentation}
\hypertarget{a00434_a1eca65f919a8e583846596a91ee08711}{
\index{mln::value::stack\_\-image@{mln::value::stack\_\-image}!domain\_\-t@{domain\_\-t}}
\index{domain\_\-t@{domain\_\-t}!mln::value::stack_image@{mln::value::stack\_\-image}}
\subsubsection[{domain\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename I$>$ typedef I ::{\bf domain\_\-t} {\bf mln::value::stack\_\-image}$<$ n, I $>$::{\bf domain\_\-t}}}
\label{d1/d7e/a00434_a1eca65f919a8e583846596a91ee08711}


\hyperlink{a00348}{Site\_\-Set} associated type. 



Definition at line 154 of file stack.hh.

\hypertarget{a00434_af188340fe6156978424d8da67bef0f63}{
\index{mln::value::stack\_\-image@{mln::value::stack\_\-image}!lvalue@{lvalue}}
\index{lvalue@{lvalue}!mln::value::stack_image@{mln::value::stack\_\-image}}
\subsubsection[{lvalue}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename I$>$ typedef internal::helper\_\-stack\_\-image\_\-lvalue\_\-$<$n,I$>$::ret {\bf mln::value::stack\_\-image}$<$ n, I $>$::{\bf lvalue}}}
\label{d1/d7e/a00434_af188340fe6156978424d8da67bef0f63}


Return type of read-\/write access. 



Definition at line 166 of file stack.hh.

\hypertarget{a00434_a74f5a640460aefd49bc0a9d64d12bd95}{
\index{mln::value::stack\_\-image@{mln::value::stack\_\-image}!psite@{psite}}
\index{psite@{psite}!mln::value::stack_image@{mln::value::stack\_\-image}}
\subsubsection[{psite}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename I$>$ typedef I ::{\bf psite} {\bf mln::value::stack\_\-image}$<$ n, I $>$::{\bf psite}}}
\label{d1/d7e/a00434_a74f5a640460aefd49bc0a9d64d12bd95}


\hyperlink{a00331}{Point\_\-Site} associated type. 



Definition at line 151 of file stack.hh.

\hypertarget{a00434_a22292b74df754192781f84678d5c2e8a}{
\index{mln::value::stack\_\-image@{mln::value::stack\_\-image}!rvalue@{rvalue}}
\index{rvalue@{rvalue}!mln::value::stack_image@{mln::value::stack\_\-image}}
\subsubsection[{rvalue}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename I$>$ typedef {\bf value} {\bf mln::value::stack\_\-image}$<$ n, I $>$::{\bf rvalue}}}
\label{d1/d7e/a00434_a22292b74df754192781f84678d5c2e8a}


Return type of read-\/only access. 

The rvalue type is not a const reference, since the value type is built on the fly, and return by value (copy). 

Definition at line 163 of file stack.hh.

\hypertarget{a00434_a8c427c99256c67f1b4245547d5048baf}{
\index{mln::value::stack\_\-image@{mln::value::stack\_\-image}!skeleton@{skeleton}}
\index{skeleton@{skeleton}!mln::value::stack_image@{mln::value::stack\_\-image}}
\subsubsection[{skeleton}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename I$>$ typedef {\bf stack\_\-image}$<$ n, tag::image\_\-$<$I$>$ $>$ {\bf mln::value::stack\_\-image}$<$ n, I $>$::{\bf skeleton}}}
\label{d1/d7e/a00434_a8c427c99256c67f1b4245547d5048baf}


Skeleton. 



Definition at line 170 of file stack.hh.

\hypertarget{a00434_a20a415bcbe1fe5a443e1eecac2dcba9e}{
\index{mln::value::stack\_\-image@{mln::value::stack\_\-image}!value@{value}}
\index{value@{value}!mln::value::stack_image@{mln::value::stack\_\-image}}
\subsubsection[{value}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename I$>$ typedef algebra::vec$<$n, typename I ::{\bf value}$>$ {\bf mln::value::stack\_\-image}$<$ n, I $>$::{\bf value}}}
\label{d1/d7e/a00434_a20a415bcbe1fe5a443e1eecac2dcba9e}


\hyperlink{a00418}{Value} associated type. 



Definition at line 157 of file stack.hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00434_ae8f5a5282a385cc51ebf99b39a078640}{
\index{mln::value::stack\_\-image@{mln::value::stack\_\-image}!stack\_\-image@{stack\_\-image}}
\index{stack\_\-image@{stack\_\-image}!mln::value::stack_image@{mln::value::stack\_\-image}}
\subsubsection[{stack\_\-image}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename I$>$ {\bf mln::value::stack\_\-image}$<$ n, I $>$::{\bf stack\_\-image} (
\begin{DoxyParamCaption}
\item[{const algebra::vec$<$ n, I $>$ \&}]{ imas}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d1/d7e/a00434_ae8f5a5282a385cc51ebf99b39a078640}


Constructors. 



Definition at line 236 of file stack.hh.



\subsection{Member Function Documentation}
\hypertarget{a00434_ac2e961bd7fff84a1e390660d7cae501d}{
\index{mln::value::stack\_\-image@{mln::value::stack\_\-image}!is\_\-valid@{is\_\-valid}}
\index{is\_\-valid@{is\_\-valid}!mln::value::stack_image@{mln::value::stack\_\-image}}
\subsubsection[{is\_\-valid}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename I $>$ bool {\bf mln::value::stack\_\-image}$<$ n, I $>$::is\_\-valid (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d1/d7e/a00434_ac2e961bd7fff84a1e390660d7cae501d}


Test if this image has been initialized. 



Definition at line 255 of file stack.hh.

\hypertarget{a00434_aff6a25dc27bc708def8e3064809268f1}{
\index{mln::value::stack\_\-image@{mln::value::stack\_\-image}!operator()@{operator()}}
\index{operator()@{operator()}!mln::value::stack_image@{mln::value::stack\_\-image}}
\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename I $>$ {\bf stack\_\-image}$<$ n, I $>$::{\bf lvalue} {\bf mln::value::stack\_\-image}$<$ n, I $>$::operator() (
\begin{DoxyParamCaption}
\item[{const {\bf psite} \&}]{ p}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d1/d7e/a00434_aff6a25dc27bc708def8e3064809268f1}


Read-\/write access of pixel value at point site {\ttfamily p}. 



Definition at line 296 of file stack.hh.

\hypertarget{a00434_ac294db57703b6f25814086f92b64a0e8}{
\index{mln::value::stack\_\-image@{mln::value::stack\_\-image}!operator()@{operator()}}
\index{operator()@{operator()}!mln::value::stack_image@{mln::value::stack\_\-image}}
\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename I $>$ {\bf stack\_\-image}$<$ n, I $>$::{\bf rvalue} {\bf mln::value::stack\_\-image}$<$ n, I $>$::operator() (
\begin{DoxyParamCaption}
\item[{const {\bf psite} \&}]{ p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d1/d7e/a00434_ac294db57703b6f25814086f92b64a0e8}


Read-\/only access of pixel value at point site {\ttfamily p}. 



Definition at line 277 of file stack.hh.

