ITK/Examples/SimpleOperations/ImageDuplicator

From KitwarePublic
< ITK‎ | Examples
Revision as of 13:55, 18 November 2010 by Daviddoria (talk | contribs)
Jump to navigationJump to search

This example demonstrates how to copy/clone/duplicate an image so it can continue down two separate paths of the pipeline.

ImageDuplicator.cxx

<source lang="cpp">

  1. include "itkImage.h"
  2. include "itkImageDuplicator.h"
  3. include "itkRandomImageSource.h"

int main(int, char *[]) {

 typedef itk::Image< unsigned char, 2 >  ImageType;
 itk::RandomImageSource<ImageType>::Pointer randomImageSource =
   itk::RandomImageSource<ImageType>::New();
 randomImageSource->SetNumberOfThreads(1); // to produce non-random results
 randomImageSource->Update();
 ImageType::Pointer image = randomImageSource->GetOutput();
 typedef itk::ImageDuplicator< ImageType > DuplicatorType;
 DuplicatorType::Pointer duplicator = DuplicatorType::New();
 duplicator->SetInputImage(image);
 duplicator->Update();
 ImageType::Pointer clonedImage = duplicator->GetOutput();
 
 return EXIT_SUCCESS;

} </source>

CMakeLists.txt

<source lang="cmake"> cmake_minimum_required(VERSION 2.6)

PROJECT(ImageDuplicator)

FIND_PACKAGE(ITK REQUIRED) INCLUDE(${ITK_USE_FILE})

ADD_EXECUTABLE(ImageDuplicator ImageDuplicator.cxx) TARGET_LINK_LIBRARIES(ImageDuplicator ITKIO)

</source>