Domanda

Ho voglia di leggere l'immagine di una serie di DICOM per convertirli un'immagine 3D utilizzando ITK in. Seguo l'esempio nella documentazione: "Esempi / IO / DicomSeriesReadImageWrite2.cxx". Ma io sono ancora problemi, ho risolto alcuni, ma mi piacerebbe sentire qualsiasi suggerimento, per favore!

Il problema è nella linea di codice sottolineato, il codice è appena al di sotto qui e non è così a lungo. Compila, e la variabile ‘seriesItr’ ha il valore = "1.2.392.200036.9116.2.6.1.48.1214834239.1284941923.42443543.0512512". Ma la variabile ‘seriesEnd’ è un puntatore nullo! Che cosa sto facendo di sbagliato? Grazie per il vostro aiuto in anticipo!

// 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;
  }
È stato utile?

Soluzione

E 'possibile che le immagini non sono al 100% compatibile? Molti toolkit là fuori non sono molto colpa tollera, e sembra che il 90% dei venditori non sono al 100% compatibile. Vorrei provare a eseguire le immagini attraverso lo strumento dcmconv DCMtk di "convertire" i file. Io uso convertito tra virgolette perché io spesso attraverso file correre con le stesse impostazioni che attualmente hanno a causa dcmconv esporterà le copie in modo compatibile al 100%.

Informazioni su dcmconv può essere trovato qui: http://support.dcmtk.org/docs/ dcmconv.html

Will

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top