ITK提供强大的图像处理功能,VTK则提供强大的图像可视化功能。
比较VTK而言,ITK能够获取更全面的DICOM头文件中所包含的医学信息和病人信息。ITK能够读单张图片或序列图片。
(1)ITK能够读单张图片并获取头文件中信息:
typedef signed short InputPixelType;//dicom 对应数据类型
const unsigned int InputDimension = 2;
typedef itk::Image< InputPixelType, InputDimension > InputImageType;
typedef itk::ImageSeriesReader< InputImageType > ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName( argv[1] );
typedef itk::GDCMImageIO ImageIOType;//GDCMImageIO读DICOM
ImageIOType::Pointer gdcmImageIO = ImageIOType::New();
//关联GDCMImageIO类后,DICOM数据信息就读入内存,ITK能获取更加全面的信息(比起VTK)
reader->SetImageIO( gdcmImageIO );
try
{
reader->Update();
reader->GetMetaDataDictionary();//获取DIOCM头文件中信息
gdcmImageIO->