ITK/Examples/Morphology/GrayscaleDilateImageFilter: 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:
<div class="floatcenter">[[File:ITK_Examples_Baseline_Morphology_TestGrayscaleDilateImageFilter.png]]</div>
{{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.
Dilate regions in a grayscale image using a specified kernel.
}}


==GrayscaleDilateImageFilter.cxx==
[https://itk.org/ITKExamples[ITK Sphinx Examples]]
<source lang="cpp">
#include "itkImage.h"
#include "itkGrayscaleDilateImageFilter.h"
#include "itkImageFileReader.h"
#include "itkBinaryBallStructuringElement.h"
#include "itkSubtractImageFilter.h"
 
#include "itksys/SystemTools.hxx"
 
#include "QuickView.h"
 
int main(int argc, char *argv[])
{
  if(argc < 2)
    {
    std::cerr << "Usage: " << std::endl;
    std::cerr << argv[0] << " InputImageFile [radius]" << std::endl;
    return EXIT_FAILURE;
    }
 
  unsigned int radius = 2;
  if (argc > 2)
    {
    radius = atoi(argv[2]);
    }
 
  std::string inputFilename = argv[1];
 
  typedef itk::Image<unsigned char, 2>    ImageType;
  typedef itk::ImageFileReader<ImageType> ReaderType;
  ReaderType::Pointer reader = ReaderType::New();
  reader->SetFileName(inputFilename);
 
  typedef itk::BinaryBallStructuringElement<
    ImageType::PixelType,2> StructuringElementType;
  StructuringElementType structuringElement;
  structuringElement.SetRadius(radius);
  structuringElement.CreateStructuringElement();
 
  typedef itk::GrayscaleDilateImageFilter <ImageType, ImageType, StructuringElementType>
    GrayscaleDilateImageFilterType;
 
  GrayscaleDilateImageFilterType::Pointer dilateFilter
    = GrayscaleDilateImageFilterType::New();
  dilateFilter->SetInput(reader->GetOutput());
  dilateFilter->SetKernel(structuringElement);
 
  typedef itk::SubtractImageFilter<ImageType> SubtractType;
  SubtractType::Pointer diff = SubtractType::New();
  diff->SetInput2(reader->GetOutput());
  diff->SetInput1(dilateFilter->GetOutput());
 
  QuickView viewer;
  viewer.AddImage(
    reader->GetOutput(),true,
    itksys::SystemTools::GetFilenameName(inputFilename)); 
 
  std::stringstream desc;
  desc << "GrayscaleDilate, radius = " << radius;
  viewer.AddImage(
    dilateFilter->GetOutput(),
    true,
    desc.str()); 
 
  std::stringstream desc2;
  desc2 << "Original - GrayscaleDilate";
  viewer.AddImage(
    diff->GetOutput(),
    true,
    desc2.str()); 
 
  viewer.Visualize();
 
  return EXIT_SUCCESS;
}
</source>
 
{{ITKVTKCMakeLists|{{SUBPAGENAME}}}}

Latest revision as of 16:36, 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]