<!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">
Dear Pedro,<br>
<br>
This is the code I used to compile the ThresholdImageFilter. I works
perfectly, so compile and execute it and see if it works to you. You
have to include the input image in the debug/release directory (if you
compile using Visual Studio).<br>
<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 "itkThresholdImageFilter.h"<br>
#include "itkImage.h"<br>
#include "itkImageFileReader.h"<br>
#include "itkImageFileWriter.h"<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; argv[0] &lt;&lt; "
inputImageFile ";<br>
&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; " outputImageFile1" &lt;&lt; std::endl;&nbsp; <br>
&nbsp;&nbsp;&nbsp; return EXIT_FAILURE;<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp; <br>
&nbsp; <br>
&nbsp; typedef&nbsp; float&nbsp; PixelType;<br>
&nbsp; typedef itk::Image&lt; PixelType,&nbsp; 3 &gt;&nbsp;&nbsp; ImageType;<br>
&nbsp; typedef itk::ThresholdImageFilter&lt; ImageType &gt;&nbsp; FilterType;<br>
&nbsp; typedef itk::ImageFileReader&lt; ImageType &gt;&nbsp; ReaderType;<br>
&nbsp; typedef itk::ImageFileWriter&lt; ImageType &gt;&nbsp; WriterType;<br>
&nbsp; <br>
&nbsp; ReaderType::Pointer reader = ReaderType::New();<br>
&nbsp; FilterType::Pointer filter = FilterType::New();<br>
&nbsp; WriterType::Pointer writer = WriterType::New();<br>
&nbsp; <br>
&nbsp; writer-&gt;SetInput( filter-&gt;GetOutput() );<br>
&nbsp; reader-&gt;SetFileName( argv[1] );<br>
&nbsp; reader-&gt;Update();<br>
<br>
<br>
&nbsp; filter-&gt;SetInput( reader-&gt;GetOutput() );<br>
&nbsp; filter-&gt;SetOutsideValue( 0 );<br>
&nbsp; <br>
&nbsp; filter-&gt;ThresholdBelow( 1 );<br>
&nbsp; filter-&gt;Update();<br>
&nbsp; <br>
<br>
&nbsp; writer-&gt;SetFileName( argv[2] );<br>
&nbsp; writer-&gt;Update();<br>
<br>
&nbsp; return EXIT_SUCCESS;<br>
}<br>
<br>
<br>
Hope that helps<br>
Best<br>
Irene<br>
<br>
<br>
<br>
<br>
Pedro Madrigal Bayonas wrote:
<blockquote cite="midBAY134-W4724C34089C032097458E7D8E00@phx.gbl"
 type="cite">
  <style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
  </style>Hi, <br>
I&acute;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>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Insight-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Insight-users@itk.org">Insight-users@itk.org</a>
<a class="moz-txt-link-freetext" href="http://www.itk.org/mailman/listinfo/insight-users">http://www.itk.org/mailman/listinfo/insight-users</a>
  </pre>
</blockquote>
<br>
</body>
</html>