ITK/Examples/EdgesAndGradients/GradientRecursiveGaussianImageFilter: Difference between revisions

From KitwarePublic
< ITK‎ | Examples
Jump to navigationJump to search
(Created page with "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 ...")
 
(Deprecated content that is moved to sphinxe)
 
(One intermediate revision by one other user not shown)
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|GradientRecursiveGaussianImageFilter}}

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]