<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>



<META content="MSHTML 6.00.2900.2668" name=GENERATOR>
<STYLE>
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
P.MsoPlainText {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Courier New"
}
LI.MsoPlainText {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Courier New"
}
DIV.MsoPlainText {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Courier New"
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV id=idOWAReplyText89257 dir=ltr>
<DIV dir=ltr><FONT face=Arial color=#000000 size=2></FONT>&nbsp;</DIV></DIV>
<DIV dir=ltr><BR>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Atwood, Robert C<BR><B>Sent:</B> Thu 
11/08/2005 19:06<BR><B>To:</B> ITK Mailing List<BR><B>Subject:</B> Median: 
different result on different machines<BR></FONT><BR></DIV>
<DIV>
<DIV id=idOWAReplyText28106 dir=ltr>Dear ITK list:</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>I noticed different results on a new machine compared to the same 
code on the old machine, so I carefully removed all parts of my code until I had 
the minimum that exhibits the different results. It is basically </DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>ImageFileReader ---&gt; MedianImageFilter ---&gt; ImageFileWriter 
</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>Machine 1:&nbsp; Intel p4 2800 , RedHat enterprise WS-3 + online 
up2date, ITK from a few weeks ago cvs</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>Machine 2 Intel p4 3400 with em64t (x86_64) SUSE 9.1 + online 
Y.O.U. updates , ITK from&nbsp;today (but first I tried with the same&nbsp;ITK 
source as Machine 1&nbsp;with the same effect.</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>On machine 1 the median result looks correct (here it is hard-coded 
radius 3&nbsp;jsut to try) </DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>On machine 2 there is speckle noise that seems to appear as a 
result of the median.</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>Running the test program that was compiled on machine 1, on machine 
2, does not give the speckles. I got rid of my slice print output routine in 
case that was causing it, and used an independant volume viewer to look at the 
volume, it is definintely speckly! </DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>I hope this is a simple problem&nbsp; that someone already knows 
the answer for , and can share it with me. Otherwise, I can provide any 
additional details that will be useful to diagnose the problem. It would be nice 
if it worked on the new machine because it is considerably faster.</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>Thanks</DIV>
<DIV dir=ltr>Robert</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>(here's the code) </DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>#include &lt;stdio.h&gt;<BR>#include &lt;string.h&gt;<BR>#include 
&lt;malloc.h&gt;</DIV>
<DIV dir=ltr>#include "itkImage.h"<BR>#include 
"itkImageFileWriter.h"<BR>#include "itkImageFileReader.h"<BR>#include 
"itkMedianImageFilter.h"</DIV>
<DIV dir=ltr>&nbsp; typedef float PixelType;</DIV>
<DIV dir=ltr>&nbsp; typedef itk::Image&lt; PixelType, 3 &gt; 
ScalarImageType;</DIV>
<DIV dir=ltr>&nbsp; // definitions for writing the image<BR>&nbsp; typedef 
itk::ImageFileWriter&lt; ScalarImageType &gt; WriterType;<BR>&nbsp; typedef 
itk::ImageFileReader&lt;ScalarImageType&gt; ReaderType;<BR>&nbsp; //median 
filter <BR>&nbsp; typedef 
itk::MedianImageFilter&lt;ScalarImageType,ScalarImageType&gt; VolMedian;</DIV>
<DIV dir=ltr>/*********************************/<BR>/* beginning of MAIN 
routine&nbsp;&nbsp;&nbsp;&nbsp; */<BR>/*********************************/<BR>int 
main(int argc, char ** argv) {</DIV>
<DIV dir=ltr>&nbsp; int med_rad=3;<BR>&nbsp; /* ITK objects needed for 
processing the volume&nbsp; */<BR>&nbsp; VolMedian::Pointer volmedian = 
VolMedian::New();<BR>&nbsp; ReaderType::Pointer reader = 
ReaderType::New();<BR>&nbsp; WriterType::Pointer writer = 
WriterType::New();<BR>&nbsp; ScalarImageType::SizeType vol_rad;</DIV>
<DIV dir=ltr>&nbsp; if (argc != 2){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
printf("Little program to test itk median 
filter\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Usage: %s 
input.mhd\n",argv[0]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Only itk 
registered data file types to avoid extra\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
printf("import filter code.\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
printf("Median radius fixed at %i\n",med_rad);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
return(0);<BR>&nbsp; }</DIV>
<DIV dir=ltr>&nbsp; vol_rad[0] = med_rad;<BR>&nbsp; vol_rad[1] = 
med_rad;<BR>&nbsp; vol_rad[2] = med_rad;</DIV>
<DIV dir=ltr>&nbsp; volmedian-&gt;SetRadius(vol_rad);</DIV>
<DIV dir=ltr>&nbsp; printf("...3d Median ... itk radius %i 
..\n",med_rad);<BR>&nbsp; 
volmedian-&gt;SetInput(reader-&gt;GetOutput());<BR>&nbsp;&nbsp;&nbsp;&nbsp; /* 
add the volume writer */<BR>&nbsp; 
writer-&gt;SetInput(volmedian-&gt;GetOutput());<BR>&nbsp; 
writer-&gt;SetFileName( "mediantest.mhd" );<BR>&nbsp; 
reader-&gt;SetFileName(argv[1]);<BR>&nbsp; try {<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
writer-&gt;Update();<BR>&nbsp; }catch( itk::ExceptionObject &amp; exp ) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; "Exception caught 04 writer 
update !" &lt;&lt; std::endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; exp 
&lt;&lt; std::endl;<BR>&nbsp; }<BR>&nbsp; printf("All done\n");<BR>&nbsp; return 
(0);<BR>}<BR></DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr>&nbsp;</DIV></DIV></BODY></HTML>