Я хочу прочитать серию изображений 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;
}