int main( int argc, char * argv[] )
{
if( argc < 2 )
{
std::cerr << "Usage: " << std::endl;
std::cerr << argv[0] << " inputImageFile " << std::endl;
return EXIT_FAILURE;
}
typedef unsigned char PixelType;
ReaderType::Pointer reader = ReaderType::New();
const char * inputFilename = argv[1];
reader->SetFileName( inputFilename );
try
{
reader->Update();
}
{
std::cout << "ExceptionObject caught !" << std::endl;
std::cout << err << std::endl;
return EXIT_FAILURE;
}
PointSetType::Pointer pointSet = PointSetType::New();
const ImageType * image = reader->GetOutput();
IteratorType it( image, image->GetBufferedRegion() );
PointType point;
unsigned long pointId = 0;
while( !it.IsAtEnd() )
{
image->TransformIndexToPhysicalPoint( it.GetIndex() , point );
pointSet->SetPoint( pointId, point );
pointSet->SetPointData( pointId, it.Get() );
++it;
++pointId;
}
std::cout << "Number Of Points = ";
std::cout << pointSet->GetNumberOfPoints() << std::endl;
return EXIT_SUCCESS;
}