各位大神,我现在采用QT+VTK模式进行建模,图像是从医院拿到的,从西门子导出的图像,VTK读取时只能读取0001部分的(如下图),之后0002、0003等都显示不出来。求问有大神知道怎么办嘛?是要手工重改编号吗?
![](http://imgsrc.baidu.com/forum/w%3D580/sign=c4281e8e9282d158bb8259b9b00a19d5/918cab096b63f6247e41a1638944ebf81b4ca3c1.jpg)
读取dicom用的还是vtkDICOMImageReader。
vtkSmartPointer<vtkImageData> VTKDicomRoutines::loadDicomImage( const std::string& pathToDicom )
{
cout << "Read DICOM images located under " << pathToDicom << endl;
vtkSmartPointer<vtkDICOMImageReader> reader = vtkSmartPointer<vtkDICOMImageReader>::New();
reader->SetDirectoryName( pathToDicom.c_str() );
if( m_progressCallback.Get() != NULL )
{
reader->AddObserver(vtkCommand::ProgressEvent, m_progressCallback);
}
reader->Update();
vtkSmartPointer<vtkImageData> rawVolumeData = vtkSmartPointer<vtkImageData>::New();
rawVolumeData->DeepCopy(reader->GetOutput());
![](http://imgsrc.baidu.com/forum/w%3D580/sign=c4281e8e9282d158bb8259b9b00a19d5/918cab096b63f6247e41a1638944ebf81b4ca3c1.jpg)
读取dicom用的还是vtkDICOMImageReader。
vtkSmartPointer<vtkImageData> VTKDicomRoutines::loadDicomImage( const std::string& pathToDicom )
{
cout << "Read DICOM images located under " << pathToDicom << endl;
vtkSmartPointer<vtkDICOMImageReader> reader = vtkSmartPointer<vtkDICOMImageReader>::New();
reader->SetDirectoryName( pathToDicom.c_str() );
if( m_progressCallback.Get() != NULL )
{
reader->AddObserver(vtkCommand::ProgressEvent, m_progressCallback);
}
reader->Update();
vtkSmartPointer<vtkImageData> rawVolumeData = vtkSmartPointer<vtkImageData>::New();
rawVolumeData->DeepCopy(reader->GetOutput());