2017-10-18 55 views
0

我有手坐在VTK 5.3之上的应用。使用vtkDICOMImageReader我得到的图像位置,宽度,高度,...,到目前为止一切顺利。如何VTK DICOM阅读器将ImageType读取(0008,0008)?

但有读字符串将ImageType与标签(0008,0008)的好办法?

更一般的,我可以阅读使用vtkDICOMImageReader任何标记回来?传递标签值,找回DICOM文件中的内容?

+0

我认为你需要一个ITK图像读取。这是一个例子。 https://itk.org/Doxygen/html/Examples_2IO_2DicomImageReadPrintTags_8cxx-example.html –

回答

0
#include "gdcmReader.h" 
#include "gdcmMediaStorage.h" 

int main(int argc, char *argv []) 
{ 
    if(argc < 2) return 1; 
    const char *filename = argv[1]; 

    gdcm::Reader reader; 
    reader.SetFileName(filename); 
    if(!reader.Read()) 
    { 
    std::cerr << "Could not read: " << filename << std::endl; 
    return 1; 
    } 
    std::stringstream strm; 

    gdcm::File &file = reader.GetFile(); 
    gdcm::DataSet &ds = file.GetDataSet(); 
    gdcm::FileMetaInformation &fmi = file.GetHeader(); 

    ConstIterator it = ds.GetDES().begin(); 

    for(; it != ds.GetDES().end(); ++it){ 
     if (it->GetTag()==gdcm::Tag (0x0008, 0x0008)){ 
     std:cout << it; 
    }