我正在尝试使用itkDCMTKImageIO
类读取多帧dicom图像(内部有多个帧的单个文件)。示例代码如下所示:
typedef char PixelType;
const unsigned int Dimension = 3;
typedef itk::Image< PixelType, Dimension > ImageType;
// image reader
typedef itk::ImageFileReader< ImageType > ReaderType;
ReaderType::Pointer reader = ReaderType::New();
typedef itk::DCMTKImageIO ImageIOType;
ImageIOType::Pointer dicomIO = ImageIOType::New();
try
{
reader->SetFileName( m_path.c_str() );
reader->SetImageIO( dicomIO );
reader->Update();
}
我可以使用此代码读取单帧dicom图像,但不能使用多帧图像。当我拨打reader->Update()
时,它会给我一个错误,上面写着:
itk::ExceptionObject (0x964c108)
Location: "unknown"
File: /usr/local/include/ITK-4.3/itkMatrix.h
Line: 240
Description: itk::ERROR: Singular matrix. Determinant is 0.
除此之外,如果我使用itkGDCMImageIO
,那么它可行。我想知道是否有人知道itk / dcmtk是否支持多帧图像,并且可以提供一些示例代码。
感谢。