ITK/Examples/ImageProcessing/TileImageFilter SideBySide: Difference between revisions

From KitwarePublic
< ITK‎ | Examples
Jump to navigationJump to search
No edit summary
(Deprecated content that is moved to sphinx)
 
Line 1: Line 1:
This example reads in two 2D images and outputs a 2D image of the two inputs side by side.
{{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.
 
}}
==TileImageFilter_SideBySide.cxx==
<source lang="cpp">
#include "itkImage.h"
#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"
#include "itkTileImageFilter.h"
 
int main(int argc, char *argv[] )
{
  // Verify arguments
  if (argc < 4)
    {
    std::cerr << "Usage: " << std::endl;
    std::cerr << argv[0] << "input1 input2 output" << std::endl;
    return EXIT_FAILURE;
    }
 
  // Parse arguments
  std::string input1FileName = argv[1];
  std::string input2FileName = argv[2];
  std::string outputFileName = argv[3];
 
  // Output arguments
  std::cout << "input1FileName " << input1FileName << std::endl;
  std::cout << "input2FileName " << input2FileName << std::endl;;
  std::cout << "outputFileName " << outputFileName << std::endl;;
 
  typedef itk::Image< unsigned char, 2>  ImageType;
 
  // Read images
  typedef itk::ImageFileReader< ImageType > ImageReaderType ;
  ImageReaderType::Pointer reader1 = ImageReaderType::New();
   reader1->SetFileName(input1FileName);
  reader1->Update();
 
  ImageReaderType::Pointer reader2 = ImageReaderType::New();
  reader2->SetFileName(input2FileName);
  reader2->Update();
 
  // Tile the images side-by-side
  typedef itk::TileImageFilter< ImageType, ImageType > TileFilterType;
 
  TileFilterType::Pointer tileFilter = TileFilterType::New();
 
  itk::FixedArray< unsigned int, 2 > layout;
 
  layout[0] = 2;
  layout[1] = 0;
 
  tileFilter->SetLayout( layout );
 
  tileFilter->SetInput(0, reader1->GetOutput());
  tileFilter->SetInput(1, reader2->GetOutput());
 
  // Set the value of output pixels which are created by mismatched size input images.
  // If the two images are the same height, this will not be used.
  unsigned char fillerValue = 128;
  tileFilter->SetDefaultPixelValue( fillerValue );
 
  tileFilter->Update();
 
  // Write the output image
  typedef itk::ImageFileWriter< ImageType > WriterType;
  WriterType::Pointer writer = WriterType::New();
  writer->SetInput( tileFilter->GetOutput() );
  writer->SetFileName( outputFileName );
  writer->Update();
 
  return EXIT_SUCCESS;
}
 
</source>
 
{{ITKCMakeLists|{{SUBPAGENAME}}}}

Latest revision as of 20:28, 5 June 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.