I want to read a Series of DICOM image to convert them into a 3D image using ITK. I follow the example in the documentation: " Examples/IO/DicomSeriesReadImageWrite2.cxx" . But I am still having problems, I solved some, but I would like to hear any tip, please!
我想阅读一系列DICOM图像,使用ITK将它们转换为3D图像。我按照文档中的示例:“Examples / IO / DicomSeriesReadImageWrite2.cxx”。但我仍然遇到问题,我解决了一些问题,但我想听听任何提示,请!
The problem is in the code line underlined, the code is just below here and it’s not so long. It compiles, and the variable ‘seriesItr’ has the value = "1.2.392.200036.9116.2.6.1.48.1214834239.1284941923.42443543.0512512" . But the variable ‘seriesEnd’ is a null pointer! What am I doing wrong? Thanks for your help in advanced!
问题出在下划线的代码行中,代码就在这里,而且不是很长。它编译,变量'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;
}
1 个解决方案
#1
4
Is it possible the images aren't 100% compliant? Many toolkits out there are not very fault tolerate, and it seems like 90% of vendors are not 100% compliant. I would try running the images through the DCMtk tool dcmconv to "convert" the files. I use convert in quotes because I'll often run files through it with the exact same settings they currently have because dcmconv will export the copies in a 100% compliant way.
图像是否可能100%兼容?许多工具包都没有很大的容错能力,似乎90%的供应商都不是100%兼容的。我会尝试通过DCMtk工具dcmconv运行图像来“转换”文件。我在引号中使用convert,因为我经常使用它们当前具有的完全相同的设置来运行文件,因为dcmconv将以100%兼容的方式导出副本。
Info on dcmconv can be found here: http://support.dcmtk.org/docs/dcmconv.html
有关dcmconv的信息,请访问:http://support.dcmtk.org/docs/dcmconv.html
Will
#1
4
Is it possible the images aren't 100% compliant? Many toolkits out there are not very fault tolerate, and it seems like 90% of vendors are not 100% compliant. I would try running the images through the DCMtk tool dcmconv to "convert" the files. I use convert in quotes because I'll often run files through it with the exact same settings they currently have because dcmconv will export the copies in a 100% compliant way.
图像是否可能100%兼容?许多工具包都没有很大的容错能力,似乎90%的供应商都不是100%兼容的。我会尝试通过DCMtk工具dcmconv运行图像来“转换”文件。我在引号中使用convert,因为我经常使用它们当前具有的完全相同的设置来运行文件,因为dcmconv将以100%兼容的方式导出副本。
Info on dcmconv can be found here: http://support.dcmtk.org/docs/dcmconv.html
有关dcmconv的信息,请访问:http://support.dcmtk.org/docs/dcmconv.html
Will