ITK/Examples/EdgesAndGradients/GradientRecursiveGaussianImageFilter: Difference between revisions

From KitwarePublic
< ITK‎ | Examples
Jump to navigationJump to search
No edit summary
(Deprecated content that is moved to sphinxe)
 
Line 1: Line 1:
This example demonstrates how to use the GradientRecursiveGaussianImageFilter which computes the gradient of an image by convolution with the first derivative of a Gaussian. The filter is implemented using the RecursiveGaussianImageFilter.
{{warning|1=The media wiki content on this page is no longer maintained.  The examples presented on the https://itk.org/Wiki/*  pages likely require ITK version 4.13 or earlier releases.  In many cases, the examples on this page no longer conform to the best practices for modern ITK versions.
}}


==GradientRecursiveGaussianImageFilter.cxx==
[https://itk.org/ITKExamples[ITK Sphinx Examples]]
<source lang="cpp">
#include "itkImageFileWriter.h"
#include "itkImageFileReader.h"
#include "itkGradientRecursiveGaussianImageFilter.h"
#include "itkImage.h"
 
int main(int argc, char* argv[])
  // Verify number of parameters in command line
  if( argc < 3 )
    {
    std::cerr << "Usage: " << std::endl;
    std::cerr << argv[0] << " inputImageFile  outputVectorImageFile " << std::endl;
    return EXIT_FAILURE;
    }
 
  //typedef
  typedef signed short          InputPixelType;
  typedef float                ComponentType;
  const  unsigned int          Dimension = 2;
 
  typedef itk::CovariantVector< ComponentType,
Dimension  >      OutputPixelType;
 
  typedef itk::Image< InputPixelType,  Dimension >    InputImageType;
  typedef itk::Image< OutputPixelType, Dimension >    OutputImageType;
 
  typedef itk::ImageFileReader< InputImageType  >  ReaderType;
  typedef itk::ImageFileWriter< OutputImageType >  WriterType;
  //Filter class is instantiated
  typedef itk::GradientRecursiveGaussianImageFilter<InputImageType, OutputImageType> FilterType;
 
  FilterType::Pointer filter = FilterType::New();
  //sigma is specified in millimeters
  filter->SetSigma( 1.5 ); 
  //create the reader and writer
  ReaderType::Pointer reader = ReaderType::New();
  WriterType::Pointer writer = WriterType::New();
  //recover file names from command line arguments
  const char * inputFilename  = argv[1];
  const char * outputFilename = argv[2]; //e.g. *.mhd (can be displayed in Paraview)
 
  reader->SetFileName( inputFilename  );
  writer->SetFileName(outputFilename);
 
  //  processing pipeline:
  filter->SetInput( reader->GetOutput() );
  writer->SetInput( filter->GetOutput() );
  try
    {
    //execute the pipeline
    writer->Update();
    }
  catch( itk::ExceptionObject & err )
    {
    std::cerr << "ExceptionObject caught !" << std::endl;
    std::cerr << err << std::endl;
    return EXIT_FAILURE;
    }
 
  return EXIT_SUCCESS;
}
</source>
{{ITKCMakeLists|{{SUBPAGENAME}}}}

Latest revision as of 20:01, 31 May 2019

Warning: The media wiki content on this page is no longer maintained. The examples presented on the https://itk.org/Wiki/* pages likely require ITK version 4.13 or earlier releases. In many cases, the examples on this page no longer conform to the best practices for modern ITK versions.

[ITK Sphinx Examples]