Sophie

Sophie

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

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: itkHistogram.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_2c33022d19e8077162952ea9ed57656d.html">Numerics</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_e82fe55e9fab4124d6625d716e091a5f.html">Statistics</a>
  </div>
<div class="contents">
<h1>itkHistogram.h</h1><a href="itkHistogram_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: itkHistogram.h,v $</span>
<a name="l00005"></a>00005 <span class="comment">  Language:  C++</span>
<a name="l00006"></a>00006 <span class="comment">  Date:      $Date: 2005-09-30 17:24:45 $</span>
<a name="l00007"></a>00007 <span class="comment">  Version:   $Revision: 1.49 $</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 __itkHistogram_h</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __itkHistogram_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 
<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="itkIndex_8h.html">itkIndex.h</a>"</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="itkSize_8h.html">itkSize.h</a>"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="itkFixedArray_8h.html">itkFixedArray.h</a>"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="itkSample_8h.html">itkSample.h</a>"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="itkDenseFrequencyContainer_8h.html">itkDenseFrequencyContainer.h</a>"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="itkSparseFrequencyContainer_8h.html">itkSparseFrequencyContainer.h</a>"</span>
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 <span class="keyword">namespace </span>itk{
<a name="l00030"></a>00030 <span class="keyword">namespace </span>Statistics{
<a name="l00031"></a>00031 
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> THistogram&gt;
<a name="l00039"></a><a class="code" href="structitk_1_1Statistics_1_1GetHistogramDimension.html">00039</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Statistics_1_1GetHistogramDimension.html">GetHistogramDimension</a>
<a name="l00040"></a>00040 {
<a name="l00041"></a>00041   <a class="code" href="structitk_1_1Statistics_1_1GetHistogramDimension.html#44882336a8543d4d269adc9217522e77">itkStaticConstMacro</a>(HistogramDimension, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, THistogram::MeasurementVectorSize);
<a name="l00042"></a>00042 }; 
<a name="l00043"></a>00043 
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt; <span class="keyword">class </span>TMeasurement = float, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> VMeasurementVectorSize = 1,
<a name="l00081"></a>00081            <span class="keyword">class </span>TFrequencyContainer = <a class="code" href="classitk_1_1Statistics_1_1DenseFrequencyContainer.html" title="his class is a container for frequencies of bins in an histogram.">DenseFrequencyContainer</a> &gt; 
<a name="l00082"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html">00082</a> <span class="keyword">class </span><a class="code" href="itkWin32Header_8h.html#7d4384322557205d75f0719c012dded6">ITK_EXPORT</a> <a class="code" href="classitk_1_1Statistics_1_1Histogram.html" title="This class stores measurement vectors in the context of n-dimensional histogram.">Histogram</a> 
<a name="l00083"></a>00083   : <span class="keyword">public</span> <a class="code" href="classitk_1_1Statistics_1_1Sample.html" title="A collection of measurements for statistical analysis.">Sample</a> &lt; FixedArray&lt; TMeasurement, VMeasurementVectorSize &gt; &gt;
<a name="l00084"></a>00084 {
<a name="l00085"></a>00085 <span class="keyword">public</span>:
<a name="l00086"></a>00086 
<a name="l00087"></a>00087 
<a name="l00089"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#a5e9a9dfc48cede5d095b1a29f915bd6">00089</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1Statistics_1_1Histogram.html" title="This class stores measurement vectors in the context of n-dimensional histogram.">Histogram</a>  <a class="code" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes.">Self</a> ;
<a name="l00090"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#3df2ee930dcd3457efdc84127c4117f9">00090</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1Statistics_1_1Sample.html" title="A collection of measurements for statistical analysis.">Sample&lt; FixedArray&lt; TMeasurement, VMeasurementVectorSize &gt;</a> &gt; <a class="code" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes.">Superclass</a> ;
<a name="l00091"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#2a8af71e092569c7f6ca84dccf77d021">00091</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1SmartPointer.html">SmartPointer&lt;Self&gt;</a> <a class="code" href="classitk_1_1SmartPointer.html">Pointer</a> ;
<a name="l00092"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#d44d48f3539bfdbb9f95637f662cfd3e">00092</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1SmartPointer.html">SmartPointer&lt;const Self&gt;</a> <a class="code" href="classitk_1_1SmartPointer.html">ConstPointer</a> ;
<a name="l00093"></a>00093 
<a name="l00095"></a>00095   <a class="code" href="itkMacro_8h.html#574c1f86661d409dd32c742307a0e96a">itkTypeMacro</a>(<a class="code" href="classitk_1_1Statistics_1_1Histogram.html" title="This class stores measurement vectors in the context of n-dimensional histogram.">Histogram</a>, <a class="code" href="classitk_1_1Statistics_1_1Sample.html" title="A collection of measurements for statistical analysis.">Sample</a>) ;
<a name="l00096"></a>00096 
<a name="l00098"></a>00098   <a class="code" href="itkMacro_8h.html#0fdc15685afa271857c57e7cd482f30c">itkNewMacro</a>(<a class="code" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes.">Self</a>) ;
<a name="l00099"></a>00099 
<a name="l00101"></a>00101   <a class="code" href="itkMacro_8h.html#1905cf6b2e88235996fa7ff73b2fb0eb">itkStaticConstMacro</a>(MeasurementVectorSize, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>,
<a name="l00102"></a>00102                       VMeasurementVectorSize);
<a name="l00103"></a>00103 
<a name="l00104"></a>00104   
<a name="l00106"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#3fc5cc2f28b180e6c138dae3fbe9f379">00106</a>   <span class="keyword">typedef</span> TMeasurement MeasurementType ;
<a name="l00107"></a>00107 
<a name="l00109"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#0434244f7762363e2e7afa3c42c842fc">00109</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> Superclass::MeasurementVectorType MeasurementVectorType ;
<a name="l00110"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#fa9294fc234d5e559c2ffe160eb90fd4">00110</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> Superclass::InstanceIdentifier InstanceIdentifier ;
<a name="l00111"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#59c20521f1bf17244bbd94bf116b9cb6">00111</a>   <span class="keyword">typedef</span> MeasurementVectorType ValueType ;
<a name="l00112"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#8386d2cadb032c81eb0ed95018f4bfaf">00112</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> Superclass::MeasurementVectorSizeType MeasurementVectorSizeType;
<a name="l00113"></a>00113 
<a name="l00115"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#cc62766c1575368e0d0be0cdfcb0458b">00115</a>   <span class="keyword">typedef</span> TFrequencyContainer FrequencyContainerType ;
<a name="l00116"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#800dd5a2d5e231fb7216e98113db5ca9">00116</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="itkFEMMacro_8h.html#539cce1a3282ba59952dedcbf9cdb23f">FrequencyContainerType::Pointer</a> FrequencyContainerPointer ;
<a name="l00117"></a>00117 
<a name="l00119"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#1134db5db023a934d45aaa4a5b605e76">00119</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> FrequencyContainerType::FrequencyType FrequencyType ;
<a name="l00120"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#e77fff38b2cf291d8494cdc663f79ef1">00120</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> FrequencyContainerType::TotalFrequencyType TotalFrequencyType ;
<a name="l00121"></a>00121 
<a name="l00123"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#d110395095b051b3d409753db1d8315d">00123</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1Index.html">itk::Index&lt; VMeasurementVectorSize &gt;</a>  <a class="code" href="classitk_1_1Index.html">IndexType</a>;
<a name="l00124"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#b49b77415b807a982e504eb9a314ed7d">00124</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> IndexType::IndexValueType  IndexValueType;
<a name="l00125"></a>00125 
<a name="l00127"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#bce24e7e6c3a4d5b45f1b897b9d94228">00127</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1Size.html">itk::Size&lt; VMeasurementVectorSize &gt;</a> <a class="code" href="classitk_1_1Size.html">SizeType</a> ;
<a name="l00128"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#2bc5b93c14089d2fa766c27ef741b57b">00128</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> SizeType::SizeValueType SizeValueType ;
<a name="l00129"></a>00129 
<a name="l00131"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#9a5bf0116cea74a95f09d7037a1bfab2">00131</a>   <span class="keyword">typedef</span> std::vector&lt; MeasurementType &gt; BinMinVectorType ;
<a name="l00132"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#c1b720d4606d96d031827120850f75e5">00132</a>   <span class="keyword">typedef</span> std::vector&lt; MeasurementType &gt; BinMaxVectorType ;
<a name="l00133"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#31a2220be182963e8c5f24dc1e7781e7">00133</a>   <span class="keyword">typedef</span> std::vector&lt; BinMinVectorType &gt; BinMinContainerType ;
<a name="l00134"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#3f5a2bfeef58e4c85601936ded0dfb8e">00134</a>   <span class="keyword">typedef</span> std::vector&lt; BinMaxVectorType &gt; BinMaxContainerType ;
<a name="l00135"></a>00135 
<a name="l00139"></a>00139   <span class="keywordtype">void</span> Initialize(<span class="keyword">const</span> <a class="code" href="classitk_1_1Size.html">SizeType</a> &amp;size) ;
<a name="l00140"></a>00140 
<a name="l00141"></a>00141 
<a name="l00145"></a>00145   <span class="keywordtype">void</span> Initialize(<span class="keyword">const</span> <a class="code" href="classitk_1_1Size.html">SizeType</a> &amp;size, MeasurementVectorType&amp; lowerBound,
<a name="l00146"></a>00146                   MeasurementVectorType&amp; upperBound) ;
<a name="l00147"></a>00147 
<a name="l00149"></a>00149   <span class="keywordtype">void</span> SetToZero() ;
<a name="l00150"></a>00150 
<a name="l00154"></a>00154   <span class="keyword">const</span> <a class="code" href="classitk_1_1Index.html">IndexType</a> &amp; GetIndex(<span class="keyword">const</span> MeasurementVectorType&amp; measurement) <span class="keyword">const</span>;
<a name="l00155"></a>00155 
<a name="l00159"></a>00159   <span class="keywordtype">bool</span> GetIndex(<span class="keyword">const</span> MeasurementVectorType &amp; measurement,
<a name="l00160"></a>00160                 <a class="code" href="classitk_1_1Index.html">IndexType</a> &amp; index ) <span class="keyword">const</span>;
<a name="l00161"></a>00161 
<a name="l00165"></a>00165   <span class="keyword">const</span> <a class="code" href="classitk_1_1Index.html">IndexType</a> &amp; GetIndex(<span class="keyword">const</span> InstanceIdentifier &amp;<span class="keywordtype">id</span>) <span class="keyword">const</span>;
<a name="l00166"></a>00166 
<a name="l00169"></a>00169   <a class="code" href="itkMacro_8h.html#1600305bb01e39e87c472d8bf29bd1cf">itkGetMacro</a>(ClipBinsAtEnds, <span class="keywordtype">bool</span>);
<a name="l00170"></a>00170 
<a name="l00173"></a>00173   <a class="code" href="itkMacro_8h.html#7ebdd33cc5e7d74720ced9099c034faa">itkSetMacro</a>(ClipBinsAtEnds, <span class="keywordtype">bool</span>);
<a name="l00174"></a>00174 
<a name="l00177"></a>00177   <span class="keywordtype">bool</span> IsIndexOutOfBounds(<span class="keyword">const</span> <a class="code" href="classitk_1_1Index.html">IndexType</a> &amp;index) <span class="keyword">const</span>;
<a name="l00178"></a>00178 
<a name="l00182"></a>00182   InstanceIdentifier GetInstanceIdentifier(<span class="keyword">const</span> <a class="code" href="classitk_1_1Index.html">IndexType</a> &amp;index) <span class="keyword">const</span> ;
<a name="l00183"></a>00183 
<a name="l00185"></a>00185   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classitk_1_1Size.html" title="Represent the size (bounds) of a n-dimensional image.">Size</a>() <span class="keyword">const</span> ;
<a name="l00186"></a>00186 
<a name="l00188"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#f48deb888eca288eb8436f2eb984339f">00188</a>   <a class="code" href="classitk_1_1Size.html">SizeType</a> GetSize()<span class="keyword"> const</span>
<a name="l00189"></a>00189 <span class="keyword">  </span>{ <span class="keywordflow">return</span> m_Size ; }
<a name="l00190"></a>00190 
<a name="l00192"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#88e0f6870db5c63f9549d0f10c5c506a">00192</a>   SizeValueType GetSize(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension)<span class="keyword"> const</span>
<a name="l00193"></a>00193 <span class="keyword">  </span>{
<a name="l00194"></a>00194     <span class="keywordflow">return</span> m_Size[dimension] ; 
<a name="l00195"></a>00195   }
<a name="l00196"></a>00196 
<a name="l00198"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#9d85827f39f2be3145701cbdf1ac3a2e">00198</a>   <span class="keyword">const</span> MeasurementType&amp; GetBinMin(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension, 
<a name="l00199"></a>00199                              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nbin)<span class="keyword"> const</span>
<a name="l00200"></a>00200 <span class="keyword">  </span>{ <span class="keywordflow">return</span> m_Min[dimension][nbin] ; }
<a name="l00201"></a>00201 
<a name="l00203"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#5cfde244e466e825e800484c97ceaa86">00203</a>   <span class="keyword">const</span> MeasurementType&amp; GetBinMax(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension,
<a name="l00204"></a>00204                              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nbin)<span class="keyword"> const</span>
<a name="l00205"></a>00205 <span class="keyword">  </span>{ <span class="keywordflow">return</span> m_Max[dimension][nbin] ; }
<a name="l00206"></a>00206 
<a name="l00208"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#0db0d34065a4e90f8acb2940a666fff2">00208</a>   <span class="keywordtype">void</span> SetBinMin(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nbin,
<a name="l00209"></a>00209                  <span class="keyword">const</span> MeasurementType min)
<a name="l00210"></a>00210   { m_Min[dimension][nbin] = min ; }
<a name="l00211"></a>00211 
<a name="l00213"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#90b207510498cdfe2fcde3df56b23a9d">00213</a>   <span class="keywordtype">void</span> SetBinMax(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension, 
<a name="l00214"></a>00214                  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nbin, <span class="keyword">const</span> MeasurementType max)
<a name="l00215"></a>00215   { m_Max[dimension][nbin] = max ; }
<a name="l00216"></a>00216 
<a name="l00219"></a>00219   <span class="keyword">const</span> MeasurementType&amp; GetBinMinFromValue(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension, 
<a name="l00220"></a>00220                                       <span class="keyword">const</span> <span class="keywordtype">float</span> value ) <span class="keyword">const</span>  ;
<a name="l00221"></a>00221 
<a name="l00224"></a>00224   <span class="keyword">const</span> MeasurementType&amp; GetBinMaxFromValue(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension, 
<a name="l00225"></a>00225                                       <span class="keyword">const</span> <span class="keywordtype">float</span> value ) <span class="keyword">const</span> ;
<a name="l00226"></a>00226 
<a name="l00228"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#e37b08b597886dc166836ca1ed9f0722">00228</a>   <span class="keyword">const</span> BinMinVectorType&amp; GetDimensionMins(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension)<span class="keyword"> const</span>
<a name="l00229"></a>00229 <span class="keyword">  </span>{ <span class="keywordflow">return</span> m_Min[dimension] ; }
<a name="l00230"></a>00230 
<a name="l00232"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#6a24bcad747dd5c37e6a1ae62c96c54b">00232</a>   <span class="keyword">const</span> BinMaxVectorType&amp; GetDimensionMaxs(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension)<span class="keyword"> const</span>
<a name="l00233"></a>00233 <span class="keyword">  </span>{  <span class="keywordflow">return</span> m_Max[dimension] ; }
<a name="l00234"></a>00234 
<a name="l00236"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#3bb66095e65e86fb930ec3e177c56943">00236</a>   <span class="keyword">const</span> BinMinContainerType&amp; GetMins()<span class="keyword"> const</span>
<a name="l00237"></a>00237 <span class="keyword">  </span>{ <span class="keywordflow">return</span> m_Min ; }
<a name="l00238"></a>00238 
<a name="l00240"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#5a6e3dc48be5c481fe554633636a828d">00240</a>   <span class="keyword">const</span> BinMaxContainerType&amp; GetMaxs()<span class="keyword"> const</span>
<a name="l00241"></a>00241 <span class="keyword">  </span>{ <span class="keywordflow">return</span> m_Max ; }
<a name="l00242"></a>00242 
<a name="l00244"></a>00244 <span class="comment">//  MeasurementVectorType&amp; GetHistogramMinFromValue(const MeasurementVectorType </span>
<a name="l00245"></a>00245 <span class="comment">//                                                  &amp;measurement)  ; </span>
<a name="l00246"></a>00246 <span class="comment">//  </span>
<a name="l00247"></a>00247 
<a name="l00249"></a>00249 <span class="comment">//  MeasurementVectorType&amp; GetHistogramMaxFromValue(const MeasurementVectorType </span>
<a name="l00250"></a>00250 <span class="comment">//                                                  &amp;measurement) ; </span>
<a name="l00251"></a>00251 
<a name="l00253"></a>00253   MeasurementVectorType&amp; GetHistogramMinFromIndex(<span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#be32dc19e71d40322ad9828b9ab40853">IndexType</a> &amp;index) ;
<a name="l00254"></a>00254 
<a name="l00256"></a>00256   MeasurementVectorType&amp; GetHistogramMaxFromIndex(<span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#be32dc19e71d40322ad9828b9ab40853">IndexType</a> &amp;index) ; 
<a name="l00257"></a>00257 
<a name="l00259"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#9fdab30e11b640e1a4009fdfa2f91ddf">00259</a>   FrequencyType GetFrequency(<span class="keyword">const</span> InstanceIdentifier &amp;<span class="keywordtype">id</span>)<span class="keyword"> const</span>
<a name="l00260"></a>00260 <span class="keyword">  </span>{ <span class="keywordflow">return</span> m_FrequencyContainer-&gt;GetFrequency(<span class="keywordtype">id</span>) ; }
<a name="l00261"></a>00261 
<a name="l00263"></a>00263   FrequencyType GetFrequency(<span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#be32dc19e71d40322ad9828b9ab40853">IndexType</a> &amp;index) <span class="keyword">const</span> ;
<a name="l00264"></a>00264 
<a name="l00266"></a>00266   <span class="keywordtype">void</span> SetFrequency(<span class="keyword">const</span> FrequencyType value) ;
<a name="l00267"></a>00267 
<a name="l00270"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#c06ebffb362b7bd4a9698c1267c3fe40">00270</a>   <span class="keywordtype">bool</span> SetFrequency(<span class="keyword">const</span> InstanceIdentifier &amp;<span class="keywordtype">id</span>, <span class="keyword">const</span> FrequencyType value) 
<a name="l00271"></a>00271   { <span class="keywordflow">return</span> m_FrequencyContainer-&gt;SetFrequency(<span class="keywordtype">id</span>, value) ; }
<a name="l00272"></a>00272 
<a name="l00275"></a>00275   <span class="keywordtype">bool</span> SetFrequency(<span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#be32dc19e71d40322ad9828b9ab40853">IndexType</a> &amp;index, 
<a name="l00276"></a>00276                     <span class="keyword">const</span> FrequencyType value) ;
<a name="l00277"></a>00277 
<a name="l00280"></a>00280   <span class="keywordtype">bool</span> SetFrequency(<span class="keyword">const</span> MeasurementVectorType &amp;measurement, 
<a name="l00281"></a>00281                     <span class="keyword">const</span> FrequencyType value) ;
<a name="l00282"></a>00282 
<a name="l00283"></a>00283 
<a name="l00287"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#aa3acd15da26c35aad4c0328b46071e0">00287</a>   <span class="keywordtype">bool</span> IncreaseFrequency(<span class="keyword">const</span> InstanceIdentifier &amp;<span class="keywordtype">id</span>,
<a name="l00288"></a>00288                          <span class="keyword">const</span> FrequencyType value) 
<a name="l00289"></a>00289   { <span class="keywordflow">return</span> m_FrequencyContainer-&gt;IncreaseFrequency(<span class="keywordtype">id</span>, value) ; }
<a name="l00290"></a>00290 
<a name="l00294"></a>00294   <span class="keywordtype">bool</span> IncreaseFrequency(<span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#be32dc19e71d40322ad9828b9ab40853">IndexType</a> &amp;index, 
<a name="l00295"></a>00295                          <span class="keyword">const</span> FrequencyType value) ;
<a name="l00296"></a>00296 
<a name="l00300"></a>00300   <span class="keywordtype">bool</span> IncreaseFrequency(<span class="keyword">const</span> MeasurementVectorType &amp;measurement, 
<a name="l00301"></a>00301                          <span class="keyword">const</span> FrequencyType value) ;
<a name="l00302"></a>00302 
<a name="l00306"></a>00306   <span class="keyword">const</span> MeasurementVectorType &amp; GetMeasurementVector(<span class="keyword">const</span> InstanceIdentifier &amp;<span class="keywordtype">id</span>) <span class="keyword">const</span>;
<a name="l00307"></a>00307 
<a name="l00309"></a>00309   <span class="keyword">const</span> MeasurementVectorType &amp; GetMeasurementVector(<span class="keyword">const</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#be32dc19e71d40322ad9828b9ab40853">IndexType</a> &amp;index) <span class="keyword">const</span>;
<a name="l00310"></a>00310 
<a name="l00313"></a>00313   MeasurementType GetMeasurement(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> n,
<a name="l00314"></a>00314                                   <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension) <span class="keyword">const</span> ;
<a name="l00315"></a>00315 
<a name="l00317"></a>00317   TotalFrequencyType GetTotalFrequency() <span class="keyword">const</span> ;
<a name="l00318"></a>00318 
<a name="l00320"></a>00320   FrequencyType GetFrequency(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> n,
<a name="l00321"></a>00321                              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension) <span class="keyword">const</span> ;
<a name="l00322"></a>00322 
<a name="l00338"></a>00338   <span class="keywordtype">double</span> Quantile(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dimension, <span class="keyword">const</span> <span class="keywordtype">double</span> &amp;p) <span class="keyword">const</span>;
<a name="l00340"></a>00340 
<a name="l00341"></a>00341  <span class="keyword">protected</span>:
<a name="l00342"></a>00342   <span class="keywordtype">void</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#920ae03048a5ad715d803ca2e92b52de">PrintSelf</a>(std::ostream&amp; os, <a class="code" href="classitk_1_1Indent.html" title="Control indentation during Print() invocation.">Indent</a> indent) <span class="keyword">const</span>;
<a name="l00343"></a>00343 
<a name="l00344"></a>00344 <span class="keyword">public</span>:
<a name="l00347"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">00347</a>   <span class="keyword">class </span><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>
<a name="l00348"></a>00348   {
<a name="l00349"></a>00349   <span class="keyword">public</span>:
<a name="l00350"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#5f22cc3c301270c3476f2943f305bf6f">00350</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#5f22cc3c301270c3476f2943f305bf6f">Iterator</a>(){};
<a name="l00351"></a>00351     
<a name="l00352"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#33ef556d69b0d4d831eeb1e02d0d8823">00352</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>(<a class="code" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes.">Self</a> * histogram) 
<a name="l00353"></a>00353     { 
<a name="l00354"></a>00354       m_Id = 0 ;
<a name="l00355"></a>00355       m_Histogram = histogram; 
<a name="l00356"></a>00356     } 
<a name="l00357"></a>00357     
<a name="l00358"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#aa69173d946a466fa1633ac1702c58e3">00358</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>(InstanceIdentifier <span class="keywordtype">id</span>, <a class="code" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes.">Self</a> * histogram)
<a name="l00359"></a>00359       : m_Id(id), m_Histogram(histogram)
<a name="l00360"></a>00360     {}
<a name="l00361"></a>00361     
<a name="l00362"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#9d607422af0b943a6029a0ba3e522cfb">00362</a>     FrequencyType GetFrequency()<span class="keyword"> const</span>
<a name="l00363"></a>00363 <span class="keyword">    </span>{ 
<a name="l00364"></a>00364       <span class="keywordflow">return</span>  m_Histogram-&gt;GetFrequency(m_Id) ;
<a name="l00365"></a>00365     }
<a name="l00366"></a>00366     
<a name="l00367"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#1adfde9e621455e8a57e36ff5178d979">00367</a>     <span class="keywordtype">bool</span> SetFrequency(<span class="keyword">const</span> FrequencyType value) 
<a name="l00368"></a>00368     { 
<a name="l00369"></a>00369       <span class="keywordflow">return</span> m_Histogram-&gt;SetFrequency(m_Id, value); 
<a name="l00370"></a>00370     }
<a name="l00371"></a>00371 
<a name="l00372"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#23314cc4e43d9de9de511e92e8099bb0">00372</a>     InstanceIdentifier GetInstanceIdentifier()<span class="keyword"> const</span>
<a name="l00373"></a>00373 <span class="keyword">    </span>{ <span class="keywordflow">return</span> m_Id ; }
<a name="l00374"></a>00374 
<a name="l00375"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#a37253bb1abfd45bc970f4ff7d00ecfb">00375</a>     <span class="keyword">const</span> MeasurementVectorType &amp; GetMeasurementVector()<span class="keyword"> const</span>
<a name="l00376"></a>00376 <span class="keyword">    </span>{ 
<a name="l00377"></a>00377       <span class="keywordflow">return</span> m_Histogram-&gt;GetMeasurementVector(m_Id) ;
<a name="l00378"></a>00378     } 
<a name="l00379"></a>00379 
<a name="l00380"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#63df85f96c962272f494c0e782b763b2">00380</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>&amp; operator++() 
<a name="l00381"></a>00381     { 
<a name="l00382"></a>00382       ++m_Id; 
<a name="l00383"></a>00383       <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00384"></a>00384     }
<a name="l00385"></a>00385     
<a name="l00386"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#0938f58608a6d6ebbefd1b3cab01d4ad">00386</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_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>&amp; it) 
<a name="l00387"></a>00387     { <span class="keywordflow">return</span> (m_Id != it.m_Id); }
<a name="l00388"></a>00388     
<a name="l00389"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#613c75decb0503ac5f59d1ade5e86c7a">00389</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_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>&amp; it) 
<a name="l00390"></a>00390     { <span class="keywordflow">return</span> (m_Id == it.m_Id); }
<a name="l00391"></a>00391     
<a name="l00392"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#8d2a917b04e3115238cb03f0cd4ffc42">00392</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>&amp; it)
<a name="l00393"></a>00393     { 
<a name="l00394"></a>00394       m_Id  = it.m_Id;
<a name="l00395"></a>00395       m_Histogram = it.m_Histogram ; 
<a name="l00396"></a>00396       <span class="keywordflow">return</span> *this ;
<a name="l00397"></a>00397     }
<a name="l00398"></a>00398 
<a name="l00399"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html#e1dfafdb09d92df9249e5835cb1c77d0">00399</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>&amp; it)
<a name="l00400"></a>00400     { 
<a name="l00401"></a>00401       m_Id        = it.m_Id;
<a name="l00402"></a>00402       m_Histogram = it.m_Histogram ; 
<a name="l00403"></a>00403     }
<a name="l00404"></a>00404    
<a name="l00405"></a>00405   <span class="keyword">private</span>:
<a name="l00406"></a>00406     <span class="comment">// Iterator pointing DenseFrequencyContainer</span>
<a name="l00407"></a>00407     InstanceIdentifier m_Id;
<a name="l00408"></a>00408     
<a name="l00409"></a>00409     <span class="comment">// Pointer of DenseFrequencyContainer</span>
<a name="l00410"></a>00410     <a class="code" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes.">Self</a>* m_Histogram ;
<a name="l00411"></a>00411   } ; <span class="comment">// end of iterator class</span>
<a name="l00412"></a>00412 
<a name="l00413"></a>00413   <span class="comment">// Const Iterator</span>
<a name="l00414"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">00414</a>   <span class="keyword">class </span><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a>
<a name="l00415"></a>00415   {
<a name="l00416"></a>00416   <span class="keyword">public</span>:
<a name="l00417"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#245bdd55ec16dc0ce2710ce8dff9362a">00417</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#245bdd55ec16dc0ce2710ce8dff9362a">ConstIterator</a>(){};
<a name="l00418"></a>00418     
<a name="l00419"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#56eec26a97d8bc0b992d9eb96876a293">00419</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes.">Self</a> * histogram) 
<a name="l00420"></a>00420     { 
<a name="l00421"></a>00421       m_Id = 0 ;
<a name="l00422"></a>00422       m_Histogram = histogram; 
<a name="l00423"></a>00423     } 
<a name="l00424"></a>00424     
<a name="l00425"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#58e616887e19f7ab0ba4f481c09348d5">00425</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a>(InstanceIdentifier <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes.">Self</a> * histogram)
<a name="l00426"></a>00426       : m_Id(id), m_Histogram(histogram)
<a name="l00427"></a>00427     {}
<a name="l00428"></a>00428     
<a name="l00429"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#08ea3c2c1f51a72f8356585af5c1ab9e">00429</a>     FrequencyType GetFrequency()<span class="keyword"> const</span>
<a name="l00430"></a>00430 <span class="keyword">    </span>{ 
<a name="l00431"></a>00431       <span class="keywordflow">return</span>  m_Histogram-&gt;GetFrequency(m_Id) ;
<a name="l00432"></a>00432     }
<a name="l00433"></a>00433     
<a name="l00434"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#cb3f14eebee5008219871f6c07d64ea6">00434</a>     InstanceIdentifier GetInstanceIdentifier()<span class="keyword"> const</span>
<a name="l00435"></a>00435 <span class="keyword">    </span>{ <span class="keywordflow">return</span> m_Id ; }
<a name="l00436"></a>00436 
<a name="l00437"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#a7424fc20cea84279deba7487b831a5d">00437</a>     <span class="keyword">const</span> MeasurementVectorType &amp; GetMeasurementVector()<span class="keyword"> const</span>
<a name="l00438"></a>00438 <span class="keyword">    </span>{ 
<a name="l00439"></a>00439       <span class="keywordflow">return</span> m_Histogram-&gt;GetMeasurementVector(m_Id) ;
<a name="l00440"></a>00440     } 
<a name="l00441"></a>00441 
<a name="l00442"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#9dfc817259d77cd6155e24acd1a4b1d8">00442</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a>&amp; operator++() 
<a name="l00443"></a>00443     { 
<a name="l00444"></a>00444       ++m_Id; 
<a name="l00445"></a>00445       <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00446"></a>00446     }
<a name="l00447"></a>00447     
<a name="l00448"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#b2886dc891ef41285a6840ffbf930701">00448</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_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a>&amp; it) 
<a name="l00449"></a>00449     { <span class="keywordflow">return</span> (m_Id != it.m_Id); }
<a name="l00450"></a>00450     
<a name="l00451"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#7466e4b7c4b3ff7b69e1a455d6c16c89">00451</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_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a>&amp; it) 
<a name="l00452"></a>00452     { <span class="keywordflow">return</span> (m_Id == it.m_Id); }
<a name="l00453"></a>00453     
<a name="l00454"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#166426ab55eaa5bb7da4aee01ae20994">00454</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a>&amp; it)
<a name="l00455"></a>00455     { 
<a name="l00456"></a>00456       m_Id  = it.m_Id;
<a name="l00457"></a>00457       m_Histogram = it.m_Histogram ; 
<a name="l00458"></a>00458       <span class="keywordflow">return</span> *this ;
<a name="l00459"></a>00459     }
<a name="l00460"></a>00460 
<a name="l00461"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html#998e874dda6c04b626f582bd841f61db">00461</a>     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a> &amp; it)
<a name="l00462"></a>00462     { 
<a name="l00463"></a>00463       m_Id        = it.m_Id;
<a name="l00464"></a>00464       m_Histogram = it.m_Histogram ; 
<a name="l00465"></a>00465     }
<a name="l00466"></a>00466    
<a name="l00467"></a>00467   <span class="keyword">private</span>:
<a name="l00468"></a>00468     <span class="comment">// ConstIterator pointing DenseFrequencyContainer</span>
<a name="l00469"></a>00469     InstanceIdentifier m_Id;
<a name="l00470"></a>00470     
<a name="l00471"></a>00471     <span class="comment">// Pointer of DenseFrequencyContainer</span>
<a name="l00472"></a>00472     <span class="keyword">const</span> <a class="code" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes.">Self</a>* m_Histogram ;
<a name="l00473"></a>00473   } ; <span class="comment">// end of iterator class</span>
<a name="l00474"></a>00474 
<a name="l00475"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#3305b1e299392f42365086980b0a18ea">00475</a>   <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>  Begin()
<a name="l00476"></a>00476   { 
<a name="l00477"></a>00477     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a> iter(0, <span class="keyword">this</span>) ; 
<a name="l00478"></a>00478     <span class="keywordflow">return</span> iter ;
<a name="l00479"></a>00479   }
<a name="l00480"></a>00480            
<a name="l00481"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#d8c0d95ce91ffbfbbbf9bfa74b4f48f8">00481</a>   <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>  End()        
<a name="l00482"></a>00482   {
<a name="l00483"></a>00483     <span class="keywordflow">return</span> <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1Iterator.html">Iterator</a>(m_OffsetTable[VMeasurementVectorSize], <span class="keyword">this</span>) ;
<a name="l00484"></a>00484   }
<a name="l00485"></a>00485   
<a name="l00486"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#a9cca749845302e410572fde8fcb3452">00486</a>   <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a>  Begin()<span class="keyword"> const</span>
<a name="l00487"></a>00487 <span class="keyword">  </span>{ 
<a name="l00488"></a>00488     <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a> iter(0, <span class="keyword">this</span>) ; 
<a name="l00489"></a>00489     <span class="keywordflow">return</span> iter ;
<a name="l00490"></a>00490   }
<a name="l00491"></a>00491            
<a name="l00492"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#e195f2fbc680cce10ba516927f7c760a">00492</a>   <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a> End()<span class="keyword"> const</span>
<a name="l00493"></a>00493 <span class="keyword">  </span>{
<a name="l00494"></a>00494     <span class="keywordflow">return</span> <a class="code" href="classitk_1_1Statistics_1_1Histogram_1_1ConstIterator.html">ConstIterator</a>(m_OffsetTable[VMeasurementVectorSize], <span class="keyword">this</span>) ;
<a name="l00495"></a>00495   }
<a name="l00496"></a>00496 
<a name="l00497"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#761d46f952fb8884e1e342ed135c7db0">00497</a>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetMeasurementVectorSize( <span class="keyword">const</span> MeasurementVectorSizeType s )
<a name="l00498"></a>00498    {
<a name="l00499"></a>00499    <span class="keywordflow">if</span>( s!= VMeasurementVectorSize )
<a name="l00500"></a>00500      { 
<a name="l00501"></a>00501      <a class="code" href="itkMacro_8h.html#c51de1a715471e7fd0f2e481a70fa1f8">itkExceptionMacro</a>( &lt;&lt; <span class="stringliteral">"This Histogram class is meant to be used only for "</span>
<a name="l00502"></a>00502        &lt;&lt; <span class="stringliteral">"fixed length vectors of length "</span> &lt;&lt; VMeasurementVectorSize  &lt;&lt; 
<a name="l00503"></a>00503        <span class="stringliteral">". Cannot set this to "</span> &lt;&lt; s);
<a name="l00504"></a>00504      }
<a name="l00505"></a>00505    }
<a name="l00506"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#c9a671a7e56920e5820cf70d4f63e2da">00506</a>  MeasurementVectorSizeType GetMeasurementVectorSize()<span class="keyword"> const</span>
<a name="l00507"></a>00507 <span class="keyword">   </span>{
<a name="l00508"></a>00508    <span class="keywordflow">return</span> VMeasurementVectorSize;
<a name="l00509"></a>00509    }
<a name="l00510"></a>00510    
<a name="l00511"></a>00511 
<a name="l00512"></a>00512 <span class="keyword">protected</span>:
<a name="l00513"></a>00513   <a class="code" href="classitk_1_1Statistics_1_1Histogram.html" title="This class stores measurement vectors in the context of n-dimensional histogram.">Histogram</a>() ;
<a name="l00514"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#a93ef677e7f5f8278001599167fad8da">00514</a>   <span class="keyword">virtual</span> <a class="code" href="classitk_1_1Statistics_1_1Histogram.html#a93ef677e7f5f8278001599167fad8da">~Histogram</a>() {}
<a name="l00515"></a>00515 
<a name="l00516"></a>00516   <span class="comment">// The number of bins for each dimension</span>
<a name="l00517"></a><a class="code" href="classitk_1_1Statistics_1_1Histogram.html#a9373b8ef007dc9a35b37a3b8eef4c49">00517</a>   <a class="code" href="classitk_1_1Size.html">SizeType</a> m_Size ;
<a name="l00518"></a>00518   
<a name="l00519"></a>00519 <span class="keyword">private</span>:
<a name="l00520"></a>00520   <a class="code" href="classitk_1_1Statistics_1_1Histogram.html" title="This class stores measurement vectors in the context of n-dimensional histogram.">Histogram</a>(<span class="keyword">const</span> <a class="code" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes.">Self</a>&amp;); <span class="comment">//purposely not implemented</span>
<a name="l00521"></a>00521   <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes.">Self</a>&amp;); <span class="comment">//purposely not implemented</span>
<a name="l00522"></a>00522 
<a name="l00523"></a>00523   InstanceIdentifier          m_OffsetTable[VMeasurementVectorSize + 1] ;
<a name="l00524"></a>00524   FrequencyContainerPointer   m_FrequencyContainer ;
<a name="l00525"></a>00525   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                m_NumberOfInstances ;
<a name="l00526"></a>00526 
<a name="l00527"></a>00527   <span class="comment">// lower bound of each bin</span>
<a name="l00528"></a>00528   std::vector&lt; std::vector&lt;MeasurementType&gt; &gt; m_Min ;
<a name="l00529"></a>00529   
<a name="l00530"></a>00530   <span class="comment">// upper bound of each bin</span>
<a name="l00531"></a>00531   std::vector&lt; std::vector&lt;MeasurementType&gt; &gt; m_Max ;
<a name="l00532"></a>00532   
<a name="l00533"></a>00533   <span class="keyword">mutable</span> MeasurementVectorType   m_TempMeasurementVector ;
<a name="l00534"></a>00534   <span class="keyword">mutable</span> <a class="code" href="classitk_1_1Index.html">IndexType</a>               m_TempIndex ;
<a name="l00535"></a>00535 
<a name="l00536"></a>00536   <span class="keywordtype">bool</span>                            m_ClipBinsAtEnds;
<a name="l00537"></a>00537 
<a name="l00538"></a>00538 } ; 
<a name="l00539"></a>00539 
<a name="l00540"></a>00540 } <span class="comment">// end of namespace Statistics </span>
<a name="l00541"></a>00541 } <span class="comment">// end of namespace itk </span>
<a name="l00542"></a>00542 
<a name="l00543"></a>00543 <span class="preprocessor">#ifndef ITK_MANUAL_INSTANTIATION</span>
<a name="l00544"></a>00544 <span class="preprocessor"></span><span class="preprocessor">#include "itkHistogram.txx"</span>
<a name="l00545"></a>00545 <span class="preprocessor">#endif</span>
<a name="l00546"></a>00546 <span class="preprocessor"></span>
<a name="l00547"></a>00547 <span class="preprocessor">#endif</span>
<a name="l00548"></a>00548 <span class="preprocessor"></span>
</pre></div></div>
<hr><address><small>
Generated at Thu May 7 22:56:59 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>