<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
Hi, <BR>
I´m new user,&nbsp;when I compile and execute ThresholdImageFilter.exe, nothing happens.<BR>
what I must change in the code to read an image(for example mri.png) that is in the same directory of the .exe and put the ouptfiles there too??<BR>
&nbsp;<BR>
Thanks!<BR>
&nbsp;<BR>
&nbsp;<BR>
/*=========================================================================<BR>
&nbsp; Program:&nbsp;&nbsp; Insight Segmentation &amp; Registration Toolkit<BR>&nbsp; Module:&nbsp;&nbsp;&nbsp; $RCSfile: ThresholdImageFilter.cxx,v $<BR>&nbsp; Language:&nbsp; C++<BR>&nbsp; Date:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $Date: 2005/08/31 13:55:22 $<BR>&nbsp; Version:&nbsp;&nbsp; $Revision: 1.28 $<BR>
&nbsp; Copyright (c) Insight Software Consortium. All rights reserved.<BR>&nbsp; See ITKCopyright.txt or <A href="http://www.itk.org/HTML/Copyright.htm">http://www.itk.org/HTML/Copyright.htm</A> for details.<BR>
&nbsp;&nbsp;&nbsp;&nbsp; This software is distributed WITHOUT ANY WARRANTY; without even <BR>&nbsp;&nbsp;&nbsp;&nbsp; the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR <BR>&nbsp;&nbsp;&nbsp;&nbsp; PURPOSE.&nbsp; See the above copyright notices for more information.<BR>
=========================================================================*/<BR>#if defined(_MSC_VER)<BR>#pragma warning ( disable : 4786 )<BR>#endif<BR>
#ifdef __BORLANDC__<BR>#define ITK_LEAN_AND_MEAN<BR>#endif<BR>
&nbsp;<BR>
#include "itkThresholdImageFilter.h"<BR>// Software Guide : EndCodeSnippet<BR>
#include "itkImage.h"<BR>#include "itkImageFileReader.h"<BR>#include "itkImageFileWriter.h"<BR>
int main( int argc, char&nbsp; *argv[])<BR>{<BR>&nbsp; <BR>
&nbsp; if( argc &lt; 5 )<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; "Usage: " &lt;&lt; argv[0] &lt;&lt; " inputImageFile ";<BR>&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; " outputImageFile1 outputImageFile2 outputImageFile3" &lt;&lt; std::endl;&nbsp; <BR>&nbsp;&nbsp;&nbsp; return EXIT_FAILURE;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp; <BR>&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //<BR>&nbsp; //&nbsp; Then we must decide what pixel type to use for the image. This filter is<BR>&nbsp; //&nbsp; templated over a single image type because the algorithm only modifies<BR>&nbsp; //&nbsp; pixel values outside the specified range, passing the rest through<BR>&nbsp; //&nbsp; unchanged.<BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; typedef&nbsp; unsigned char&nbsp; PixelType;<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //<BR>&nbsp; //&nbsp; The image is defined using the pixel type and the dimension.<BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; typedef itk::Image&lt; PixelType,&nbsp; 2 &gt;&nbsp;&nbsp; ImageType;<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
<BR>&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //<BR>&nbsp; //&nbsp; The filter can be instantiated using the image type defined above.<BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; typedef itk::ThresholdImageFilter&lt; ImageType &gt;&nbsp; FilterType;<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
<BR>&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //<BR>&nbsp; //&nbsp; An \doxygen{ImageFileReader} class is also instantiated in order to read<BR>&nbsp; //&nbsp; image data from a file. <BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; typedef itk::ImageFileReader&lt; ImageType &gt;&nbsp; ReaderType;<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //&nbsp; <BR>&nbsp; // An \doxygen{ImageFileWriter} is instantiated in order to write the<BR>&nbsp; // output image to a file.<BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; typedef itk::ImageFileWriter&lt; ImageType &gt;&nbsp; WriterType;<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
&nbsp;<BR>
&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //<BR>&nbsp; //&nbsp; Both the filter and the reader are created by invoking their \code{New()}<BR>&nbsp; //&nbsp; methods and assigning the result to SmartPointers.<BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; ReaderType::Pointer reader = ReaderType::New();<BR>&nbsp; FilterType::Pointer filter = FilterType::New();<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
&nbsp; WriterType::Pointer writer = WriterType::New();<BR>&nbsp; writer-&gt;SetInput( filter-&gt;GetOutput() );<BR>&nbsp; reader-&gt;SetFileName( argv[1] );<BR>
<BR>&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //&nbsp; <BR>&nbsp; //&nbsp; The image obtained with the reader is passed as input to the<BR>&nbsp; //&nbsp; \doxygen{ThresholdImageFilter}.<BR>&nbsp; //<BR>&nbsp; //&nbsp; \index{itk::ThresholdImageFilter!SetInput()}<BR>&nbsp; //&nbsp; \index{itk::FileImageReader!GetOutput()}<BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; filter-&gt;SetInput( reader-&gt;GetOutput() );<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
<BR>&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //&nbsp; <BR>&nbsp; //&nbsp; The method \code{SetOutsideValue()} defines the intensity value to be<BR>&nbsp; //&nbsp; assigned to those pixels whose intensities are outside the range defined<BR>&nbsp; //&nbsp; by the lower and upper thresholds. <BR>&nbsp; //&nbsp; <BR>&nbsp; //&nbsp; \index{itk::ThresholdImageFilter!SetOutsideValue()}<BR>&nbsp; //&nbsp; \index{SetOutsideValue()!itk::ThresholdImageFilter}<BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; filter-&gt;SetOutsideValue( 0 );<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
<BR>&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //&nbsp; <BR>&nbsp; //&nbsp; The method \code{ThresholdBelow()} defines the intensity value below<BR>&nbsp; //&nbsp; which pixels of the input image will be changed to the \code{OutsideValue}.<BR>&nbsp; //&nbsp; <BR>&nbsp; //&nbsp; \index{itk::ThresholdImageFilter!ThresholdBelow()}<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; filter-&gt;ThresholdBelow( 180 );<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //&nbsp; <BR>&nbsp; //&nbsp; The filter is executed by invoking the \code{Update()} method. If the<BR>&nbsp; //&nbsp; filter is part of a larger image processing pipeline, calling<BR>&nbsp; //&nbsp; \code{Update()} on a downstream filter will also trigger update of this<BR>&nbsp; //&nbsp; filter.<BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; filter-&gt;Update();<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
<BR>&nbsp; writer-&gt;SetFileName( argv[2] );<BR>&nbsp; writer-&gt;Update();<BR>
<BR>&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //&nbsp; <BR>&nbsp; //&nbsp; The output of this example is shown in<BR>&nbsp; //&nbsp; Figure~\ref{fig:ThresholdTransferFunctionBelow}.&nbsp; The second operating mode of<BR>&nbsp; //&nbsp; the filter is now enabled by calling the method<BR>&nbsp; //&nbsp; \code{ThresholdAbove()}.<BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; filter-&gt;ThresholdAbove( 180 );<BR>&nbsp; filter-&gt;Update();<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
<BR>&nbsp; writer-&gt;SetFileName( argv[3] );<BR>&nbsp; writer-&gt;Update();<BR>
&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //&nbsp; <BR>&nbsp; //&nbsp; Updating the filter with this new setting produces the output shown in<BR>&nbsp; //&nbsp; Figure~\ref{fig:ThresholdTransferFunctionAbove}.&nbsp; The third operating<BR>&nbsp; //&nbsp; mode of the filter is enabled by calling \code{ThresholdOutside()}.<BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
&nbsp; // Software Guide : BeginCodeSnippet<BR>&nbsp; filter-&gt;ThresholdOutside( 170,190 );<BR>&nbsp; filter-&gt;Update();<BR>&nbsp; // Software Guide : EndCodeSnippet<BR>
<BR>&nbsp; writer-&gt;SetFileName( argv[4] );<BR>&nbsp; writer-&gt;Update();<BR>
<BR>&nbsp; //&nbsp; Software Guide : BeginLatex<BR>&nbsp; //&nbsp; <BR>&nbsp; //&nbsp; The output of this third, ``band-pass'' thresholding mode is shown in<BR>&nbsp; //&nbsp; Figure~\ref{fig:ThresholdTransferFunctionOutside}.<BR>&nbsp; //<BR>&nbsp; //&nbsp; The examples in this <BR>&nbsp; //&nbsp; section also illustrate the limitations of the thresholding filter for performing<BR>&nbsp; //&nbsp; segmentation by itself. These limitations are particularly noticeable<BR>&nbsp; //&nbsp; in noisy images and in images lacking spatial uniformity, as is the case<BR>&nbsp; //&nbsp; with MRI due to field bias.<BR>&nbsp; //<BR>&nbsp; //&nbsp; \relatedClasses<BR>&nbsp; //&nbsp; \begin{itemize}<BR>&nbsp; //&nbsp; \item \doxygen{BinaryThresholdImageFilter}<BR>&nbsp; //&nbsp; \end{itemize}<BR>&nbsp; //<BR>&nbsp; //&nbsp; Software Guide : EndLatex <BR>
<BR>&nbsp; return EXIT_SUCCESS;<BR>}<BR>
&nbsp;<BR><br /><hr />Sigue los principales acontecimientos deportivos en directo. <a href='http://video.msn.com/video.aspx?mkt=es-es' target='_new'>MSN Motor</a></body>
</html>