static void
CreateImage(UnsignedCharImageType::Pointer image);
int
main(int , char * [])
{
UnsignedCharImageType::Pointer image = UnsignedCharImageType::New();
CreateImage(image);
GradientFilterType::Pointer gradientFilter = GradientFilterType::New();
gradientFilter->SetInput(image);
gradientFilter->Update();
EdgePotentialImageFilterType::Pointer edgePotentialImageFilter = EdgePotentialImageFilterType::New();
edgePotentialImageFilter->SetInput(gradientFilter->GetOutput());
edgePotentialImageFilter->Update();
RescaleFilterType::Pointer rescaleFilter = RescaleFilterType::New();
rescaleFilter->SetInput(edgePotentialImageFilter->GetOutput());
rescaleFilter->SetOutputMinimum(0);
rescaleFilter->SetOutputMaximum(255);
rescaleFilter->Update();
FileWriterType::Pointer writer = FileWriterType::New();
writer->SetFileName("output.png");
writer->SetInput(rescaleFilter->GetOutput());
writer->Update();
return EXIT_SUCCESS;
}
void
CreateImage(UnsignedCharImageType::Pointer image)
{
image->SetRegions(region);
image->Allocate();
image->FillBuffer(0);
for (unsigned int r = 20; r < 80; r++)
{
for (unsigned int c = 30; c < 100; c++)
{
pixelIndex[0] = r;
pixelIndex[1] = c;
image->SetPixel(pixelIndex, 255);
}
}
}