Question

Je veux lire une série d'images DICOM pour les convertir en une image 3D à l'aide ITK. Je suis l'exemple dans la documentation: « Exemples / IO / DicomSeriesReadImageWrite2.cxx ». Mais je suis toujours des problèmes, je résolu certains, mais je voudrais entendre la pointe, s'il vous plaît!

Le problème est dans la ligne de code souligné, le code est juste au-dessous ici et ce n'est pas si longtemps. Il compile, et la variable « seriesItr » a la valeur = « 1.2.392.200036.9116.2.6.1.48.1214834239.1284941923.42443543.0512512 ». Mais la variable « seriesEnd » est un pointeur NULL! Qu'est-ce que je fais mal? Merci pour votre aide à l'avance!

// 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;
  }
Était-ce utile?

La solution

Est-il possible les images ne sont pas 100% compatible? De nombreux kits d'outils là-bas ne sont pas très faute tolérait, et il semble que 90% des vendeurs ne sont pas 100% conformes. Je voudrais essayer d'exécuter les images à travers l'outil dcmtk dcmconv à « convertir » les fichiers. J'utiliser convert entre guillemets parce que je vais souvent exécuter des fichiers à travers avec les paramètres exactement les mêmes qu'ils ont actuellement parce dcmconv exportera les copies d'une manière conforme à 100%.

Info sur dcmconv se trouve ici: http://support.dcmtk.org/docs/ dcmconv.html

Will

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top