<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<font color="#000000"><small><font face="Helvetica, Arial, sans-serif">Hi
Geatan,<br>
<br>
I am in the process of reviewing your Insight Journal article "WrapITK".<br>
<br>
While compiling and installing WrapITK I have come across a number of
issues. For your information my system details are as follows:<br>
</font></small></font>
<ul>
  <li><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif">Operating System=Windows XP SP2</font></small></font></li>
  <li><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif">CMake=CMake 2.4.2</font></small></font></li>
  <li><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif">Compiler=Microsoft.NET 2003
(7.1.3088)</font></small></font></li>
  <li><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif">ITK=InsightToolkit-2.8.1</font></small></font></li>
  <li><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif">CableSwig=CVS checkout on 10th
July 2006, 9:30AM (GMT+10:00)</font></small></font></li>
  <li><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif">WrapITK=Nightly archive from
<a class="moz-txt-link-freetext" href="http://voxel.jouy.inra.fr/darcs/contrib-itk/WrapITK/WrapITK.tar.gz">http://voxel.jouy.inra.fr/darcs/contrib-itk/WrapITK/WrapITK.tar.gz</a>
downloaded on 10th July 2006, 8:45AM (GMT+10:00)</font></small></font></li>
  <li><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif">Python=Python 2.4.3 (#69, Mar 29
2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on win32</font></small></font></li>
</ul>
<font color="#000000"><small><font face="Helvetica, Arial, sans-serif"><br>
<b>1. Error accessing __FUNCSIG__:</b><br>
For some reason while compiling <font
 face="Courier New, Courier, monospace">_IOPython</font> I received the
