Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > d5e74628f0e673bb8680aebce32b2c04 > files > 15399

itk-doc-3.12.0-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ITK: itkConstNeighborhoodIterator.h Source File</title>
<link href="DoxygenStyle.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">


<!--  Section customized for INSIGHT : Tue Jul 17 01:02:45 2001 -->
<center>
<a href="index.html" class="qindex">Main Page</a>&nbsp;&nbsp; 
<a href="modules.html" class="qindex">Groups</a>&nbsp;&nbsp;
<a href="namespaces.html" class="qindex">Namespace List</a>&nbsp;&nbsp;
<a href="hierarchy.html" class="qindex">Class Hierarchy</a>&nbsp;&nbsp;
<a href="classes.html" class="qindex">Alphabetical List</a>&nbsp;&nbsp;
<a href="annotated.html" class="qindex">Compound List</a>&nbsp;&nbsp; 
<a href="files.html" class="qindex">File
List</a>&nbsp;&nbsp; 
<a href="namespacemembers.html" class="qindex">Namespace Members</a>&nbsp;&nbsp; 
<a href="functions.html" class="qindex">Compound Members</a>&nbsp;&nbsp; 
<a href="globals.html" class="qindex">File Members</a>&nbsp;&nbsp;
<a href="pages.html" class="qindex">Concepts</a></center>


<!-- Generated by Doxygen 1.5.9 -->
  <div class="navpath"><a class="el" href="dir_02e23d841c198393a6e961e9a0678fff.html">Code</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_ea7fc529ede9a38b0438cf13831ae873.html">Common</a>
  </div>
