ITK/Examples/ImageProcessing/LinearInterpolateImageFunction

From KitwarePublic
< ITK‎ | Examples
Revision as of 00:18, 23 October 2010 by Daviddoria (talk | contribs) (Created page with "==LinearInterpolateImageFunction.cxx== <source lang="cpp"> #include <itkImage.h> #include <itkContinuousIndex.h> #include <itkLinearInterpolateImageFunction.h> typedef itk::Imag...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

LinearInterpolateImageFunction.cxx

<source lang="cpp">

  1. include <itkImage.h>
  2. include <itkContinuousIndex.h>
  3. include <itkLinearInterpolateImageFunction.h>

typedef itk::Image<unsigned char, 1> ImageType;

void CreateImage(ImageType::Pointer image);


int main(int, char*[]) {

 ImageType::Pointer image = ImageType::New();
 CreateImage(image);
 itk::ContinuousIndex<double, 1> pixel;
 pixel[0] = 1.3;
 itk::LinearInterpolateImageFunction<ImageType, double>::Pointer interpolator =
   itk::LinearInterpolateImageFunction<ImageType, double>::New();
 interpolator->SetInputImage(image);
 
 std::cout << "Value at 1.3: " << interpolator->EvaluateAtContinuousIndex(pixel) << std::endl;
 return EXIT_SUCCESS;

}


void CreateImage(ImageType::Pointer image) {

 // Create a 1D image
 ImageType::RegionType region;
 ImageType::IndexType start;
 start[0] = 0;
 ImageType::SizeType size;
 size[0] = 10;
 
 region.SetSize(size);
 region.SetIndex(start);
 image->SetRegions(region);
 image->Allocate();
 for(unsigned int i = 0; i < 10; i++)
   {
   ImageType::IndexType pixelIndex;
   pixelIndex[0] = i;
   image->SetPixel(pixelIndex, i*10);
   }

}

</source>

CMakeLists.txt

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

PROJECT(LinearInterpolateImageFunction)

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

ADD_EXECUTABLE(LinearInterpolateImageFunction LinearInterpolateImageFunction.cxx) TARGET_LINK_LIBRARIES(LinearInterpolateImageFunction ITKCommon)


</source>