following error:<br>
<font face="Courier New, Courier, monospace"><font color="#666666">In
file included from
C:/Dan/Tools/ITK/src/WrapITK/Modules/IO/wrap_ITKIOBase.cxx:64:<br>
C:/Dan/Tools/ITK/src/InsightToolkit-2.8.1/Code/IO/itkGDCMSeriesFileNames.h:
In<br>
&nbsp;&nbsp; member function `void
itk::GDCMSeriesFileNames::SetInputDirectory(const <br>
&nbsp;&nbsp; char*)':<br>
C:/Dan/Tools/ITK/src/InsightToolkit-2.8.1/Code/IO/itkGDCMSeriesFileNames.h:73:
error: `<br>
&nbsp;&nbsp; __FUNCSIG__' undeclared (first use this function)<br>
C:/Dan/Tools/ITK/src/InsightToolkit-2.8.1/Code/IO/itkGDCMSeriesFileNames.h:73:
error: (Each<br>
&nbsp;&nbsp; undeclared identifier is reported only once for each function it
appears <br>
&nbsp;&nbsp; in.)<br>
Project : error PRJ0019: A tool returned an error code from "Generating
wrap_ITKIOBase.xml"</font><font face="Helvetica, Arial, sans-serif"><br>
<br>
When I comment out the offending line, the project compiles fine:<br>
<font color="#666666" face="Courier New, Courier, monospace">/** Set
the directory that contains the DICOM series. */<br>
void SetInputDirectory (const char * name)<br>
{<br>
if( !name )<br>
&nbsp; {<br>
&nbsp; itkExceptionMacro(&lt;&lt;"SetInputDirectory() received a NULL
string"); //&lt;&lt;&lt; commenting this fixes it<br>
&nbsp; }<br>
std::string fname = name;<br>
this-&gt;SetInputDirectory( fname );<br>
}</font><br>
<br>
Note that <font face="Courier New, Courier, monospace">itkExceptionMacro</font>
expands based on <font face="Courier New, Courier, monospace">itkMacro.h</font>:<br>
<font color="#666666" face="Courier New, Courier, monospace">#define
itkExceptionMacro(x) \<br>
&nbsp; { \<br>
&nbsp; ::itk::OStringStream message; \<br>
&nbsp; message &lt;&lt; "itk::ERROR: " &lt;&lt; this-&gt;GetNameOfClass() \<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; "(" &lt;&lt; this &lt;&lt; "): " x; \<br>
&nbsp; ::itk::ExceptionObject e_(__FILE__, __LINE__,
message.str().c_str(),ITK_LOCATION); \<br>
&nbsp; throw e_; /* Explicit naming to work around Intel compiler bug.&nbsp; */ \<br>
&nbsp; }</font><br>
<br>
and <font face="Courier New, Courier, monospace">ITK_LOCATION</font>
is expanded based on <font face="Courier New, Courier, monospace">itkMacro.h</font>:<br>
<font color="#666666" face="Courier New, Courier, monospace">#if
defined(ITK_CPP_FUNCTION)<br>
&nbsp; #if defined(__BORLANDC__)<br>
&nbsp;&nbsp;&nbsp; #define ITK_LOCATION __FUNC__<br>
&nbsp; #elif defined(_WIN32) &amp;&amp; !defined(__MINGW32__) &amp;&amp;
!defined(__CYGWIN__)<br>
&nbsp;&nbsp;&nbsp; #define ITK_LOCATION __FUNCSIG__ // &lt;&lt;&lt; this line is
obviously being used by the macro<br>
&nbsp; #elif defined(__GNUC__)<br>
&nbsp;&nbsp;&nbsp; #define ITK_LOCATION __PRETTY_FUNCTION__<br>
&nbsp; #else<br>
&nbsp;&nbsp;&nbsp; #define ITK_LOCATION __FUNCTION__<br>
&nbsp; #endif<br>
#else<br>
&nbsp; #define ITK_LOCATION "unknown"<br>
#endif</font><br>
<br>
This error is quite interesting (ie. baffling) because I can compile
other ITK code containing __FUNCSIG__ just fine. I don't understand why
the __FUNCSIG__ macro is not recognised in this instance. Any
thoughts/ideas/help?? I don't envisage needing to use
itk::GDCMSeriesFileNames so it is not a major issue for me.<br>
<br>
<b>2. Object file format limit exceeded:</b><br>
During my first attempt to configure/compile WrapITK I used the default
settings, EXCEPT that I set<font face="Courier New, Courier, monospace">
WRAP_unsigned_short=ON.</font><br>
<br>
Doing this caused the follow error during compilation of <font
 face="Courier New, Courier, monospace">_BasePython</font>:<br>
<font color="#666666" face="Courier New, Courier, monospace">c:\dan\tools\itk\src\insighttoolkit-2.8.1\code\common\itksmartpointer.h(55)
: fatal error C1128: object file format limit exceeded : more than
65,279 sections</font><br>
<br>
The Microsoft documentation says the following about C1128:<br>
<font color="#666666" face="Courier New, Courier, monospace">An .obj
file exceeded the number of allowable sections, a COFF object file
format limitation.<br>
Reaching this section limitation can be the result of using /Gy and a
debug build; /Gy causes functions to go into their own COMDAT sections.
In a debug build, there is a debug info section for each COMDAT
function.<br>
C1128 can also be caused when there are too many inline functions.<br>
To correct this error, divide your source file into multiple source
code files.</font><br>
<br>
I reset the project to use the default CMake settings (ie.
WRAP_unsigned_short=OFF) and this error went away. Perhaps when
wrapping with lots of types (eg. default types + 1) I am reaching the
object file limitations?? Maybe breaking _BasePython into 2 or more
projects would solve the issue (if possible)?<br>
<br>
<b>3. </b></font></font></font></small></font><b><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif"><font
 face="Courier New, Courier, monospace"><font
 face="Helvetica, Arial, sans-serif">Ambiguous call to overloaded
function </font></font></font></small></font><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif"><font
 face="Courier New, Courier, monospace"><font
 face="Helvetica, Arial, sans-serif">'sqrt':</font></font></font></small></font></b><br>
<font color="#000000"><small><font face="Helvetica, Arial, sans-serif"><font
 face="Courier New, Courier, monospace"><font
 face="Helvetica, Arial, sans-serif">While compiling <font
 face="Courier New, Courier, monospace">_DistanceMapPython</font> I
encountered the following error:<br>
<font color="#666666" face="Courier New, Courier, monospace">wrap_itkSignedMaurerDistanceMapImageFilterPython.cxx<br>
c:\Dan\Tools\ITK\src\InsightToolkit-2.8.1\Code\BasicFilters\itkSignedMaurerDistanceMapImageFilter.txx(241)
: error C2668: 'sqrt' : ambiguous call to overloaded function<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\include\math.h(626): could be 'long double sqrt(long double)'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\include\math.h(578): or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'float sqrt(float)'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\include\math.h(200): or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'double sqrt(double)'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while trying to match the argument list '(unsigned short)'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\include\xmemory(156) : while compiling class-template member
function 'void
itk::SignedMaurerDistanceMapImageFilter&lt;TInputImage,TOutputImage&gt;::GenerateData(void)'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=itk::Image&lt;short,3&gt;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=itk::Image&lt;short,3&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wrap_itkSignedMaurerDistanceMapImageFilterPython.cxx(10865) :
see reference to class template instantiation
'itk::SignedMaurerDistanceMapImageFilter&lt;TInputImage,TOutputImage&gt;'
being compiled<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=itk::Image&lt;short,3&gt;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=itk::Image&lt;short,3&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]</font><br>
<br>
I fixed this by editing </font></font></font></small></font><font
 color="#000000"><small><font face="Helvetica, Arial, sans-serif"><font
 face="Courier New, Courier, monospace"><font
 face="Helvetica, Arial, sans-serif"><font
 face="Courier New, Courier, monospace">itkSignedMaurerDistanceMapImageFilter.txx</font></font></font></font></small></font><font
 color="#000000"><small><font face="Helvetica, Arial, sans-serif"><font
 face="Courier New, Courier, monospace"><font
 face="Helvetica, Arial, sans-serif"> to explicitly casting to double
