Pregunta

Quiero leer una serie de imagen DICOM para convertirlos en una imagen 3D usando ITK. Sigo el ejemplo en la documentación: "Ejemplos/io/dicomseriesreadiMageWrite2.cxx". Pero todavía tengo problemas, resolví algunos, pero me gustaría escuchar cualquier consejo, ¡por favor!

El problema está en la línea de código subrayado, el código está justo debajo y no es tan largo. Se compila, y la variable 'SeriesITR' tiene el valor = "1.2.392.200036.9116.2.6.1.48.1214834239.1284941923.42443543.0512512". ¡Pero la variable 'Seriesend' es un puntero nulo! ¿Qué estoy haciendo mal? ¡Gracias por su ayuda en Advanced!

// 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;
  }
¿Fue útil?

Solución

¿Es posible que las imágenes no cumplan el 100%? Muchos kits de herramientas no son muy tolerantes, y parece que el 90% de los proveedores no cumplen el 100%. Intentaría ejecutar las imágenes a través de la herramienta dcmtk dcmconv para "convertir" los archivos. Utilizo convertir en cotizaciones porque a menudo ejecuto archivos a través de él con la misma configuración que tienen actualmente porque DCMCONV exportará las copias de una manera 100% compatible.

La información sobre dcmconv se puede encontrar aquí: http://support.dcmtk.org/docs/dcmconv.html

Voluntad

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top