<div class="contents">
<h1>itkConstNeighborhoodIterator.h</h1><a href="itkConstNeighborhoodIterator_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*=========================================================================</span>
<a name="l00002"></a>00002 <span class="comment"></span>
<a name="l00003"></a>00003 <span class="comment">  Program:   Insight Segmentation &amp; Registration Toolkit</span>
<a name="l00004"></a>00004 <span class="comment">  Module:    $RCSfile: itkConstNeighborhoodIterator.h,v $</span>
<a name="l00005"></a>00005 <span class="comment">  Language:  C++</span>
<a name="l00006"></a>00006 <span class="comment">  Date:      $Date: 2008-10-07 12:04:17 $</span>
<a name="l00007"></a>00007 <span class="comment">  Version:   $Revision: 1.38 $</span>
<a name="l00008"></a>00008 <span class="comment"></span>
<a name="l00009"></a>00009 <span class="comment">  Copyright (c) Insight Software Consortium. All rights reserved.</span>
<a name="l00010"></a>00010 <span class="comment">  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.</span>
<a name="l00011"></a>00011 <span class="comment"></span>
<a name="l00012"></a>00012 <span class="comment">     This software is distributed WITHOUT ANY WARRANTY; without even </span>
<a name="l00013"></a>00013 <span class="comment">     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR </span>
<a name="l00014"></a>00014 <span class="comment">     PURPOSE.  See the above copyright notices for more information.</span>
<a name="l00015"></a>00015 <span class="comment"></span>
<a name="l00016"></a>00016 <span class="comment">=========================================================================*/</span>
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef __itkConstNeighborhoodIterator_h</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __itkConstNeighborhoodIterator_h</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;string.h&gt;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;iostream&gt;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="itkImage_8h.html">itkImage.h</a>"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="itkIndex_8h.html">itkIndex.h</a>"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="itkOffset_8h.html">itkOffset.h</a>"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="itkSize_8h.html">itkSize.h</a>"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="itkImageRegion_8h.html">itkImageRegion.h</a>"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="itkMacro_8h.html">itkMacro.h</a>"</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="itkNeighborhood_8h.html">itkNeighborhood.h</a>"</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="itkImageBoundaryCondition_8h.html">itkImageBoundaryCondition.h</a>"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="itkExceptionObject_8h.html">itkExceptionObject.h</a>"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="itkZeroFluxNeumannBoundaryCondition_8h.html">itkZeroFluxNeumannBoundaryCondition.h</a>"</span>
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 <span class="keyword">namespace </span>itk {
<a name="l00035"></a>00035 
<a name="l00050"></a>00050 <span class="keyword">template</span>&lt;<span class="keyword">class </span>TImage,  <span class="keyword">class </span>TBoundaryCondition
<a name="l00051"></a>00051                        = ZeroFluxNeumannBoundaryCondition&lt;TImage&gt; &gt;
<a name="l00052"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html">00052</a> <span class="keyword">class </span><a class="code" href="itkWin32Header_8h.html#7d4384322557205d75f0719c012dded6">ITK_EXPORT</a> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">ConstNeighborhoodIterator</a>
<a name="l00053"></a>00053   :  <span class="keyword">public</span> <a class="code" href="classitk_1_1Neighborhood.html" title="A light-weight container object for storing an N-dimensional neighborhood of values...">Neighborhood</a>&lt;ITK_TYPENAME TImage::InternalPixelType *,
<a name="l00054"></a>00054                          ::itk::GetImageDimension&lt;TImage&gt;::ImageDimension&gt;
<a name="l00055"></a>00055 {
<a name="l00056"></a>00056 <span class="keyword">public</span>:
<a name="l00058"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#360e182ce00665447ed71060c34b08f3">00058</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> TImage::InternalPixelType InternalPixelType;
<a name="l00059"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#884c860dc4a98d25b83a767936a3b6c5">00059</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> TImage::PixelType         PixelType;
<a name="l00060"></a>00060 
<a name="l00062"></a>00062   <a class="code" href="itkMacro_8h.html#1905cf6b2e88235996fa7ff73b2fb0eb">itkStaticConstMacro</a>(Dimension, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, TImage::ImageDimension);
<a name="l00063"></a>00063 
<a name="l00065"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#71ecdad396abc0b8ad69386b70760722">00065</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">ConstNeighborhoodIterator</a>               <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">Self</a>;
<a name="l00066"></a>00066   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1Neighborhood.html" title="A light-weight container object for storing an N-dimensional neighborhood of values...">Neighborhood</a>&lt;InternalPixelType *, 
<a name="l00067"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#ce091b90950df1b631dbd2e3ed83f3ec">00067</a>             <a class="code" href="itkMacro_8h.html#94ef2dc11d52c8ef0a78e34558feb8cb">itkGetStaticConstMacro</a>(Dimension)&gt;    <a class="code" href="classitk_1_1Neighborhood.html" title="A light-weight container object for storing an N-dimensional neighborhood of values...">Superclass</a>;
<a name="l00068"></a>00068 
<a name="l00070"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#a225903e3f863505fe863a586d59c02f">00070</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Offset.html">Superclass::OffsetType</a>      <a class="code" href="classitk_1_1Offset.html">OffsetType</a>;
<a name="l00071"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#0f61efbd24120b53fb0807543bf76478">00071</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> OffsetType::OffsetValueType OffsetValueType;
<a name="l00072"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#e6f10f04f901b0f7027759c65d7a9103">00072</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Size.html" title="Represent the size (bounds) of a n-dimensional image.">Superclass::RadiusType</a>      <a class="code" href="classitk_1_1Size.html" title="Represent the size (bounds) of a n-dimensional image.">RadiusType</a>;  
<a name="l00073"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#3b51476211bd9e7a3c47935689d05a72">00073</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Size.html" title="Represent the size (bounds) of a n-dimensional image.">Superclass::SizeType</a>        <a class="code" href="classitk_1_1Size.html" title="Represent the size (bounds) of a n-dimensional image.">SizeType</a>;
<a name="l00074"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#5f310556fd936811a745fd8f554423bc">00074</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> Superclass::SizeValueType   SizeValueType;
<a name="l00075"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#ccbbd85354c4ddebb7d0ba331adadf30">00075</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> Superclass::Iterator        Iterator;
<a name="l00076"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#500614983011672228a42951180daba4">00076</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> Superclass::ConstIterator   ConstIterator;
<a name="l00077"></a>00077 
<a name="l00079"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#5e1ddee6169fe2549b6696cd80c7bf6a">00079</a>   <span class="keyword">typedef</span> TImage                                   ImageType;
<a name="l00080"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#4b94fbe46b2095f856230edb87c00e6c">00080</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ed8c4a40607d317c666eb96ea265e126">TImage::RegionType</a>              <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ed8c4a40607d317c666eb96ea265e126">RegionType</a>;
<a name="l00081"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#6c7a8cec352563e17b80ca99b93cc592">00081</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1Index.html">Index&lt;itkGetStaticConstMacro(Dimension)&gt;</a> <a class="code" href="classitk_1_1Index.html">IndexType</a>;
<a name="l00082"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#bb175fa86a355db314e9461b463b96e9">00082</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> IndexType::IndexValueType       IndexValueType;
<a name="l00083"></a>00083   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1Neighborhood.html" title="A light-weight container object for storing an N-dimensional neighborhood of values...">Neighborhood&lt;PixelType, itkGetStaticConstMacro(Dimension)&gt;</a> 
<a name="l00084"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#473d7354f10bce788c643dd00090de60">00084</a>                                                    <a class="code" href="classitk_1_1Neighborhood.html" title="A light-weight container object for storing an N-dimensional neighborhood of values...">NeighborhoodType</a>;
<a name="l00086"></a>00086 
<a name="l00090"></a>00090   <span class="keyword">typedef</span> <span class="keyword">typename</span> ImageType::NeighborhoodAccessorFunctorType 
<a name="l00091"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#cd2d3344f589128caa11fab29e739796">00091</a>                                               NeighborhoodAccessorFunctorType;
<a name="l00092"></a>00092 
<a name="l00094"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#4be6b84cf44e588115f01edc654f3d28">00094</a>   <span class="keyword">typedef</span> TBoundaryCondition BoundaryConditionType;
<a name="l00095"></a>00095 
<a name="l00097"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#d7600beecc7e9a0e661742672a7f1738">00097</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1ImageBoundaryCondition.html">ImageBoundaryCondition&lt;ImageType&gt;</a> *<a class="code" href="classitk_1_1ImageBoundaryCondition.html">ImageBoundaryConditionPointerType</a>;
<a name="l00098"></a>00098   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1ImageBoundaryCondition.html">ImageBoundaryCondition&lt;ImageType&gt;</a> <span class="keyword">const</span> *
<a name="l00099"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#d499c180bb5e5810607cc2a6f7e90fd6">00099</a>                                         <a class="code" href="classitk_1_1ImageBoundaryCondition.html" title="A virtual base object that defines an interface to a class of boundary condition...">ImageBoundaryConditionConstPointerType</a>;
<a name="l00100"></a>00100 
<a name="l00102"></a>00102   <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">ConstNeighborhoodIterator</a>();
<a name="l00103"></a>00103 
<a name="l00105"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#e7f7e159022b54425d38967200b0ba78">00105</a>   <span class="keyword">virtual</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#e7f7e159022b54425d38967200b0ba78">~ConstNeighborhoodIterator</a>() {}
<a name="l00106"></a>00106 
<a name="l00108"></a>00108   <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">ConstNeighborhoodIterator</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">ConstNeighborhoodIterator</a> &amp; );
<a name="l00109"></a>00109 
<a name="l00112"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#cb864f37a72f08ba4f3fb8bcb86a451f">00112</a>   <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">ConstNeighborhoodIterator</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1Size.html" title="Represent the size (bounds) of a n-dimensional image.">SizeType</a> &amp;radius,
<a name="l00113"></a>00113                        <span class="keyword">const</span> ImageType * ptr,
<a name="l00114"></a>00114                        <span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ed8c4a40607d317c666eb96ea265e126">RegionType</a> &amp;region)
<a name="l00115"></a>00115     {
<a name="l00116"></a>00116     this-&gt;Initialize(radius, ptr, region);
<a name="l00117"></a>00117     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i &lt; Dimension; i++)
<a name="l00118"></a>00118       { m_InBounds[i] = <span class="keyword">false</span>; }
<a name="l00119"></a>00119     this-&gt;ResetBoundaryCondition();
<a name="l00120"></a>00120     m_NeighborhoodAccessorFunctor = ptr-&gt;GetNeighborhoodAccessor();
<a name="l00121"></a>00121     m_NeighborhoodAccessorFunctor.SetBegin( ptr-&gt;GetBufferPointer() );
<a name="l00122"></a>00122     }
<a name="l00124"></a>00124 
<a name="l00126"></a>00126   <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ac7d0120fe5292cdcdddb6163b8cb150">Self</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ac7d0120fe5292cdcdddb6163b8cb150">Self</a>&amp; orig);
<a name="l00127"></a>00127 
<a name="l00129"></a>00129   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#920ae03048a5ad715d803ca2e92b52de">PrintSelf</a>(std::ostream &amp;, <a class="code" href="classitk_1_1Indent.html" title="Control indentation during Print() invocation.">Indent</a>) <span class="keyword">const</span>;
<a name="l00130"></a>00130 
<a name="l00133"></a>00133   OffsetType ComputeInternalIndex(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n) <span class="keyword">const</span>;
<a name="l00134"></a>00134 
<a name="l00136"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#c43347c0d6668b3858bf76d50859de5e">00136</a>   <a class="code" href="classitk_1_1Index.html">IndexType</a> GetBound()<span class="keyword"> const</span>
<a name="l00137"></a>00137 <span class="keyword">    </span>{    <span class="keywordflow">return</span> m_Bound;   }
<a name="l00138"></a>00138 
<a name="l00141"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#2dddbcc86e4a18ee2139cddb38d1d8af">00141</a>   <span class="keywordtype">long</span> GetBound(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n)<span class="keyword"> const</span>
<a name="l00142"></a>00142 <span class="keyword">    </span>{    <span class="keywordflow">return</span> m_Bound[n];  }
<a name="l00143"></a>00143 
<a name="l00145"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#813f9d19bde597c4be563a45a5ef538b">00145</a>   <span class="keyword">const</span> InternalPixelType *GetCenterPointer()<span class="keyword"> const</span>
<a name="l00146"></a>00146 <span class="keyword">    </span>{    <span class="keywordflow">return</span> (this-&gt;<span class="keyword">operator</span>[]((this-&gt;<a class="code" href="classitk_1_1Size.html" title="Represent the size (bounds) of a n-dimensional image.">Size</a>())&gt;&gt;1));  }
<a name="l00147"></a>00147 
<a name="l00150"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#0ea909afedda3be43a83d98b4eb6fcaf">00150</a>   PixelType GetCenterPixel()<span class="keyword"> const</span>
<a name="l00151"></a>00151 <span class="keyword">    </span>{<span class="keywordflow">return</span> m_NeighborhoodAccessorFunctor.Get( this-&gt;GetCenterPointer() );}
<a name="l00152"></a>00152 
<a name="l00154"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#2c3d058a73542cee16562ccaf813dad6">00154</a>   <span class="keyword">const</span> ImageType * GetImagePointer(<span class="keywordtype">void</span>)<span class="keyword"> const</span>
<a name="l00155"></a>00155 <span class="keyword">    </span>{ <span class="keywordflow">return</span> m_ConstImage; }
<a name="l00156"></a>00156 
<a name="l00159"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#ffdca574f1ad80d798fa9b4c93aa1612">00159</a>   <span class="keyword">virtual</span> <a class="code" href="classitk_1_1Index.html">IndexType</a> GetIndex(<span class="keywordtype">void</span>)<span class="keyword"> const</span>
<a name="l00160"></a>00160 <span class="keyword">    </span>{ <span class="keywordflow">return</span> m_Loop;  }
<a name="l00161"></a>00161 
<a name="l00164"></a>00164   <span class="keyword">virtual</span> NeighborhoodType GetNeighborhood() <span class="keyword">const</span>;
<a name="l00165"></a>00165 
<a name="l00167"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#f04763be3c465d8cdbcb8824440989a0">00167</a>   <span class="keyword">virtual</span> PixelType GetPixel(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> i)<span class="keyword"> const</span>
<a name="l00168"></a>00168 <span class="keyword">    </span>{ 
<a name="l00169"></a>00169     <span class="keywordflow">if</span>( !m_NeedToUseBoundaryCondition )
<a name="l00170"></a>00170       {
<a name="l00171"></a>00171       <span class="keywordflow">return</span> ( m_NeighborhoodAccessorFunctor.Get( this-&gt;operator[]( i ) ) );
<a name="l00172"></a>00172       }
<a name="l00173"></a>00173     <span class="keywordtype">bool</span> inbounds; 
<a name="l00174"></a>00174     <span class="keywordflow">return</span> this-&gt;GetPixel( i, inbounds ); 
<a name="l00175"></a>00175     }
<a name="l00177"></a>00177 
<a name="l00183"></a>00183   <span class="keyword">virtual</span> PixelType GetPixel(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> i, <span class="keywordtype">bool</span>&amp; IsInBounds) <span class="keyword">const</span>;
<a name="l00184"></a>00184 
<a name="l00187"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#8374392a1e750d2af457f773adfe824d">00187</a>   <span class="keyword">virtual</span> PixelType GetPixel(<span class="keyword">const</span> <a class="code" href="classitk_1_1Offset.html">OffsetType</a> &amp;o)<span class="keyword"> const</span>
<a name="l00188"></a>00188 <span class="keyword">    </span>{ 
<a name="l00189"></a>00189     <span class="keywordtype">bool</span> inbounds; 
<a name="l00190"></a>00190     <span class="keywordflow">return</span> (this-&gt;GetPixel(this-&gt;GetNeighborhoodIndex(o), inbounds)); 
<a name="l00191"></a>00191     }
<a name="l00193"></a>00193 
<a name="l00199"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#b6cd2b622619cf70843d4709c8d97a0b">00199</a>   <span class="keyword">virtual</span> PixelType GetPixel(<span class="keyword">const</span> <a class="code" href="classitk_1_1Offset.html">OffsetType</a> &amp;o,
<a name="l00200"></a>00200                              <span class="keywordtype">bool</span>&amp; IsInBounds)<span class="keyword"> const</span>
<a name="l00201"></a>00201 <span class="keyword">    </span>{<span class="keywordflow">return</span> (this-&gt;<a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#b6cd2b622619cf70843d4709c8d97a0b">GetPixel</a>(this-&gt;GetNeighborhoodIndex(o), IsInBounds)); }
<a name="l00202"></a>00202 
<a name="l00206"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#4644798ac82d2c98e26647eb5bd01701">00206</a>   <span class="keyword">virtual</span> PixelType GetNext(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> axis, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> i)<span class="keyword"> const</span>
<a name="l00207"></a>00207 <span class="keyword">    </span>{ <span class="keywordflow">return</span> (this-&gt;GetPixel(this-&gt;GetCenterNeighborhoodIndex()
<a name="l00208"></a>00208                            + (i * this-&gt;GetStride(axis)))); }
<a name="l00209"></a>00209 
<a name="l00213"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#250455acc237b2a3eacc7d13f413a6a0">00213</a>   <span class="keyword">virtual</span> PixelType GetNext(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> axis)<span class="keyword"> const</span>
<a name="l00214"></a>00214 <span class="keyword">    </span>{ <span class="keywordflow">return</span> (this-&gt;GetPixel(this-&gt;GetCenterNeighborhoodIndex()
<a name="l00215"></a>00215                            + this-&gt;GetStride(axis))); }
<a name="l00216"></a>00216 
<a name="l00220"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#248ace9111530de11d0e627499eb0c3e">00220</a>   <span class="keyword">virtual</span> PixelType GetPrevious(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> axis, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> i)<span class="keyword"> const</span>
<a name="l00221"></a>00221 <span class="keyword">    </span>{ <span class="keywordflow">return</span> (this-&gt;GetPixel(this-&gt;GetCenterNeighborhoodIndex()
<a name="l00222"></a>00222                            - (i * this-&gt;GetStride(axis)))); }
<a name="l00223"></a>00223 
<a name="l00227"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#c7c92804c9404c9d438f43e485b48d05">00227</a>   <span class="keyword">virtual</span> PixelType GetPrevious(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> axis)<span class="keyword"> const</span>
<a name="l00228"></a>00228 <span class="keyword">    </span>{ <span class="keywordflow">return</span> (this-&gt;GetPixel(this-&gt;GetCenterNeighborhoodIndex()
<a name="l00229"></a>00229                            - this-&gt;GetStride(axis))); } 
<a name="l00230"></a>00230 
<a name="l00233"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#271d8890a7f6ceadd79c3ee34d2cfceb">00233</a>   <span class="keyword">virtual</span> <a class="code" href="classitk_1_1Index.html">IndexType</a> GetIndex(<span class="keyword">const</span> <a class="code" href="classitk_1_1Offset.html">OffsetType</a> &amp;o)<span class="keyword"> const</span>
<a name="l00234"></a>00234 <span class="keyword">  </span>{ <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#271d8890a7f6ceadd79c3ee34d2cfceb">GetIndex</a>() + o); }
<a name="l00235"></a>00235 
<a name="l00238"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#ed358b5c475541bdf626cadd06398a24">00238</a>   <span class="keyword">virtual</span> <a class="code" href="classitk_1_1Index.html">IndexType</a> GetIndex(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> i)<span class="keyword"> const</span>
<a name="l00239"></a>00239 <span class="keyword">  </span>{ <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#ed358b5c475541bdf626cadd06398a24">GetIndex</a>() + this-&gt;GetOffset(i)); }
<a name="l00240"></a>00240 
<a name="l00242"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#1c0cfac5a084fc3bccfdb9a365170e17">00242</a>   <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ed8c4a40607d317c666eb96ea265e126">RegionType</a> GetRegion()<span class="keyword"> const</span>
<a name="l00243"></a>00243 <span class="keyword">    </span>{ <span class="keywordflow">return</span> m_Region; }
<a name="l00244"></a>00244 
<a name="l00247"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#e4999308491061545ecf90b2348b4224">00247</a>   <a class="code" href="classitk_1_1Index.html">IndexType</a> GetBeginIndex()<span class="keyword"> const</span>
<a name="l00248"></a>00248 <span class="keyword">    </span>{ <span class="keywordflow">return</span> m_BeginIndex; }
<a name="l00249"></a>00249 
<a name="l00252"></a>00252   <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ed8c4a40607d317c666eb96ea265e126">RegionType</a> GetBoundingBoxAsImageRegion() <span class="keyword">const</span>;
<a name="l00253"></a>00253 
<a name="l00255"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#cb5da44f584405841ef2152650c2f18a">00255</a>   <a class="code" href="classitk_1_1Offset.html">OffsetType</a> GetWrapOffset()<span class="keyword"> const</span>
<a name="l00256"></a>00256 <span class="keyword">    </span>{  <span class="keywordflow">return</span> m_WrapOffset;  }
<a name="l00257"></a>00257 
<a name="l00263"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#05561b54f5f5c637cff52add8cc242bb">00263</a>   OffsetValueType GetWrapOffset(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n)<span class="keyword"> const</span>
<a name="l00264"></a>00264 <span class="keyword">    </span>{    <span class="keywordflow">return</span> m_WrapOffset[n];   }
<a name="l00265"></a>00265 
<a name="l00269"></a>00269   <span class="keyword">virtual</span> <span class="keywordtype">void</span> GoToBegin();
<a name="l00270"></a>00270 
<a name="l00273"></a>00273   <span class="keyword">virtual</span> <span class="keywordtype">void</span> GoToEnd();
<a name="l00274"></a>00274 
<a name="l00277"></a>00277   <span class="keyword">virtual</span> <span class="keywordtype">void</span> Initialize(<span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#5bf82236e1e50e653de84c8ead448599">SizeType</a> &amp;radius, <span class="keyword">const</span> ImageType *ptr,
<a name="l00278"></a>00278                           <span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ed8c4a40607d317c666eb96ea265e126">RegionType</a> &amp;region);
<a name="l00279"></a>00279 
<a name="l00282"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#b44c77a584eba2f0a0899aae873873ea">00282</a>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> IsAtBegin()<span class="keyword"> const</span>
<a name="l00283"></a>00283 <span class="keyword">    </span>{    <span class="keywordflow">return</span> ( this-&gt;GetCenterPointer() == m_Begin );   }
<a name="l00284"></a>00284 
<a name="l00287"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#763ea8ad6a5683e4db34c5ea456ce8f2">00287</a>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> IsAtEnd()<span class="keyword"> const</span>
<a name="l00288"></a>00288 <span class="keyword">    </span>{
<a name="l00289"></a>00289     <span class="keywordflow">if</span> ( this-&gt;GetCenterPointer() &gt; m_End )
<a name="l00290"></a>00290       {
<a name="l00291"></a>00291       ExceptionObject e(__FILE__, __LINE__);
<a name="l00292"></a>00292       <a class="code" href="classitk_1_1OStringStream.html">OStringStream</a> msg;
<a name="l00293"></a>00293       msg &lt;&lt; <span class="stringliteral">"In method IsAtEnd, CenterPointer = "</span> &lt;&lt; this-&gt;GetCenterPointer()
<a name="l00294"></a>00294           &lt;&lt; <span class="stringliteral">" is greater than End = "</span> &lt;&lt; m_End
<a name="l00295"></a>00295           &lt;&lt; std::endl
<a name="l00296"></a>00296           &lt;&lt; <span class="stringliteral">"  "</span> &lt;&lt; *<span class="keyword">this</span>;
<a name="l00297"></a>00297       e.SetDescription(msg.str().c_str());
<a name="l00298"></a>00298       <span class="keywordflow">throw</span> e;
<a name="l00299"></a>00299       }
<a name="l00300"></a>00300     <span class="keywordflow">return</span> ( this-&gt;GetCenterPointer() == m_End );
<a name="l00301"></a>00301     }
<a name="l00303"></a>00303 
<a name="l00308"></a>00308   <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ac7d0120fe5292cdcdddb6163b8cb150">Self</a> &amp;operator++();
<a name="l00309"></a>00309 
<a name="l00314"></a>00314   <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ac7d0120fe5292cdcdddb6163b8cb150">Self</a> &amp;operator--();  
<a name="l00315"></a>00315 
<a name="l00319"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#ee2213b6ad059779e949d9c2197e3f51">00319</a>   <span class="keywordtype">bool</span> <a class="code" href="namespaceitk.html#e1c1b02c301187419478f5126c789a01">operator==</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">Self</a> &amp;it)<span class="keyword"> const </span>
<a name="l00320"></a>00320 <span class="keyword">    </span>{   <span class="keywordflow">return</span>  it.<a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#813f9d19bde597c4be563a45a5ef538b">GetCenterPointer</a>() == this-&gt;GetCenterPointer();   }
<a name="l00321"></a>00321 
<a name="l00325"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#0398e3981bb2513596c360519dea1035">00325</a>   <span class="keywordtype">bool</span> <a class="code" href="namespaceitk_1_1ImageToImageFilterDetail.html#7bf30438b5d3bdc0eddbecd9b17baa3b">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">Self</a> &amp;it)<span class="keyword"> const</span>
<a name="l00326"></a>00326 <span class="keyword">    </span>{    <span class="keywordflow">return</span>  it.<a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#813f9d19bde597c4be563a45a5ef538b">GetCenterPointer</a>() != this-&gt;GetCenterPointer();  }
<a name="l00327"></a>00327 
<a name="l00331"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#d1c6c658114ad4ba97cd452d617ef784">00331</a>   <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">Self</a> &amp;it)<span class="keyword"> const</span>
<a name="l00332"></a>00332 <span class="keyword">    </span>{  <span class="keywordflow">return</span>  this-&gt;GetCenterPointer() &lt; it.<a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#813f9d19bde597c4be563a45a5ef538b">GetCenterPointer</a>();  }
<a name="l00333"></a>00333 
<a name="l00337"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#5b24bd5c2f0b92c4ed12ded34d3f03e4">00337</a>   <span class="keywordtype">bool</span> operator&lt;=(<span class="keyword">const</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">Self</a> &amp;it)<span class="keyword"> const</span>
<a name="l00338"></a>00338 <span class="keyword">    </span>{    <span class="keywordflow">return</span>  this-&gt;GetCenterPointer() &lt;= it.<a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#813f9d19bde597c4be563a45a5ef538b">GetCenterPointer</a>();  }
<a name="l00339"></a>00339 
<a name="l00343"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#bbadf5ffcc70d1a78ac0d6f826bdac78">00343</a>   <span class="keywordtype">bool</span> operator&gt;(<span class="keyword">const</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">Self</a> &amp;it)<span class="keyword"> const</span>
<a name="l00344"></a>00344 <span class="keyword">    </span>{    <span class="keywordflow">return</span>  this-&gt;GetCenterPointer() &gt; it.<a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#813f9d19bde597c4be563a45a5ef538b">GetCenterPointer</a>();  }
<a name="l00345"></a>00345 
<a name="l00349"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#fef45c8bffd9545724fffad0fb4737aa">00349</a>   <span class="keywordtype">bool</span> operator&gt;=(<span class="keyword">const</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">Self</a> &amp;it)<span class="keyword"> const</span>
<a name="l00350"></a>00350 <span class="keyword">    </span>{    <span class="keywordflow">return</span>  this-&gt;GetCenterPointer() &gt;= it.<a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#813f9d19bde597c4be563a45a5ef538b">GetCenterPointer</a>();  }
<a name="l00351"></a>00351 
<a name="l00356"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#fbfa4277b78bdcbdbb3c14670a3b5244">00356</a>   <span class="keywordtype">void</span> SetLocation( <span class="keyword">const</span> <a class="code" href="classitk_1_1Index.html">IndexType</a>&amp; position )
<a name="l00357"></a>00357     {
<a name="l00358"></a>00358     this-&gt;SetLoop(position);
<a name="l00359"></a>00359     this-&gt;SetPixelPointers(position);
<a name="l00360"></a>00360     }
<a name="l00362"></a>00362 
<a name="l00363"></a>00363 
<a name="l00367"></a>00367   <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ac7d0120fe5292cdcdddb6163b8cb150">Self</a> &amp;operator+=(<span class="keyword">const</span> OffsetType &amp;);
<a name="l00368"></a>00368 
<a name="l00372"></a>00372   <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ac7d0120fe5292cdcdddb6163b8cb150">Self</a> &amp;operator-=(<span class="keyword">const</span> OffsetType &amp;);
<a name="l00373"></a>00373 
<a name="l00375"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#2cd369bbf3bd8af43a52477a7055f05a">00375</a>   <a class="code" href="classitk_1_1Offset.html">OffsetType</a> <a class="code" href="namespaceitk.html#86980caba0abbe85b61177a4c1bf5869">operator-</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html" title="Const version of NeighborhoodIterator, defining iteration of a local N-dimensional...">Self</a>&amp; b)
<a name="l00376"></a>00376     {  <span class="keywordflow">return</span> m_Loop - b.<a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#57dec155c6b65bf6400253c260edf237">m_Loop</a>;  }
<a name="l00377"></a>00377 
<a name="l00381"></a>00381   <span class="keywordtype">bool</span> InBounds() <span class="keyword">const</span>;
<a name="l00382"></a>00382 
<a name="l00388"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#69ecde48dd9fc3d52f5569dd1d7fd048">00388</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> OverrideBoundaryCondition(<span class="keyword">const</span> 
<a name="l00389"></a>00389                                          <a class="code" href="classitk_1_1ImageBoundaryCondition.html">ImageBoundaryConditionPointerType</a> i)
<a name="l00390"></a>00390     { m_BoundaryCondition = i; }
<a name="l00391"></a>00391 
<a name="l00394"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#52e92b334466b6b3cf8f51fa0ad559ef">00394</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> ResetBoundaryCondition()
<a name="l00395"></a>00395     { m_BoundaryCondition = &amp;m_InternalBoundaryCondition;  }
<a name="l00396"></a>00396 
<a name="l00398"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#4ffa7d2436fa01192dba295a31c5d8de">00398</a>   <span class="keywordtype">void</span> SetBoundaryCondition( <span class="keyword">const</span> TBoundaryCondition &amp;c )
<a name="l00399"></a>00399   { m_InternalBoundaryCondition = c; }
<a name="l00400"></a>00400 
<a name="l00402"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#3c299b5fa08ddccd970adeafaae82d6f">00402</a>   <span class="keyword">const</span> BoundaryConditionType *GetBoundaryCondition()<span class="keyword"> const</span>
<a name="l00403"></a>00403 <span class="keyword">  </span>{ <span class="keywordflow">return</span> <span class="keyword">dynamic_cast&lt;</span>BoundaryConditionType *<span class="keyword">&gt;</span>(m_BoundaryCondition); }
<a name="l00404"></a>00404 
<a name="l00406"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#4c912f8cf82aef500b32d677fb1ef369">00406</a>   <span class="keywordtype">void</span> NeedToUseBoundaryConditionOn()
<a name="l00407"></a>00407     {
<a name="l00408"></a>00408     this-&gt;SetNeedToUseBoundaryCondition(<span class="keyword">true</span>);
<a name="l00409"></a>00409     }
<a name="l00410"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#438cb0146b802b04a771a2461952cff8">00410</a>   <span class="keywordtype">void</span> NeedToUseBoundaryConditionOff()
<a name="l00411"></a>00411     {
<a name="l00412"></a>00412     this-&gt;SetNeedToUseBoundaryCondition(<span class="keyword">false</span>);
<a name="l00413"></a>00413     }
<a name="l00414"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#4ad31c4f81a1f71f83ad22c8f2dae27c">00414</a>   <span class="keywordtype">void</span> SetNeedToUseBoundaryCondition(<span class="keywordtype">bool</span> b)
<a name="l00415"></a>00415     {
<a name="l00416"></a>00416     m_NeedToUseBoundaryCondition = b;
<a name="l00417"></a>00417     }
<a name="l00418"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#ca3545a3111e33a846fef188b34de3fb">00418</a>   <span class="keywordtype">bool</span> GetNeedToUseBoundaryCondition()<span class="keyword"> const</span>
<a name="l00419"></a>00419 <span class="keyword">    </span>{
<a name="l00420"></a>00420     <span class="keywordflow">return</span> m_NeedToUseBoundaryCondition;
<a name="l00421"></a>00421     }
<a name="l00423"></a>00423 
<a name="l00424"></a>00424 <span class="keyword">protected</span>:
<a name="l00425"></a>00425   
<a name="l00428"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#07a4ea30304a415abaf8f26008bc3005">00428</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetLoop( <span class="keyword">const</span> <a class="code" href="classitk_1_1Index.html">IndexType</a>&amp; p )
<a name="l00429"></a>00429     {  m_Loop = p; m_IsInBoundsValid = <span class="keyword">false</span>;}
<a name="l00430"></a>00430 
<a name="l00434"></a>00434   <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetBound(<span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#5bf82236e1e50e653de84c8ead448599">SizeType</a> &amp;);
<a name="l00435"></a>00435 
<a name="l00440"></a>00440   <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetPixelPointers(<span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#be32dc19e71d40322ad9828b9ab40853">IndexType</a> &amp;);
<a name="l00441"></a>00441 
<a name="l00444"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#b8fab0a605b185a7ed5552e495c354a6">00444</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetBeginIndex( <span class="keyword">const</span> <a class="code" href="classitk_1_1Index.html">IndexType</a>&amp; start)
<a name="l00445"></a>00445     {  m_BeginIndex = start;  }
<a name="l00446"></a>00446 
<a name="l00449"></a>00449   <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetEndIndex();
<a name="l00450"></a>00450 
<a name="l00453"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#aa45bb9d78d2b7c5ea9e2498be70e0b9">00453</a>   <a class="code" href="classitk_1_1Index.html">IndexType</a> m_BeginIndex;
<a name="l00454"></a>00454 
<a name="l00456"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#0d50d481c1ba292388ea2a3ca22070de">00456</a>   <a class="code" href="classitk_1_1Index.html">IndexType</a> m_Bound;
<a name="l00457"></a>00457 
<a name="l00459"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#d2b561fadd8c9ecf247aef51e38fc05b">00459</a>   <span class="keyword">const</span> InternalPixelType *m_Begin;
<a name="l00460"></a>00460 
<a name="l00462"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#e06823fc20a02cb69173229198b49f85">00462</a>   <span class="keyword">typename</span> ImageType::ConstWeakPointer m_ConstImage;
<a name="l00463"></a>00463 
<a name="l00465"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#afdd020c08e4b7ececb96de3e062a8b5">00465</a>   <span class="keyword">const</span> InternalPixelType *m_End;
<a name="l00466"></a>00466 
<a name="l00469"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#7c1772cf4402dbc494df3958d5c43150">00469</a>   <a class="code" href="classitk_1_1Index.html">IndexType</a> m_EndIndex;
<a name="l00470"></a>00470 
<a name="l00472"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#57dec155c6b65bf6400253c260edf237">00472</a>   <a class="code" href="classitk_1_1Index.html">IndexType</a> m_Loop;
<a name="l00473"></a>00473 
<a name="l00475"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#b7cc0b678bbb29420ded9730e6b3d612">00475</a>   <a class="code" href="namespaceHardConnectedComponentImageFilter.html#ed8c4a40607d317c666eb96ea265e126">RegionType</a> m_Region;
<a name="l00476"></a>00476 
<a name="l00482"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#1bb8837056d746fa9bce4078edd5ff09">00482</a>   <a class="code" href="classitk_1_1Offset.html">OffsetType</a> m_WrapOffset;
<a name="l00483"></a>00483 
<a name="l00488"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#320897c5aa28b1e90fffda02bb400e69">00488</a>   <a class="code" href="classitk_1_1ImageBoundaryCondition.html">ImageBoundaryConditionPointerType</a> m_BoundaryCondition;
<a name="l00489"></a>00489 
<a name="l00492"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#ebbc266ffec0ce343855ca5935166f40">00492</a>   <span class="keyword">mutable</span> <span class="keywordtype">bool</span> m_InBounds[Dimension];
<a name="l00493"></a>00493 
<a name="l00495"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#9a0eb9d630ab726ad903e32a987605e7">00495</a>   <span class="keyword">mutable</span> <span class="keywordtype">bool</span> m_IsInBounds;
<a name="l00496"></a>00496 
<a name="l00500"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#b55b4e5a01c1755b65566902cfb58fa6">00500</a>   <span class="keyword">mutable</span> <span class="keywordtype">bool</span> m_IsInBoundsValid;
<a name="l00501"></a>00501 
<a name="l00503"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#0abb0f1b2749f26e15a73ab1f5f43153">00503</a>   <a class="code" href="classitk_1_1Index.html">IndexType</a> m_InnerBoundsLow;
<a name="l00504"></a>00504 
<a name="l00506"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#45ea9b17fd77521beadcbcc16279d64f">00506</a>   <a class="code" href="classitk_1_1Index.html">IndexType</a> m_InnerBoundsHigh;
<a name="l00507"></a>00507 
<a name="l00509"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#244ec69b83c57f2f52e88c0d84a02a90">00509</a>   TBoundaryCondition m_InternalBoundaryCondition;
<a name="l00510"></a>00510 
<a name="l00512"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#e6dcc6ab4186f0233f40474ab2bcdd4d">00512</a>   <span class="keywordtype">bool</span> m_NeedToUseBoundaryCondition;
<a name="l00513"></a>00513 
<a name="l00515"></a><a class="code" href="classitk_1_1ConstNeighborhoodIterator.html#134ada39d31a2386fb86744bc9377d12">00515</a>   NeighborhoodAccessorFunctorType m_NeighborhoodAccessorFunctor;
<a name="l00516"></a>00516 
<a name="l00517"></a>00517 };
<a name="l00518"></a>00518 
<a name="l00519"></a>00519 <span class="keyword">template</span>&lt;<span class="keyword">class</span> TImage&gt;
<a name="l00520"></a>00520 <span class="keyword">inline</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html">ConstNeighborhoodIterator&lt;TImage&gt;</a>
<a name="l00521"></a><a class="code" href="namespaceitk.html#f9ab0997c93bed50c850f0874931f1a1">00521</a> <a class="code" href="namespaceitk.html#f9ab0997c93bed50c850f0874931f1a1">operator+</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html">ConstNeighborhoodIterator&lt;TImage&gt;</a> &amp;it,
<a name="l00522"></a>00522           <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html">ConstNeighborhoodIterator&lt;TImage&gt;</a>
<a name="l00523"></a>00523           ::OffsetType &amp;ind)
<a name="l00524"></a>00524 {
<a name="l00525"></a>00525   <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html">ConstNeighborhoodIterator&lt;TImage&gt;</a> ret;
<a name="l00526"></a>00526   ret = it;
<a name="l00527"></a>00527   ret += ind;
<a name="l00528"></a>00528   <span class="keywordflow">return</span> ret;
<a name="l00529"></a>00529 }
<a name="l00530"></a>00530 
<a name="l00531"></a>00531 <span class="keyword">template</span>&lt;<span class="keyword">class</span> TImage&gt;
<a name="l00532"></a>00532 <span class="keyword">inline</span> ConstNeighborhoodIterator&lt;TImage&gt;
<a name="l00533"></a><a class="code" href="namespaceitk.html#5220829800569b323b8a735525f92cbf">00533</a> <a class="code" href="namespaceitk.html#f9ab0997c93bed50c850f0874931f1a1">operator+</a>(<span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html">ConstNeighborhoodIterator&lt;TImage&gt;</a>
<a name="l00534"></a>00534           ::OffsetType &amp;ind,
<a name="l00535"></a>00535           <span class="keyword">const</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html">ConstNeighborhoodIterator&lt;TImage&gt;</a> &amp;it)
<a name="l00536"></a>00536 {  <span class="keywordflow">return</span> (it + ind); }
<a name="l00537"></a>00537 
<a name="l00538"></a>00538 <span class="keyword">template</span>&lt;<span class="keyword">class</span> TImage&gt;
<a name="l00539"></a>00539 <span class="keyword">inline</span> ConstNeighborhoodIterator&lt;TImage&gt;
<a name="l00540"></a><a class="code" href="namespaceitk.html#86980caba0abbe85b61177a4c1bf5869">00540</a> <a class="code" href="namespaceitk.html#86980caba0abbe85b61177a4c1bf5869">operator-</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html">ConstNeighborhoodIterator&lt;TImage&gt;</a> &amp;it,
<a name="l00541"></a>00541           <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html">ConstNeighborhoodIterator&lt;TImage&gt;</a>
<a name="l00542"></a>00542           ::OffsetType &amp;ind)
<a name="l00543"></a>00543 {
<a name="l00544"></a>00544   <a class="code" href="classitk_1_1ConstNeighborhoodIterator.html">ConstNeighborhoodIterator&lt;TImage&gt;</a> ret;
<a name="l00545"></a>00545   ret = it;
<a name="l00546"></a>00546   ret -= ind;
<a name="l00547"></a>00547   <span class="keywordflow">return</span> ret;
<a name="l00548"></a>00548 }
<a name="l00549"></a>00549 
<a name="l00550"></a>00550 } <span class="comment">// namespace itk</span>
<a name="l00551"></a>00551 
<a name="l00552"></a>00552 <span class="comment">// Define instantiation macro for this template.</span>
<a name="l00553"></a><a class="code" href="itkConstNeighborhoodIterator_8h.html#a5f2f42995de6c664c8d6dff14df57b9">00553</a> <span class="preprocessor">#define ITK_TEMPLATE_ConstNeighborhoodIterator(_, EXPORT, x, y) namespace itk { \</span>
<a name="l00554"></a>00554 <span class="preprocessor">  _(2(class EXPORT ConstNeighborhoodIterator&lt; ITK_TEMPLATE_2 x &gt;)) \</span>
<a name="l00555"></a>00555 <span class="preprocessor">  namespace Templates { typedef ConstNeighborhoodIterator&lt; ITK_TEMPLATE_2 x &gt; \</span>
<a name="l00556"></a>00556 <span class="preprocessor">                        ConstNeighborhoodIterator##y; } \</span>
<a name="l00557"></a>00557 <span class="preprocessor">  }</span>
<a name="l00558"></a>00558 <span class="preprocessor"></span>
<a name="l00559"></a>00559 <span class="preprocessor">#if ITK_TEMPLATE_EXPLICIT</span>
<a name="l00560"></a>00560 <span class="preprocessor"></span><span class="preprocessor"># include "Templates/itkConstNeighborhoodIterator+-.h"</span>
<a name="l00561"></a>00561 <span class="preprocessor">#endif</span>
<a name="l00562"></a>00562 <span class="preprocessor"></span>
<a name="l00563"></a>00563 <span class="preprocessor">#if ITK_TEMPLATE_TXX</span>
<a name="l00564"></a>00564 <span class="preprocessor"></span><span class="preprocessor"># include "itkConstNeighborhoodIterator.txx"</span>
<a name="l00565"></a>00565 <span class="preprocessor">#endif</span>
<a name="l00566"></a>00566 <span class="preprocessor"></span>
<a name="l00567"></a>00567 <span class="comment">/*</span>
<a name="l00568"></a>00568 <span class="comment">#ifndef ITK_MANUAL_INSTANTIATION</span>
<a name="l00569"></a>00569 <span class="comment">#include "itkConstNeighborhoodIterator.txx"</span>
<a name="l00570"></a>00570 <span class="comment">#endif</span>
<a name="l00571"></a>00571 <span class="comment">*/</span>
<a name="l00572"></a>00572 <span class="preprocessor">#endif</span>
<a name="l00573"></a>00573 <span class="preprocessor"></span>
</pre></div></div>
<hr><address><small>
Generated at Thu May 7 22:29:00 2009 for ITK  by <a href="http://www.stack.nl/~dimitri/doxygen/index.html"> <img 
src="http://www.stack.nl/~dimitri/doxygen/doxygen.png" alt="doxygen"
align="middle" border=0 width=110 height=53>
</a> 1.5.9 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2000</small></address>
</body>
</html>