before the call to sqrt.<br>
<br>
<b>4. C</b></font></font></font></small></font><b><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif"><font
 face="Courier New, Courier, monospace"><font
 face="Helvetica, Arial, sans-serif">annot access protected member </font></font></font></small></font></b><font
 color="#000000"><small><font face="Helvetica, Arial, sans-serif"><font
 face="Courier New, Courier, monospace"><font
 face="Helvetica, Arial, sans-serif"><b>EnlargeOutputRequestedRegion:</b><br>
While compiling <font face="Courier New, Courier, monospace">_SegmentationAndThresholdPython</font>
I encountered the following error:<br>
</font></font></font></small></font><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif"><font
 face="Courier New, Courier, monospace"><font
 face="Helvetica, Arial, sans-serif"><font color="#666666"
 face="Courier New, Courier, monospace">wrap_itkScalarConnectedComponentImageFilterPython.cxx(11151)
: error C2248:
'itk::ConnectedComponentImageFilter&lt;TInputImage,TOutputImage,TMaskImage&gt;::EnlargeOutputRequestedRegion'
: cannot access protected member declared in class
'itk::ConnectedComponentImageFilter&lt;TInputImage,TOutputImage,TMaskImage&gt;'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=itk::Image&lt;short,2&gt;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=itk::Image&lt;short,2&gt;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TMaskImage=itk::Image&lt;short,2&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=itk::Image&lt;short,2&gt;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=itk::Image&lt;short,2&gt;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TMaskImage=itk::Image&lt;short,2&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
c:\Dan\Tools\ITK\src\InsightToolkit-2.8.1\Code\BasicFilters\itkConnectedComponentImageFilter.h(149)
: see declaration of
'itk::ConnectedComponentImageFilter&lt;TInputImage,TOutputImage,TMaskImage&gt;::EnlargeOutputRequestedRegion'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=itk::Image&lt;short,2&gt;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=itk::Image&lt;short,2&gt;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TMaskImage=itk::Image&lt;short,2&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]</font><br>
<br>
To temporarily fix this and continue with the compile I renamed <font
 face="Courier New, Courier, monospace">wrap_itkScalarConnectedComponentImageFilter.cmake</font>
