本文整理汇总了C++中typenamereadertype::Pointer::SetImageIO方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::SetImageIO方法的具体用法?C++ Pointer::SetImageIO怎么用?C++ Pointer::SetImageIO使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类typenamereadertype::Pointer
的用法示例。
在下文中一共展示了Pointer::SetImageIO方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: transform
void transform(string inputFilename, string outputFilename)
{
typedef itk::Image< TPixelType, N > ImageType;
typedef itk::ImageFileReader< ImageType > ReaderType;
typedef itk::ImageFileWriter< ImageType > WriterType;
typename ReaderType::Pointer reader = ReaderType::New();
itk::NiftiImageIO::Pointer io = itk::NiftiImageIO::New();
reader->SetImageIO(io);
reader->SetFileName(inputFilename);
try {
reader->Update();
} catch( itk::ExceptionObject & e ) {
std::cerr << "Exception caught while reading image " << std::endl;
std::cerr << e << std::endl;
}
typename WriterType::Pointer writer = WriterType::New();
writer->SetImageIO(io);
writer->SetFileName(outputFilename);
writer->SetInput(reader->GetOutput());
try {
writer->Update();
} catch( itk::ExceptionObject & e ) {
std::cerr << "Exception caught while writing image " << std::endl;
std::cerr << e << std::endl;
}
}
示例2: if
mitk::BaseData::Pointer mitk::RawImageFileReaderService::TypedRead(const std::string& path, EndianityType endianity, int* size)
{
typedef itk::Image< TPixel, VImageDimensions > ImageType;
typedef itk::ImageFileReader< ImageType > ReaderType;
typedef itk::RawImageIO< TPixel, VImageDimensions > IOType;
typename ReaderType::Pointer reader = ReaderType::New();
typename IOType::Pointer io = IOType::New();
io->SetFileDimensionality(VImageDimensions);
for (unsigned short int dim = 0; dim < VImageDimensions; ++dim)
{
io->SetDimensions(dim, size[dim] );
}
if (endianity == LITTLE)
{
io->SetByteOrderToLittleEndian();
}
else if (endianity == BIG)
{
io->SetByteOrderToBigEndian();
}
else
{
MITK_INFO << "Warning: endianity not properly set. Resulting image might be incorrect";
}
reader->SetImageIO( io );
reader->SetFileName(path);
try
{
reader->Update();
}
catch( itk::ExceptionObject & err )
{
MITK_ERROR <<"An error occurred during the raw image reading process: ";
MITK_INFO << err << std::endl;
}
mitk::Image::Pointer image = mitk::Image::New();
mitk::CastToMitkImage(reader->GetOutput(), image);
image->SetVolume( reader->GetOutput()->GetBufferPointer());
return image.GetPointer();
}
示例3: changeOrientationMethod
int changeOrientationMethod(string inputFilename, string outputFilename, OrientationType orientation, bool changeOrientation, bool displayInitialOrientation, bool displayAvailableOrientation)
{
typedef itk::Image< TPixelType, N > ImageType;
typedef itk::ImageFileReader<ImageType> ReaderType;
typedef itk::ImageFileWriter<ImageType> WriterType;
typename ReaderType::Pointer reader = ReaderType::New();
itk::NiftiImageIO::Pointer io = itk::NiftiImageIO::New();
reader->SetImageIO(io);
reader->SetFileName(inputFilename);
OrientImage<ImageType> orientationFilter;
orientationFilter.setInputImage(reader->GetOutput());
if (displayInitialOrientation)
{
try {
io->SetFileName(inputFilename);
io->ReadImageInformation();
//reader->Update();
} catch( itk::ExceptionObject & e ) {
std::cerr << "Exception caught while reading input image " << std::endl;
std::cerr << e << std::endl;
}
typename ImageType::DirectionType direction;
vector<double> dir0 = io->GetDirection(0);
for (int i=0; i<dir0.size(); i++)
direction(i,0) = dir0[i];
vector<double> dir1 = io->GetDirection(1);
for (int i=0; i<dir1.size(); i++)
direction(i,1) = dir1[i];
vector<double> dir2 = io->GetDirection(2);
for (int i=0; i<dir2.size(); i++)
direction(i,2) = dir2[i];
cout << direction << endl;
cout << "Input image orientation : " << FlagToString(orientationFilter.getOrientationFromDirection(direction)) << endl;
}
if (changeOrientation)
{
try {
io->SetFileName(inputFilename);
io->ReadImageInformation();
//reader->Update();
} catch( itk::ExceptionObject & e ) {
std::cerr << "Exception caught while reading input image " << std::endl;
std::cerr << e << std::endl;
}
orientationFilter.orientation(orientation);
typename WriterType::Pointer writer = WriterType::New();
writer->SetImageIO(io);
writer->SetFileName(outputFilename);
writer->SetInput(orientationFilter.getOutputImage());
try {
writer->Write();
} catch( itk::ExceptionObject & e ) {
std::cerr << "Exception caught while writing output image " << std::endl;
std::cerr << e << std::endl;
}
}
return EXIT_SUCCESS;
}