Sophie

Sophie

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

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: itkFEMImageMetricLoad.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_316e5ab5c8a9cb56a9dce1c9fc454a23.html">FEM</a>
  </div>
<div class="contents">
<h1>itkFEMImageMetricLoad.h</h1><a href="itkFEMImageMetricLoad_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: itkFEMImageMetricLoad.h,v $</span>
<a name="l00005"></a>00005 <span class="comment">  Language:  C++</span>
<a name="l00006"></a>00006 <span class="comment">  Date:      $Date: 2009-01-29 21:28:16 $</span>
<a name="l00007"></a>00007 <span class="comment">  Version:   $Revision: 1.25 $</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 __itkFEMImageMetricLoad_h</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __itkFEMImageMetricLoad_h</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="itkFEMLoadElementBase_8h.html">itkFEMLoadElementBase.h</a>"</span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="itkImage_8h.html">itkImage.h</a>"</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="itkTranslationTransform_8h.html">itkTranslationTransform.h</a>"</span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="itkImageRegionIteratorWithIndex_8h.html">itkImageRegionIteratorWithIndex.h</a>"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="itkNeighborhoodIterator_8h.html">itkNeighborhoodIterator.h</a>"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="itkNeighborhoodIterator_8h.html">itkNeighborhoodIterator.h</a>"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="itkNeighborhoodInnerProduct_8h.html">itkNeighborhoodInnerProduct.h</a>"</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="itkDerivativeOperator_8h.html">itkDerivativeOperator.h</a>"</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="itkForwardDifferenceOperator_8h.html">itkForwardDifferenceOperator.h</a>"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="itkLinearInterpolateImageFunction_8h.html">itkLinearInterpolateImageFunction.h</a>"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "vnl/vnl_math.h"</span>
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;<a class="code" href="itkMutualInformationImageToImageMetric_8h.html">itkMutualInformationImageToImageMetric.h</a>&gt;</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;<a class="code" href="itkMattesMutualInformationImageToImageMetric_8h.html">itkMattesMutualInformationImageToImageMetric.h</a>&gt;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;<a class="code" href="itkMeanSquaresImageToImageMetric_8h.html">itkMeanSquaresImageToImageMetric.h</a>&gt;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;<a class="code" href="itkNormalizedCorrelationImageToImageMetric_8h.html">itkNormalizedCorrelationImageToImageMetric.h</a>&gt;</span>
<a name="l00038"></a>00038 <span class="comment">//#include &lt;itkMeanReciprocalSquareDifferenceImageToImageMetric.h&gt;</span>
<a name="l00039"></a>00039 
<a name="l00040"></a>00040 
<a name="l00041"></a>00041 <span class="keyword">namespace </span>itk 
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043 <span class="keyword">namespace </span>fem
<a name="l00044"></a>00044 {
<a name="l00045"></a>00045 
<a name="l00069"></a>00069 <span class="keyword">template</span>&lt;<span class="keyword">class</span> TMoving,<span class="keyword">class</span> TFixed&gt; 
<a name="l00070"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html">00070</a> <span class="keyword">class </span><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html" title="General image pair load that uses the itkImageToImageMetrics.">ImageMetricLoad</a> : <span class="keyword">public</span> <a class="code" href="classitk_1_1fem_1_1LoadElement.html" title="Virtual element load base class.">LoadElement</a>
<a name="l00071"></a>00071 {
<a name="l00072"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#4deb02ad350cc4dd0044708258fccc34">00072</a>   <a class="code" href="itkFEMMacro_8h.html#a6412b85156702b319322aa9a908209d" title="Defines typedefs for pointers to class.">FEM_CLASS</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html" title="General image pair load that uses the itkImageToImageMetrics.">ImageMetricLoad</a>,<a class="code" href="classitk_1_1fem_1_1LoadElement.html" title="Virtual element load base class.">LoadElement</a>)
<a name="l00073"></a>00073 public:
<a name="l00074"></a>00074 
<a name="l00075"></a>00075   <span class="comment">// Necessary typedefs for dealing with images BEGIN</span>
<a name="l00076"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">00076</a>   typedef typename <a class="code" href="classitk_1_1fem_1_1LoadElement.html" title="Virtual element load base class.">LoadElement</a>::<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a>;
<a name="l00077"></a>00077 
<a name="l00078"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#9fdc97785e482d6d8d060529d6787497">00078</a>   typedef TMoving                            <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#9fdc97785e482d6d8d060529d6787497">MovingType</a>;
<a name="l00079"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#4d72479be04abb8f35008d842647c9ec">00079</a>   typedef typename MovingType::<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html" title="General image pair load that uses the itkImageToImageMetrics.">ConstPointer</a>  <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#4d72479be04abb8f35008d842647c9ec">MovingConstPointer</a>;
<a name="l00080"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#7406a107579462e5f07c4c7e3d5cca84">00080</a>   typedef MovingType*                        <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#7406a107579462e5f07c4c7e3d5cca84">MovingPointer</a>;
<a name="l00081"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2adbbce2d1c650053bd40f1f560a0c3c">00081</a>   typedef TFixed                             <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2adbbce2d1c650053bd40f1f560a0c3c">FixedType</a>;
<a name="l00082"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#a72ae966acc178e2dfafd5bfe44a2175">00082</a>   typedef FixedType*                         <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#a72ae966acc178e2dfafd5bfe44a2175">FixedPointer</a>;
<a name="l00083"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#07f7b5900bef087222f93f77b6e1c6b1">00083</a>   typedef typename FixedType::<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html" title="General image pair load that uses the itkImageToImageMetrics.">ConstPointer</a>   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#07f7b5900bef087222f93f77b6e1c6b1">FixedConstPointer</a>;
<a name="l00084"></a>00084 
<a name="l00086"></a>00086   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2ce354dd88eeb6ea49560684412abcfb">itkStaticConstMacro</a>(ImageDimension, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>,
<a name="l00087"></a>00087                       MovingType::ImageDimension);
<a name="l00088"></a>00088 
<a name="l00089"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#843c5b8d8e3b5efed039a26c9fa6c267">00089</a>   typedef <a class="code" href="classitk_1_1ImageRegionIteratorWithIndex.html" title="A multi-dimensional iterator templated over image type that walks pixels within a...">ImageRegionIteratorWithIndex</a>&lt;MovingType&gt; <a class="code" href="classitk_1_1ImageRegionIteratorWithIndex.html" title="A multi-dimensional iterator templated over image type that walks pixels within a...">RefRegionIteratorType</a>; 
<a name="l00090"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#8445d66dfa0f7bd7f6199364481bffc2">00090</a>   typedef <a class="code" href="classitk_1_1ImageRegionIteratorWithIndex.html" title="A multi-dimensional iterator templated over image type that walks pixels within a...">ImageRegionIteratorWithIndex</a>&lt;FixedType&gt;    <a class="code" href="classitk_1_1ImageRegionIteratorWithIndex.html" title="A multi-dimensional iterator templated over image type that walks pixels within a...">TarRegionIteratorType</a>; 
<a name="l00091"></a>00091   
<a name="l00092"></a>00092 
<a name="l00093"></a>00093   typedef <a class="code" href="classitk_1_1NeighborhoodIterator.html" title="Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image...">NeighborhoodIterator</a>&lt;MovingType&gt; 
<a name="l00094"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6eb97f157d7c809f69fa25c473d4fc61">00094</a>                                      <a class="code" href="classitk_1_1NeighborhoodIterator.html" title="Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image...">MovingNeighborhoodIteratorType</a>; 
<a name="l00095"></a>00095   typedef typename <a class="code" href="classitk_1_1NeighborhoodIterator.html" title="Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image...">MovingNeighborhoodIteratorType</a>::<a class="code" href="namespaceHardConnectedComponentImageFilter.html#be32dc19e71d40322ad9828b9ab40853">IndexType</a>  
<a name="l00096"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#aef675fde32396729e54c4d4bc03c793">00096</a>                                      <a class="code" href="classitk_1_1Index.html">MovingNeighborhoodIndexType</a>;
<a name="l00097"></a>00097   typedef typename <a class="code" href="classitk_1_1NeighborhoodIterator.html" title="Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image...">MovingNeighborhoodIteratorType</a>::RadiusType 
<a name="l00098"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#391869e6fc615247e782c7936914da82">00098</a>                                      <a class="code" href="classitk_1_1Size.html" title="Represent the size (bounds) of a n-dimensional image.">MovingRadiusType</a>;
<a name="l00099"></a>00099   typedef <a class="code" href="classitk_1_1NeighborhoodIterator.html" title="Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image...">NeighborhoodIterator</a>&lt;FixedType&gt; 
<a name="l00100"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#ae9575ff354ba05f44f626915e903449">00100</a>                                      <a class="code" href="classitk_1_1NeighborhoodIterator.html" title="Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image...">FixedNeighborhoodIteratorType</a>; 
<a name="l00101"></a>00101   typedef typename <a class="code" href="classitk_1_1NeighborhoodIterator.html" title="Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image...">FixedNeighborhoodIteratorType</a>::<a class="code" href="namespaceHardConnectedComponentImageFilter.html#be32dc19e71d40322ad9828b9ab40853">IndexType</a>  
<a name="l00102"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#1a75f73368d795a0e6450d255616c47d">00102</a>                                      <a class="code" href="classitk_1_1Index.html">FixedNeighborhoodIndexType</a>;
<a name="l00103"></a>00103   typedef typename <a class="code" href="classitk_1_1NeighborhoodIterator.html" title="Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image...">FixedNeighborhoodIteratorType</a>::RadiusType 
<a name="l00104"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#058627cc5cf51f39a4d96ec090d1d0ce">00104</a>                                      <a class="code" href="classitk_1_1Size.html" title="Represent the size (bounds) of a n-dimensional image.">FixedRadiusType</a>;
<a name="l00105"></a>00105 
<a name="l00106"></a>00106 
<a name="l00107"></a>00107 <span class="comment">// IMAGE DATA</span>
<a name="l00108"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#8d2617346f714457afecb76ba3d6e71c">00108</a>   typedef   typename  MovingType::<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2c9b3f5a584f30f587c3a1ce5480f81e">PixelType</a>   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#8d2617346f714457afecb76ba3d6e71c">RefPixelType</a>;
<a name="l00109"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#3bf25faed4a0bdb3c20d7dc84ad2b967">00109</a>   typedef   typename  FixedType::<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2c9b3f5a584f30f587c3a1ce5480f81e">PixelType</a>    <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#3bf25faed4a0bdb3c20d7dc84ad2b967">TarPixelType</a>;
<a name="l00110"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2c9b3f5a584f30f587c3a1ce5480f81e">00110</a>   typedef   Float                             <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2c9b3f5a584f30f587c3a1ce5480f81e">PixelType</a>;
<a name="l00111"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#e103b1646bc621c69c8d0a00ef92afb8">00111</a>   typedef   Float                             <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#e103b1646bc621c69c8d0a00ef92afb8">ComputationType</a>;
<a name="l00112"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#aa766032ffa1fcbe3e61ae50613d6b44">00112</a>   typedef   <a class="code" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">Image</a>&lt; RefPixelType, <a class="code" href="itkMacro_8h.html#94ef2dc11d52c8ef0a78e34558feb8cb">itkGetStaticConstMacro</a>(ImageDimension) &gt;       <a class="code" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">RefImageType</a>;
<a name="l00113"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#fdfa559326abf54d2866aeffa0d826bf">00113</a>   typedef   <a class="code" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">Image</a>&lt; TarPixelType, <a class="code" href="itkMacro_8h.html#94ef2dc11d52c8ef0a78e34558feb8cb">itkGetStaticConstMacro</a>(ImageDimension) &gt;       <a class="code" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">TarImageType</a>;
<a name="l00114"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#e738db90d3bdb7ff3220a8e10e618218">00114</a>   typedef   <a class="code" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">Image</a>&lt; PixelType, <a class="code" href="itkMacro_8h.html#94ef2dc11d52c8ef0a78e34558feb8cb">itkGetStaticConstMacro</a>(ImageDimension) &gt;            <a class="code" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">ImageType</a>;
<a name="l00115"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">00115</a>   typedef   <a class="code" href="classvnl__vector.html">vnl_vector</a>&lt;Float&gt;                             <a class="code" href="classvnl__vector.html">VectorType</a>;
<a name="l00116"></a>00116 
<a name="l00117"></a>00117 <span class="comment">// Necessary typedefs for dealing with images END</span>
<a name="l00118"></a>00118  
<a name="l00119"></a>00119 <span class="comment">//------------------------------------------------------------</span>
<a name="l00120"></a>00120 <span class="comment">// Set up the metrics</span>
<a name="l00121"></a>00121 <span class="comment">//------------------------------------------------------------</span>
<a name="l00122"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#f8047a042d4f4ee5915506aa94c8199a">00122</a>   typedef <span class="keywordtype">double</span>                   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#f8047a042d4f4ee5915506aa94c8199a">CoordinateRepresentationType</a>;
<a name="l00123"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#37517db0c7984e82b3301ede5d2574aa">00123</a>   typedef <a class="code" href="classitk_1_1Transform.html" title="Transform points and vector from an input space to an output space.">Transform</a>&lt; CoordinateRepresentationType,<a class="code" href="itkMacro_8h.html#94ef2dc11d52c8ef0a78e34558feb8cb">itkGetStaticConstMacro</a>(ImageDimension), <a class="code" href="itkMacro_8h.html#94ef2dc11d52c8ef0a78e34558feb8cb">itkGetStaticConstMacro</a>(ImageDimension) &gt; <a class="code" href="classitk_1_1Transform.html" title="Transform points and vector from an input space to an output space.">TransformBaseType</a>;
<a name="l00124"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#1f0f1b765088e517335b8b0983e7d507">00124</a>   typedef <a class="code" href="classitk_1_1TranslationTransform.html" title="Translation transformation of a vector space (e.g. space coordinates).">TranslationTransform</a>&lt;CoordinateRepresentationType,  <a class="code" href="itkMacro_8h.html#94ef2dc11d52c8ef0a78e34558feb8cb">itkGetStaticConstMacro</a>(ImageDimension) &gt;  <a class="code" href="classitk_1_1TranslationTransform.html" title="Translation transformation of a vector space (e.g. space coordinates).">DefaultTransformType</a>;
<a name="l00125"></a>00125 
<a name="l00127"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#76152647ec394d8604dba986835ef8a6">00127</a>   typedef   <a class="code" href="classitk_1_1ImageToImageMetric.html" title="Computes similarity between regions of two images.">ImageToImageMetric</a>&lt;FixedType,MovingType &gt; <a class="code" href="classitk_1_1ImageToImageMetric.html" title="Computes similarity between regions of two images.">MetricBaseType</a>;
<a name="l00128"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#eb809d8832a6e67c882db3f0fd21ea3d">00128</a>   typedef typename MetricBaseType::<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html" title="General image pair load that uses the itkImageToImageMetrics.">Pointer</a>            <a class="code" href="classitk_1_1SmartPointer.html">MetricBaseTypePointer</a>;
<a name="l00129"></a>00129 
<a name="l00130"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#5f76c376b235c492981fdf0766d9a465">00130</a>   typedef   <a class="code" href="classitk_1_1MutualInformationImageToImageMetric.html" title="Computes the mutual information between two images to be registered.">MutualInformationImageToImageMetric</a>&lt;  MovingType, FixedType   &gt; <a class="code" href="classitk_1_1MutualInformationImageToImageMetric.html" title="Computes the mutual information between two images to be registered.">MutualInformationMetricType</a>;
<a name="l00131"></a>00131 
<a name="l00132"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#45c89ae5345c439ec8f032123d6654fb">00132</a>   typedef   <a class="code" href="classitk_1_1MeanSquaresImageToImageMetric.html" title="Computes similarity between two objects to be registered.">MeanSquaresImageToImageMetric</a>&lt; MovingType, FixedType   &gt; <a class="code" href="classitk_1_1MeanSquaresImageToImageMetric.html" title="Computes similarity between two objects to be registered.">MeanSquaresMetricType</a>;
<a name="l00133"></a>00133 
<a name="l00134"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#76f8966722318062756c95db8b77f385">00134</a>   typedef   <a class="code" href="classitk_1_1NormalizedCorrelationImageToImageMetric.html" title="Computes similarity between two images to be registered.">NormalizedCorrelationImageToImageMetric</a>&lt; MovingType, FixedType  &gt; <a class="code" href="classitk_1_1NormalizedCorrelationImageToImageMetric.html" title="Computes similarity between two images to be registered.">NormalizedCorrelationMetricType</a>;
<a name="l00135"></a>00135 
<a name="l00136"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#ae6884345af8337705e76ce5cddb4fba">00136</a>   typedef  MeanSquaresMetricType                                <a class="code" href="classitk_1_1MeanSquaresImageToImageMetric.html" title="Computes similarity between two objects to be registered.">DefaultMetricType</a>;
<a name="l00137"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#724b94b845c3a48261c1bf27b3879250">00137</a>   typedef typename DefaultTransformType::<a class="code" href="classitk_1_1Array.html">ParametersType</a>         <a class="code" href="classitk_1_1Array.html">ParametersType</a>;
<a name="l00138"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#eb147c4ee03370760001f79f88ec7adb">00138</a>   typedef typename DefaultTransformType::<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#eb147c4ee03370760001f79f88ec7adb">JacobianType</a>           <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#eb147c4ee03370760001f79f88ec7adb">JacobianType</a>;
<a name="l00139"></a>00139 
<a name="l00140"></a>00140 
<a name="l00141"></a>00141 <span class="comment">//------------------------------------------------------------</span>
<a name="l00142"></a>00142 <span class="comment">// Set up an Interpolator</span>
<a name="l00143"></a>00143 <span class="comment">//------------------------------------------------------------</span>
<a name="l00144"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#35cb80b801484797a1055e01b770b709">00144</a>   typedef <a class="code" href="classitk_1_1LinearInterpolateImageFunction.html" title="Linearly interpolate an image at specified positions.">LinearInterpolateImageFunction</a>&lt; MovingType, <span class="keywordtype">double</span> &gt; <a class="code" href="classitk_1_1LinearInterpolateImageFunction.html" title="Linearly interpolate an image at specified positions.">InterpolatorType</a>;
<a name="l00145"></a>00145 
<a name="l00147"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#8ff9d3a6b21d568109dc15fd6b38b759">00147</a>   typedef <span class="keywordtype">float</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#8ff9d3a6b21d568109dc15fd6b38b759">RealType</a>;
<a name="l00148"></a>00148   typedef <a class="code" href="classitk_1_1CovariantVector.html" title="A templated class holding a n-Dimensional covariant vector.">CovariantVector</a>&lt;RealType,
<a name="l00149"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6664ce33adeff62e06dccc78e78030fd">00149</a>           <a class="code" href="itkMacro_8h.html#94ef2dc11d52c8ef0a78e34558feb8cb">itkGetStaticConstMacro</a>(ImageDimension)&gt; <a class="code" href="classitk_1_1CovariantVector.html" title="A templated class holding a n-Dimensional covariant vector.">GradientPixelType</a>;
<a name="l00150"></a>00150   typedef <a class="code" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">Image</a>&lt;GradientPixelType,
<a name="l00151"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#9f3e77c5483318b7d6c80cf9f90226cb">00151</a>                <a class="code" href="itkMacro_8h.html#94ef2dc11d52c8ef0a78e34558feb8cb">itkGetStaticConstMacro</a>(ImageDimension)&gt; <a class="code" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">GradientImageType</a>;
<a name="l00152"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#418bb9ac671976cedc187a7288da8d53">00152</a>   typedef <a class="code" href="classitk_1_1SmartPointer.html" title="Implements transparent reference counting.">SmartPointer</a>&lt;GradientImageType&gt;     <a class="code" href="classitk_1_1SmartPointer.html">GradientImagePointer</a>;
<a name="l00153"></a>00153   typedef <a class="code" href="classitk_1_1GradientRecursiveGaussianImageFilter.html" title="Computes the gradient of an image by convolution with the first derivative of a Gaussian...">GradientRecursiveGaussianImageFilter</a>&lt; ImageType,
<a name="l00154"></a>00154                                                 GradientImageType &gt;
<a name="l00155"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2a25c394c287c5af1e2b09e558e51e59">00155</a>           <a class="code" href="classitk_1_1GradientRecursiveGaussianImageFilter.html" title="Computes the gradient of an image by convolution with the first derivative of a Gaussian...">GradientImageFilterType</a>;  
<a name="l00156"></a>00156   <span class="comment">//  typedef typename GradientImageFilterType::Pointer GradientImageFilterPointer;</span>
<a name="l00158"></a>00158 <span class="comment"></span>
<a name="l00159"></a>00159 
<a name="l00160"></a>00160 <span class="comment">// FUNCTIONS</span>
<a name="l00161"></a>00161 
<a name="l00163"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#692502e7d93165d94e22887e535b3458">00163</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#692502e7d93165d94e22887e535b3458">SetMetric</a>(MetricBaseTypePointer MP)
<a name="l00164"></a>00164     { m_Metric=MP; }
<a name="l00165"></a>00165 
<a name="l00167"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2a109162a0d52352b4572499144141c0">00167</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2a109162a0d52352b4572499144141c0">SetMovingImage</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#9fdc97785e482d6d8d060529d6787497">MovingType</a>* R)
<a name="l00168"></a>00168     { 
<a name="l00169"></a>00169     m_RefImage = R; 
<a name="l00170"></a>00170     m_RefSize=m_RefImage-&gt;GetLargestPossibleRegion().GetSize();
<a name="l00171"></a>00171     }
<a name="l00173"></a>00173 
<a name="l00174"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6ac6fdc9033a053871a39e55a6b07cfb">00174</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6ac6fdc9033a053871a39e55a6b07cfb">SetMetricMovingImage</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#9fdc97785e482d6d8d060529d6787497">MovingType</a>* R)  
<a name="l00175"></a>00175     { 
<a name="l00176"></a>00176     m_Metric-&gt;SetMovingImage( R ); 
<a name="l00177"></a>00177     m_RefSize=R-&gt;GetLargestPossibleRegion().GetSize(); 
<a name="l00178"></a>00178     }
<a name="l00179"></a>00179 
<a name="l00181"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#1a20435e4461653d6ed61a9d6cc9850c">00181</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#1a20435e4461653d6ed61a9d6cc9850c">SetFixedImage</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2adbbce2d1c650053bd40f1f560a0c3c">FixedType</a>* T)
<a name="l00182"></a>00182     { 
<a name="l00183"></a>00183     m_TarImage=T; 
<a name="l00184"></a>00184     m_TarSize=T-&gt;GetLargestPossibleRegion().GetSize(); 
<a name="l00185"></a>00185     }
<a name="l00186"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#e4da18ce15486bb46b65866a9d2e8c24">00186</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#e4da18ce15486bb46b65866a9d2e8c24">SetMetricFixedImage</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#2adbbce2d1c650053bd40f1f560a0c3c">FixedType</a>* T)  
<a name="l00187"></a>00187     { 
<a name="l00188"></a>00188     m_Metric-&gt;SetFixedImage( T );
<a name="l00189"></a>00189     m_TarSize=T-&gt;GetLargestPossibleRegion().GetSize(); 
<a name="l00190"></a>00190     }
<a name="l00192"></a>00192 
<a name="l00193"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#720ecac4d8256d397b9535ac621d66f0">00193</a>   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#7406a107579462e5f07c4c7e3d5cca84">MovingPointer</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#720ecac4d8256d397b9535ac621d66f0">GetMovingImage</a>()
<a name="l00194"></a>00194     { <span class="keywordflow">return</span> m_RefImage; }
<a name="l00195"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#f746ebf751b1b4aa6d78c1b2622e8e32">00195</a>   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#a72ae966acc178e2dfafd5bfe44a2175">FixedPointer</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#f746ebf751b1b4aa6d78c1b2622e8e32">GetFixedImage</a>() { <span class="keywordflow">return</span> m_TarImage; }
<a name="l00196"></a>00196 
<a name="l00198"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#64f21aeadc3c11d57f5d29f39f22b714">00198</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#64f21aeadc3c11d57f5d29f39f22b714">SetMetricRadius</a>(<a class="code" href="classitk_1_1Size.html" title="Represent the size (bounds) of a n-dimensional image.">MovingRadiusType</a> T) {m_MetricRadius  = T; }   
<a name="l00199"></a>00199 
<a name="l00201"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#f935b75ab5e0808e002462e8785d9958">00201</a>   <a class="code" href="classitk_1_1Size.html" title="Represent the size (bounds) of a n-dimensional image.">MovingRadiusType</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#f935b75ab5e0808e002462e8785d9958">GetMetricRadius</a>() { <span class="keywordflow">return</span> m_MetricRadius; }
<a name="l00202"></a>00202 
<a name="l00207"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#ddb50f5900ef5b28ced360e1c0f385db">00207</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#ddb50f5900ef5b28ced360e1c0f385db">SetNumberOfIntegrationPoints</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i)
<a name="l00208"></a>00208     { m_NumberOfIntegrationPoints=i;}
<a name="l00209"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#cc2c1c5936fd5d2f01c585d5d437c087">00209</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#cc2c1c5936fd5d2f01c585d5d437c087">GetNumberOfIntegrationPoints</a>()
<a name="l00210"></a>00210     { <span class="keywordflow">return</span> m_NumberOfIntegrationPoints;}
<a name="l00212"></a>00212 
<a name="l00216"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#3b80db479f9a014be6cc776aca639932">00216</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#3b80db479f9a014be6cc776aca639932">SetSign</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a> s)
<a name="l00217"></a>00217     {m_Sign=s;}
<a name="l00218"></a>00218 
<a name="l00220"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#04a013168120e5de6959936aecd09339">00220</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#04a013168120e5de6959936aecd09339">SetTemp</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a> s)
<a name="l00221"></a>00221     {m_Temp=s;}
<a name="l00222"></a>00222 
<a name="l00224"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#7fc00f3b4f8542c2bc774c90af5b779f">00224</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#7fc00f3b4f8542c2bc774c90af5b779f">SetGamma</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a> s)
<a name="l00225"></a>00225     {m_Gamma=s;}
<a name="l00226"></a>00226 
<a name="l00227"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#750c0d7f4e7e670d18030a0cb4f8e64b">00227</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#750c0d7f4e7e670d18030a0cb4f8e64b">SetSolution</a>(<a class="code" href="classitk_1_1fem_1_1Solution.html" title="Provides functions to access the values of the solution vector.">Solution::ConstPointer</a> ptr)
<a name="l00228"></a>00228     {  m_Solution=ptr; }
<a name="l00229"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#563b78900fa78d74c53043ee9b635895">00229</a>   <a class="code" href="classitk_1_1fem_1_1Solution.html" title="Provides functions to access the values of the solution vector.">Solution::ConstPointer</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#563b78900fa78d74c53043ee9b635895">GetSolution</a>()
<a name="l00230"></a>00230     { <span class="keywordflow">return</span> m_Solution; }
<a name="l00231"></a>00231 
<a name="l00235"></a>00235   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#9625372b4a7f5019fc56c731886dd84a">GetMetric</a> (<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a>  InVec);
<a name="l00236"></a>00236   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#3f39f38917d6f529eda15f8b77c9342d">GetPolynomialFitToMetric</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a> PositionInElement, <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a> SolutionAtPosition);
<a name="l00238"></a>00238 
<a name="l00239"></a>00239   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#0005e31bc67f7724cf34ae8c1687babd">MetricFiniteDiff</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a> PositionInElement, <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a> SolutionAtPosition);
<a name="l00240"></a>00240 
<a name="l00241"></a>00241   <span class="comment">// FIXME - WE ASSUME THE 2ND VECTOR (INDEX 1) HAS THE INFORMATION WE WANT</span>
<a name="l00242"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#9fbb92d8a40570b9eadab47642f1d5fc">00242</a>   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#563b78900fa78d74c53043ee9b635895">GetSolution</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i,<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> which=0)
<a name="l00243"></a>00243     {  
<a name="l00244"></a>00244     <span class="keywordflow">return</span> m_Solution-&gt;<a class="code" href="classitk_1_1fem_1_1Solution.html#4d4ea59c159d3d809bd5f7cb83f44818">GetSolutionValue</a>(i,which); 
<a name="l00245"></a>00245     }
<a name="l00246"></a>00246   
<a name="l00247"></a>00247 <span class="comment">// define the copy constructor </span>
<a name="l00248"></a>00248 <span class="comment">//  ImageMetricLoad(const ImageMetricLoad&amp; LMS);</span>
<a name="l00249"></a>00249 
<a name="l00250"></a>00250   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#518e4dfdc2d8670d51f659fe3a2f8b1e">InitializeMetric</a>(<span class="keywordtype">void</span>);
<a name="l00251"></a>00251   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#907f07627a96158735168a0c0aecda24">ImageMetricLoad</a>(); <span class="comment">// cannot be private until we always use smart pointers</span>
<a name="l00252"></a>00252   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6d768814c079b03526d88e08f9ac142c">EvaluateMetricGivenSolution</a> ( <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">Element::ArrayType</a>* el, <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a> step=1.0);
<a name="l00253"></a>00253  
<a name="l00257"></a>00257   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#a47c0cf1d8ffe70d374d2aa8fa3898bf">Fe1</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a>);
<a name="l00258"></a>00258   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6276824119382472c251ba770cc32447">Fe</a>(<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a>,<a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#39aa1709c855519b74c4b01dfb6c4df3">VectorType</a>);
<a name="l00260"></a>00260 
<a name="l00261"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#96db20596e8fc1e0bfdf033f0161ec87">00261</a>   <span class="keyword">static</span> <a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">Baseclass</a>* <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#96db20596e8fc1e0bfdf033f0161ec87">NewImageMetricLoad</a>(<span class="keywordtype">void</span>)
<a name="l00262"></a>00262     { <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html" title="General image pair load that uses the itkImageToImageMetrics.">ImageMetricLoad</a>; }
<a name="l00263"></a>00263 
<a name="l00265"></a>00265   <span class="comment">//void InitializeGradientImage();</span>
<a name="l00266"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#0d84c1c45dbca6cc0fb5a26de891e737">00266</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#0d84c1c45dbca6cc0fb5a26de891e737">SetMetricGradientImage</a>(<a class="code" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">GradientImageType</a>* g)
<a name="l00267"></a>00267     { m_MetricGradientImage=g;}
<a name="l00268"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#38b68f53d6e2ef331593c6ef80e2fc13">00268</a>   <a class="code" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">GradientImageType</a>* <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#38b68f53d6e2ef331593c6ef80e2fc13">GetMetricGradientImage</a>()
<a name="l00269"></a>00269     { <span class="keywordflow">return</span>  m_MetricGradientImage;}
<a name="l00271"></a>00271 
<a name="l00272"></a>00272 
<a name="l00273"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#0f2ed6d443f7fe8766789d866036c345">00273</a>   <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#0f2ed6d443f7fe8766789d866036c345">PrintCurrentEnergy</a>()
<a name="l00274"></a>00274     { std:: cout &lt;&lt; <span class="stringliteral">" energy "</span> &lt;&lt; m_Energy &lt;&lt; std::endl;}
<a name="l00275"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#145900a27047f029998ebdaba6d285c5">00275</a>   <span class="keywordtype">double</span> <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#145900a27047f029998ebdaba6d285c5">GetCurrentEnergy</a>()
<a name="l00276"></a>00276     { <span class="keywordflow">return</span> m_Energy; }
<a name="l00277"></a><a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#e6cd136841a9b8a4ede8425ec83c61b3">00277</a>   <span class="keywordtype">void</span>  <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#e6cd136841a9b8a4ede8425ec83c61b3">SetCurrentEnergy</a>( <span class="keywordtype">double</span> e )
<a name="l00278"></a>00278     { m_Energy=e; }
<a name="l00279"></a>00279 
<a name="l00280"></a>00280 <span class="keyword">protected</span>:
<a name="l00281"></a>00281 
<a name="l00282"></a>00282 
<a name="l00283"></a>00283 <span class="keyword">private</span>:
<a name="l00284"></a>00284   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#9f3e77c5483318b7d6c80cf9f90226cb">GradientImageType</a>*            m_MetricGradientImage;
<a name="l00285"></a>00285   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#7406a107579462e5f07c4c7e3d5cca84">MovingPointer</a>                 m_RefImage;
<a name="l00286"></a>00286   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#a72ae966acc178e2dfafd5bfe44a2175">FixedPointer</a>                  m_TarImage;
<a name="l00288"></a>00288   <span class="keyword">typename</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#5bf82236e1e50e653de84c8ead448599">MovingType::SizeType</a> m_RefSize;
<a name="l00289"></a>00289   <span class="keyword">typename</span> <a class="code" href="namespaceHardConnectedComponentImageFilter.html#5bf82236e1e50e653de84c8ead448599">FixedType::SizeType</a>  m_TarSize;
<a name="l00290"></a>00290   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                  m_NumberOfIntegrationPoints;
<a name="l00291"></a>00291   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                  m_SolutionIndex;
<a name="l00292"></a>00292   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                  m_SolutionIndex2;
<a name="l00293"></a>00293   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a>                         m_Sign;
<a name="l00294"></a>00294   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a>                         m_Temp;
<a name="l00295"></a>00295   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#6b54b50fa74a494327c4429a045facab">Float</a>                         m_Gamma;
<a name="l00296"></a>00296 
<a name="l00297"></a>00297   <span class="keyword">typename</span> <a class="code" href="classitk_1_1fem_1_1Solution.html" title="Provides functions to access the values of the solution vector.">Solution::ConstPointer</a>     m_Solution;
<a name="l00298"></a>00298   <a class="code" href="classitk_1_1fem_1_1ImageMetricLoad.html#eb809d8832a6e67c882db3f0fd21ea3d">MetricBaseTypePointer</a>               m_Metric;
<a name="l00299"></a>00299   <span class="keyword">typename</span> <a class="code" href="classitk_1_1Transform.html#91fb87f6e7d36797713545762cd7ad9b">TransformBaseType::Pointer</a> m_Transform;
<a name="l00300"></a>00300   <span class="keyword">typename</span> <a class="code" href="classitk_1_1LinearInterpolateImageFunction.html#16984144aed0cfcf4682ee43ff32f252">InterpolatorType::Pointer</a>  m_Interpolator;
<a name="l00301"></a>00301 
<a name="l00302"></a>00302   <span class="keyword">mutable</span> <span class="keywordtype">double</span>                       m_Energy;
<a name="l00303"></a>00303 <span class="keyword">private</span>:
<a name="l00306"></a>00306   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> m_DummyCLID;
<a name="l00307"></a>00307 
<a name="l00308"></a>00308 };
<a name="l00309"></a>00309 
<a name="l00310"></a>00310 }} <span class="comment">// end namespace fem/itk</span>
<a name="l00311"></a>00311 
<a name="l00312"></a>00312 <span class="preprocessor">#ifndef ITK_MANUAL_INSTANTIATION</span>
<a name="l00313"></a>00313 <span class="preprocessor"></span><span class="preprocessor">#include "itkFEMImageMetricLoad.txx"</span>
<a name="l00314"></a>00314 <span class="preprocessor">#endif</span>
<a name="l00315"></a>00315 <span class="preprocessor"></span>
<a name="l00316"></a>00316 <span class="preprocessor">#endif</span>
<a name="l00317"></a>00317 <span class="preprocessor"></span>
</pre></div></div>
<hr><address><small>
Generated at Thu May 7 22:41:56 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>