无法使用GDCM从DICOM获取像素数据

时间:2013-06-14 16:47:48

标签: visual-c++ dicom gdcm

我需要GDCM的帮助。

我一直试图从DICOM文件中获取像素数据几天。有很多方法可以做到这一点......我决定使用GDCM。 我下载他们的库并尝试获取像这样的像素数据:

#include "gdcmFileHelper.h"
#include "gdcmFile.h"

int main( int argc, char* argv[] )
{
   gdcm::File *f1 = new gdcm::File();
   f1->SetFileName( 'test.dcm' );
   f1->Load();   
   gdcm::FileHelper *fh = gdcm::FileHelper::New(f1);
   unsigned int *imageData = fh->GetImageDataRaw();
   unsigned int imageDatasize = fh->GGetImageDataRawSize();
   return 0;
}  

但是,我的标题和lib列表中没有gdcmFileHelper.h ... 所以我试过这样:

#include "gdcmImageReader.h"
#include "gdcmImage.h"

int main(int argc, char *argv[])
{
  gdcm::ImageReader reader;
  reader.SetFileName( filename );
  const gdcm::Image &image = reader.GetImage();
  return 0;
}

如何以这种方式获取像素数据?或..我在哪里可以获得gdcmFileHelper.h ...

1 个答案:

答案 0 :(得分:1)

您必须致电image.GetBuffer(),例如参见PIL< - > GDCM绑定:

ConvertPIL.py

你的第一个例子不起作用,它使用GDCM 1.x,它已经放弃了AFAIK。