ITK/Examples/ImageProcessing/MultiplyByConstantImageFilter

From KitwarePublic

Jump to: navigation, search

MultiplyByConstantImageFilter.cxx

#include "itkImage.h"
#if ITK_VERSION_MAJOR >= 4
#include "itkMultiplyImageFilter.h"
#else
#include "itkMultiplyByConstantImageFilter.h"
#endif
#include "itkImageRegionConstIterator.h"
 
typedef itk::Image<unsigned char, 2>  ImageType;
 
static void OutputImage(ImageType::Pointer image);
 
int main( int argc, char *argv[])
{
 
  ImageType::Pointer image = ImageType::New();
 
  itk::Index<2> start;
  start.Fill(0);
 
  itk::Size<2> size;
  size.Fill(3);
 
  itk::ImageRegion<2> region(start, size);
 
  image->SetRegions(region);
  image->Allocate();
  image->FillBuffer(2);
 
  OutputImage(image);
 
#if ITK_VERSION_MAJOR >= 4
  typedef itk::MultiplyImageFilter<ImageType, ImageType, ImageType> MultiplyImageFilterType;
#else
  typedef itk::MultiplyByConstantImageFilter<ImageType, unsigned char, ImageType> MultiplyImageFilterType;
#endif
  MultiplyImageFilterType::Pointer multiplyImageFilter = MultiplyImageFilterType::New();
  multiplyImageFilter->SetInput(image);
#if ITK_VERSION_MAJOR >= 4
  multiplyImageFilter->SetConstant(3);
#else
  multiplyImageFilter->Update();
#endif
 
  OutputImage(multiplyImageFilter->GetOutput());
 
  return EXIT_SUCCESS;
}
 
void OutputImage(ImageType::Pointer image)
{
  itk::ImageRegionConstIterator<ImageType> imageIterator(image,image->GetLargestPossibleRegion());
 
  while(!imageIterator.IsAtEnd())
    {
    // Get the value of the current pixel
    unsigned char val = imageIterator.Get();
    std::cout << (int)val << std::endl;
 
    ++imageIterator;
    }
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
 
project(MultiplyByConstantImageFilter)
 
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})
 
add_executable(MultiplyByConstantImageFilter MultiplyByConstantImageFilter.cxx)
 
if( "${ITK_VERSION_MAJOR}" LESS 4 )
  target_link_libraries(MultiplyByConstantImageFilter ITKReview ${ITK_LIBRARIES})
else( "${ITK_VERSION_MAJOR}" LESS 4 )
  target_link_libraries(MultiplyByConstantImageFilter ${ITK_LIBRARIES})
endif( "${ITK_VERSION_MAJOR}" LESS 4 )
Personal tools