ITK  4.8.0
Insight Segmentation and Registration Toolkit
WikiExamples/SimpleOperations/ScalarToRGBColormapImageFilter.cxx
#include "itkImage.h"
#include "itkRGBPixel.h"
typedef itk::RGBPixel<unsigned char> RGBPixelType;
typedef itk::Image<RGBPixelType, 2> RGBImageType;
typedef itk::Image<float, 2> FloatImageType;
typedef itk::Image<unsigned char, 2> UnsignedCharImageType;
int main( int argc, char *argv[])
{
FloatImageType::Pointer image = FloatImageType::New();
start.Fill(0);
size.Fill(20);
itk::ImageRegion<2> region(start, size);
image->SetRegions(region);
image->Allocate();
for(unsigned int i = 0; i < 20; i++)
{
for(unsigned int j = 0; j < 20; j++)
{
pixel[0] = i;
pixel[1] = j;
image->SetPixel(pixel, j);
}
}
RescaleFilterType::Pointer rescaleFilter = RescaleFilterType::New();
rescaleFilter->SetInput(image);
rescaleFilter->SetOutputMinimum(0);
rescaleFilter->SetOutputMaximum(255);
rescaleFilter->Update();
{
WriterType::Pointer writer = WriterType::New();
writer->SetFileName("original.png");
writer->SetInput(rescaleFilter->GetOutput());
writer->Update();
}
RGBFilterType::Pointer rgbfilter = RGBFilterType::New();
rgbfilter->SetInput(image);
rgbfilter->SetColormap( RGBFilterType::Hot );
{
WriterType::Pointer writer = WriterType::New();
writer->SetFileName("hot.png");
writer->SetInput(rgbfilter->GetOutput());
writer->Update();
}
return EXIT_SUCCESS;
}