<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt; color: rgb(0, 0, 0);"><div>Hi,<br>I send again the same mail because i need help really.<br>i
try to apply a discrete gaussian filter on a serie of 3D dicom
images.so i try to do what Luis said to me to read the dicom serie
before and then add the discrete gaussian filter. the code that i wrote
is the follwing, please can you help me toi correct it. really i need
help.<br>#if defined(_MSC_VER)<br>#pragma warning ( disable : 4786 )<br>#endif<br><br>#ifdef __BORLANDC__<br>#define ITK_LEAN_AND_MEAN<br>#endif<br><br><br>#include "itkOrientedImage.h"<br>#include "itkGDCMImageIO.h"<br>#include "itkGDCMSeriesFileNames.h"<br>#include "itkImageSeriesReader.h"<br>#include "itkImageFileWriter.h"<br><br><br>#include "itkRescaleIntensityImageFilter.h"<br>#include "itkDiscreteGaussianImageFilter.h"<br><br><br>int main( int argc, char* argv[] )<br>{<br><br>&nbsp;/* if( argc
 &lt; 3 )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; "Usage: " &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; argv[0] &lt;&lt; " DicomDirectory&nbsp; outputFileName&nbsp; [seriesName]" &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp; return EXIT_FAILURE;<br>&nbsp;&nbsp;&nbsp; }<br><br>*/<br><br>&nbsp;&nbsp;&nbsp; argc = 2;<br>&nbsp;&nbsp;&nbsp; argv[1] = "dicom";<br>&nbsp;&nbsp;&nbsp; argv[2] = "dicomMRA.hdr";<br>&nbsp; typedef signed short&nbsp;&nbsp;&nbsp; PixelType;<br>&nbsp; const unsigned int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dimension = 3;<br><br>&nbsp; typedef itk::OrientedImage&lt; PixelType, Dimension &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ImageType;<br><br>&nbsp; typedef itk::ImageSeriesReader&lt; ImageType &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ReaderType;<br>&nbsp; ReaderType::Pointer reader = ReaderType::New();<br><br>&nbsp; typedef itk::GDCMImageIO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 ImageIOType;<br>&nbsp; ImageIOType::Pointer dicomIO = ImageIOType::New();<br>&nbsp; <br>&nbsp; reader-&gt;SetImageIO( dicomIO );<br><br>&nbsp; typedef itk::GDCMSeriesFileNames NamesGeneratorType;<br>&nbsp; NamesGeneratorType::Pointer nameGenerator = NamesGeneratorType::New();<br><br>&nbsp; nameGenerator-&gt;SetUseSeriesDetails( true );<br>&nbsp; nameGenerator-&gt;AddSeriesRestriction("0008|0021" );<br>&nbsp; <br>&nbsp; nameGenerator-&gt;SetDirectory( argv[1] );<br><br>&nbsp; <br><br>&nbsp; try<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; std::endl &lt;&lt; "The directory: " &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; std::endl &lt;&lt; argv[1] &lt;&lt; std::endl ;<br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; "Contains the following DICOM Series: ";<br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; std::endl &lt;&lt; std::endl;<br><br><br><br>&nbsp;&nbsp;&nbsp; typedef std::vector&lt; std::string &gt;&nbsp;&nbsp;&nbsp;
 SeriesIdContainer;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; const SeriesIdContainer &amp; seriesUID = nameGenerator-&gt;GetSeriesUIDs();<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; SeriesIdContainer::const_iterator seriesItr = seriesUID.begin();<br>&nbsp;&nbsp;&nbsp; SeriesIdContainer::const_iterator seriesEnd = seriesUID.end();<br>&nbsp;&nbsp;&nbsp; while( seriesItr != seriesEnd )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; seriesItr-&gt;c_str() &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; seriesItr++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br><br>&nbsp;&nbsp;&nbsp; std::string seriesIdentifier;<br><br>&nbsp;&nbsp;&nbsp; if( argc &gt; 3 ) // If no optional series identifier<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; seriesIdentifier = argv[3];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; seriesIdentifier = seriesUID.begin()-&gt;c_str();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br><br><br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; std::endl &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; "Now reading series: " &lt;&lt; std::endl &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; seriesIdentifier &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; std::endl &lt;&lt; std::endl;<br><br><br><br><br><br>&nbsp;&nbsp;&nbsp; typedef std::vector&lt; std::string &gt;&nbsp;&nbsp; FileNamesContainer;<br>&nbsp;&nbsp;&nbsp; FileNamesContainer fileNames;<br><br>&nbsp;&nbsp;&nbsp; fileNames = nameGenerator-&gt;GetFileNames( seriesIdentifier );<br><br>&nbsp;&nbsp;&nbsp; reader-&gt;SetFileNames( fileNames );<br><br><br><br>&nbsp;&nbsp;&nbsp; try<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reader-&gt;Update();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;
 catch (itk::ExceptionObject &amp;ex)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; ex &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return EXIT_FAILURE;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br><br>}<br>&nbsp; catch (itk::ExceptionObject &amp;ex)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; ex &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp; return EXIT_FAILURE;<br>&nbsp;&nbsp;&nbsp; }<br><br>typedef itk::DiscreteGaussianImageFilter&lt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputImageType, OutputImageType &gt;&nbsp; FilterType;<br><br>&nbsp; FilterType::Pointer filter = FilterType::New();<br>&nbsp;filter-&gt;SetInput( reader-&gt;GetOutput() );<br><br>const double gaussianVariance = atof( argv[3] );<br>&nbsp; const unsigned int maxKernelWidth = atoi( argv[4] );<br>&nbsp;filter-&gt;SetVariance( gaussianVariance );<br>&nbsp;
 filter-&gt;SetMaximumKernelWidth( maxKernelWidth );<br>&nbsp; filter-&gt;Update();<br><br><br>&nbsp; typedef unsigned char WritePixelType;<br>&nbsp; typedef itk::Image&lt; WritePixelType, 2 &gt; WriteImageType;<br>&nbsp; typedef itk::RescaleIntensityImageFilter&lt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutputImageType, WriteImageType &gt; RescaleFilterType;<br>&nbsp; RescaleFilterType::Pointer rescaler = RescaleFilterType::New();<br><br>&nbsp; rescaler-&gt;SetOutputMinimum(&nbsp;&nbsp; 0 );<br>&nbsp; rescaler-&gt;SetOutputMaximum( 255 );<br><br>&nbsp; typedef itk::ImageFileWriter&lt; WriteImageType &gt;&nbsp; WriterType;<br>&nbsp; WriterType::Pointer writer = WriterType::New();<br>&nbsp; writer-&gt;SetFileName( argv[2] );<br>&nbsp; rescaler-&gt;SetInput( filter-&gt;GetOutput() );<br>&nbsp; writer-&gt;SetInput( rescaler-&gt;GetOutput() );<br>&nbsp; writer-&gt;Update();<br>&nbsp; return
 EXIT_SUCCESS;<br><br>}<br>&nbsp;&nbsp;&nbsp; thanks to all<br></div></div></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: arial,helvetica,sans-serif; font-size: 13px;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">De :</span></b> John Drescher &lt;drescherjm@gmail.com&gt;<br><b><span style="font-weight: bold;">À :</span></b> Syrine Sahmim &lt;syrine.sahmim@yahoo.fr&gt;; Insight Users &lt;insight-users@itk.org&gt;<br><b><span style="font-weight: bold;">Envoyé le :</span></b> Lundi, 3 Août 2009, 12h03mn 30s<br><b><span style="font-weight: bold;">Objet&nbsp;:</span></b> Re: [Insight-users] Re : Re : Re : Re : Re : trying examples<br></font><br>On Mon, Aug 3, 2009 at 6:51 AM, Syrine Sahmim&lt;<a ymailto="mailto:syrine.sahmim@yahoo.fr" href="mailto:syrine.sahmim@yahoo.fr">syrine.sahmim@yahoo.fr</a>&gt; wrote:<br>&gt; Where exactly
 please?<br>&gt;<br><br>Looks like the recommendation was DicomImageViewer<br><br><a href="http://public.kitware.com/cgi-bin/viewcvs.cgi/DicomImageViewer/?root=InsightApplications" target="_blank">http://public.kitware.com/cgi-bin/viewcvs.cgi/DicomImageViewer/?root=InsightApplications</a><br><br>from InsightApplications.<br><br><br>This is a separate download from itk.<br><br><br><a href="http://itk.org/ITK/resources/software.html" target="_blank">http://itk.org/ITK/resources/software.html</a><br><br><br><br>John<br></div></div></div><br>



      </body></html>