Non lettura DICOM Sequenza di immagini correttamente con ITK
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;
}
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