我想开发关于图像处理的 iPhone 应用程序,访问和在屏幕上显示 DICOM 文件,如OsiriX。但我不知道要使用哪些库。
我不知道 OsiriX 有供开发人员使用的库或插件。你知道吗??(对不起,我的英语不好。)
请给我建议
谢谢你。
我想开发关于图像处理的 iPhone 应用程序,访问和在屏幕上显示 DICOM 文件,如OsiriX。但我不知道要使用哪些库。
我不知道 OsiriX 有供开发人员使用的库或插件。你知道吗??(对不起,我的英语不好。)
请给我建议
谢谢你。
DCMTK在 IOS 上运行良好
如果您愿意考虑 Monotouch,则可能是 DICOM# - http://sourceforge.net/projects/dicom-cs/
idoimaging.com列出了许多与 DICOM 兼容的库。我将从该列表开始,看看其中一个或多个是否可以轻松移植到 iOS。
更简单的方法是找到 c/c++ dicom 库(因为您只需要该库来提取标签值对和像素数据)。并且,将您的开发(我假设那是查看器)链接到该 c/c++ 库。请注意,对于 j2k 压缩,如果不是另一个支持 j2k 的 img 库,您可能需要更高级的 dicom 库。
FYR(C/C++ 中的 DICOM)[1] http://sourceforge.net/projects/gdcm/ [2] http://imebra.com/
Imebra是用 C++ 编写的,但它包含 Objective-C 帮助程序,允许从加载的数据集直接构建 UIImage 或 NSImage 对象。
您必须使用 .mm 扩展名(而不是 .m)重命名源文件,以便它们可以使用 C++ 功能。
这是一个加载 Dicom 文件然后将图像作为 UIImage 获取的小示例(为简单起见,未应用演示文稿 VOI/LUT):
using namespace puntoexe;
// Open the file test.dcm for reading
ptr<stream> readStream(new stream);
readStream->openFile(NSStringToStringW(@"test.dcm"), std::ios::in);
ptr<streamReader> reader(new streamReader(readStream));
// Parse the file into a dataSet structure
ptr<imebra::dataSet> testDataSet =
imebra::codecs::codecFactory::getCodecFactory()->load(reader);
// Get the patient name
NSString* patientNameCharacter = StringWToNSString(testDataSet->getString(0x0010, 0, 0x0010, 0));
// Get the first image
ptr<imebra::image> firstImage = testDataSet->getModalityImage(0);
UIImage* myUIImage = getImage(firstImage, 0);