to ensure it was not included. After re-configuring with CMake this
project compiled correctly.<br>
<br>
<b>5. Python installation:</b><br>
When I install WrapITK (ie. build the INSTALL project) it copies the
created files to the <font face="Courier New, Courier, monospace">CMAKE_INSTALL_PREFIX
/ WRAP_ITK_INSTALL_PREFIX</font> folder (in my case <font
 face="Courier New, Courier, monospace">C:/Program Files/WrapITK/lib/InsightToolkit/WrapITK/Python</font>).<br>
<br>
However, the Python site-packages WrapITK.pth file does not contain the
correct paths for usage. The generated WrapITK.pth file is:<br>
<font color="#666666" face="Courier New, Courier, monospace"><font
 color="#009900"># Python pth file to add WrapITK's path to sys.path.</font><br>
C:/Program Files/WrapITK//lib/InsightToolkit/WrapITK/Python</font><br>
which does not allow Python access to all the files. I manually changed
WrapITK.pth to:<br>
</font></font></font></small></font><font color="#666666"
 face="Courier New, Courier, monospace"><small><font color="#009900">#
Python pth file to add WrapITK's path to sys.path.</font><br>
C:/Program Files/WrapITK/lib/InsightToolkit/WrapITK/Python</small><br>
</font><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif"><font
 face="Courier New, Courier, monospace"><font
 face="Helvetica, Arial, sans-serif"><font color="#666666"
 face="Courier New, Courier, monospace">C:/Program
Files/WrapITK/lib/InsightToolkit/WrapITK/lib</font><br>
to make it work correctly.<br>
<br>
Also, the <font face="Courier New, Courier, monospace">SwigRuntimePython.dll</font>
file is copied to the <font face="Courier New, Courier, monospace">C:/Program
Files/WrapITK/bin</font> folder and is not accessible to Python. I had
to manually copy this file to </font></font></font></small></font><font
 color="#000000" face="Courier New, Courier, monospace"><small>C:/Program
Files/WrapITK/lib/InsightToolkit/WrapITK/Python<font
 face="Helvetica, Arial, sans-serif"> to ensure Python finds it.<br>
<br>
Finally, some required Python files (<font
 face="Courier New, Courier, monospace">itk.py</font>, <font
 face="Courier New, Courier, monospace">itkBase.py</font>, <font
 face="Courier New, Courier, monospace">itkTemplate.py</font>, <font
 face="Courier New, Courier, monospace">itktesting.py</font>, and <font
 face="Courier New, Courier, monospace">itkTypes.py</font>) were not
copied to the installation folder. I manually copied these in order for
Python to automatically detect WrapITK.<br>
<br>
<b>6. String formatting:</b><br>
It seems the formatting for the itkExtras function <font
 face="Courier New, Courier, monospace">auto_progress(bool)</font> is
not correct. I'm not a Python guru, so perhaps it's something at my
end? The follow results don't look very nice to me:<br>
</font></small></font><font color="#000000"
 face="Courier New, Courier, monospace"><small><font
 face="Helvetica, Arial, sans-serif"><font color="#666666"
 face="Courier New, Courier, monospace">&gt;&gt;&gt; imagetype =
itk.Image[itk.UC, 2]<br>
&gt;&gt;&gt; reader =
itk.ImageFileReader[imagetype].New(FileName="c:/temp/input.png")<br>
</font></font></small></font><font color="#000000"
 face="Courier New, Courier, monospace"><small><font
 face="Helvetica, Arial, sans-serif"><font color="#666666"
 face="Courier New, Courier, monospace">&gt;&gt;&gt;
