[Insight-users] Filtering Examples:ThresholdImageFilter.cxx

Pedro Madrigal Bayonas pmb_007 at hotmail.com
Tue Apr 22 03:58:21 EDT 2008


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


More information about the Insight-users mailing list