Не правильно читает серии изображений DICOM с помощью ITK - PullRequest
2 голосов
/ 29 ноября 2011

Я хочу прочитать серию изображений DICOM, чтобы преобразовать их в трехмерное изображение с помощью ITK.Я следую примеру в документации: «examples / IO / DicomSeriesReadImageWrite2.cxx».Но у меня все еще есть проблемы, я решил некоторые, но я хотел бы услышать любой совет, пожалуйста!

Проблема в подчеркнутой строке кода, код здесь чуть ниже, и он не такой длинный.Он компилируется, и переменная 'seriesItr' имеет значение = "1.2.392.200036.9116.2.6.1.48.1214834239.1284941923.42443543.0512512".Но переменная 'seriesEnd' является нулевым указателем!Что я делаю неправильно?Спасибо за вашу помощь в продвинутом!

// Reading a 2D DICOM Series and Writing a Volume 
  ReaderType::Pointer reader = ReaderType::New();

  ImageIOType::Pointer dicomIO = ImageIOType::New();
  reader->SetImageIO( dicomIO );
  NamesGeneratorType::Pointer nameGenerator = NamesGeneratorType::New();
  nameGenerator->SetUseSeriesDetails( true ); 

  std::string folder;
  folder = "C:\\Documents and Settings\\GTTS\\Mis documentos\\Visual Studio 2008\\Projects\\Reg_mono3D\\Reg_mono3D\\DICOM_SERIES\\T\\";
  nameGenerator->SetDirectory(folder);

  const SeriesIdContainer & seriesUID = nameGenerator->GetSeriesUIDs();
  SeriesIdContainer::const_iterator seriesItr = seriesUID.begin();
  ***SeriesIdContainer::const_iterator seriesEnd = seriesUID.end();***
  while( seriesItr != seriesEnd )
  {
        std::cout << seriesItr->c_str() << std::endl;
        seriesItr++;
  }

  std::string seriesIdentifier;
  seriesIdentifier = seriesUID.begin()->c_str();
  FileNamesContainer fileNames;
  fileNames = nameGenerator->GetFileNames( seriesIdentifier );

  reader->SetFileNames( fileNames );

  try
  {
        reader->Update();
  }
  catch (itk::ExceptionObject &ex)
  {
        cout << ex << std::endl;
  }

1 Ответ

4 голосов
/ 18 декабря 2011

Возможно ли, что изображения не на 100% соответствуют?Многие наборы инструментов не очень устойчивы к сбоям, и кажется, что 90% поставщиков не на 100% соответствуют требованиям.Я попытался бы запустить изображения через инструмент DCMtk dcmconv, чтобы "конвертировать" файлы.Я использую конвертирование в кавычках, потому что я часто запускаю через него файлы с теми же настройками, которые они в настоящее время имеют, потому что dcmconv будет экспортировать копии на 100% -ной совместимостью.1003 *http://support.dcmtk.org/docs/dcmconv.html

Будет

...