itk.auto_progress(True)</font></font></small></font><br>
<font color="#000000" face="Courier New, Courier, monospace"><small><font
 face="Helvetica, Arial, sans-serif"><font color="#666666"
 face="Courier New, Courier, monospace">&gt;&gt;&gt; filter =
itk.GradientMagnitudeImageFilter[imagetype,
imagetype].New(Input=reader.GetOutput())<br>
&gt;&gt;&gt; filter.Update()</font><font color="#666666"
 face="Courier New, Courier, monospace"><br>
</font><font color="#666666" face="Courier New, Courier, monospace">&nbsp;&#8592;[2000D&#8592;[KitkGradientMagnitudeImageFilterIUC2IUC2:
0.000000 &#8592;[2000D&#8592;[KitkGradie<br>
ntMagnitudeImageFilterIUC2IUC2: 0.009979
&#8592;[2000D&#8592;[KitkGradientMagnitudeImageFilt<br>
erIUC2IUC2: 0.019958 &#8592;[2000D&#8592;[KitkGradientMagnitudeImageFilterIUC2IUC2:
0.029938<br>
&nbsp;&#8592;[2000D&#8592;[KitkGradientMagnitudeImageFilterIUC2IUC2: 0.039917
&#8592;[2000D&#8592;[KitkGradie<br>
ntMagnitudeImageFilterIUC2IUC2: 0.049896
&#8592;[2000D&#8592;[KitkGradientMagnitudeImageFilt<br>
erIUC2IUC2: 0.059875 &#8592;[2000D&#8592;[KitkGradientMagnitudeImageFilterIUC2IUC2:
0.069855<br>
&nbsp;&#8592;[2000D&#8592;[KitkGradientMagnitudeImageFilterIUC2IUC2: 0.079834
&#8592;[2000D&#8592;[KitkGradie<br>
...</font><br>
<br>
Also, the output of the below example is not correct:<br>
<font color="#666666" face="Courier New, Courier, monospace">&gt;&gt;&gt;
print itk.size(reader)<br>
&Oacute;&yacute;B&#9824;e [256, 256]&gt;</font><br>
<br>
</font></small></font><font color="#000000"
 face="Courier New, Courier, monospace"><small><font
 face="Helvetica, Arial, sans-serif">The above example should be:<br>
</font></small></font><font color="#000000"
 face="Courier New, Courier, monospace"><small><font
 face="Helvetica, Arial, sans-serif"><font color="#666666"
 face="Courier New, Courier, monospace">&gt;&gt;&gt; print
itk.size(reader)<br>
&lt;Size [256, 256]&gt;<br>
<br>
</font></font></small></font><font color="#000000"
 face="Courier New, Courier, monospace"><small><font
 face="Helvetica, Arial, sans-serif">Perhaps I have the wrong string
encoding specified? Or perhaps <font color="#000000"
 face="Courier New, Courier, monospace">print </font>does not work on
Python win32? Any thoughts/help?<br>
</font></small></font><font color="#000000"
 face="Courier New, Courier, monospace"><small><font
 face="Helvetica, Arial, sans-serif"><br>
<br>
</font></small></font><font color="#000000"><small><font
 face="Helvetica, Arial, sans-serif">Geatan, </font></small></font><font
 color="#000000" face="Courier New, Courier, monospace"><small><font
 face="Helvetica, Arial, sans-serif">please feel free to contact me if
you require any further clarification on the issues described above. <br>
<br>
Besides these minor issues, WrapITK is fantastic - thanks for the nice
addition to ITK! I'll be posting my review to the article soon.<br>
<br>
Cheers<br>
<br>
Dan Mueller<br>
PhD Student<br>
Queensland University of Technology (QUT)<br>
Brisbane, Australia<br>
</font></small></font><small><font face="Helvetica, Arial, sans-serif">CRICOS
No: 00213J
</font></small><font color="#000000"
 face="Courier New, Courier, monospace"><small><font
 face="Helvetica, Arial, sans-serif"><br>
</font></small></font>
</body>
</html>