如何在 iPhone 上访问和显示 DICOM 文件

发布于 2024-11-10 17:29:04 字数 240 浏览 5 评论 0原文

我想开发有关图像处理、访问和在屏幕上显示 DICOM 文件的 iPhone 应用程序,例如 OsiriX 。但我不知道哪些库可以做到这一点。

我不知道 OsiriX 有供开发人员使用的库或插件。你知道吗? (对不起,我的英语不好。)

请给我建议,

谢谢。

I would like to develop iPhone application about image processing,access and display DICOM files on screen like OsiriX.But i don't know what libraries to do that.

I don't know OsiriX have library or plugin for developer.Do you know ??
(Sorry foe my bad english.)

Advice me,Please

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

听,心雨的声音 2024-11-17 17:29:04

DCMTK 在 IOS 上运行良好

DCMTK works fine on IOS

2024-11-17 17:29:04

如果您愿意考虑 Monotouch,则可能是 DICOM# - http://sourceforge.net/projects /dicom-cs/

If you are willing to consider Monotouch, a possibility would be DICOM# - http://sourceforge.net/projects/dicom-cs/

送舟行 2024-11-17 17:29:04

idoimaging.com 列出了许多 DICOM 兼容库。我将从该列表开始,看看其中的一个或多个是否可以轻松移植到 iOS。

idoimaging.com lists a number of DICOM-compatible libraries. I'd start with that list and see if one or more of those could easily be ported to iOS.

凑诗 2024-11-17 17:29:04

更简单的方法是找到 c/c++ dicom 库(因为您只需要该库来提取标签值对和像素数据)。并且,将您的开发(我假设是查看器)链接到该 c/c++ 库。请注意,对于 j2k 压缩,如果没有另一个支持 j2k 的 img 库,您可能需要更高级的 dicom 库。

FYR(C/C++ 中的 DICOM)
[1] http://sourceforge.net/projects/gdcm/
[2] http://imebra.com/

the easier ways would be to locate c/c++ dicom library (since you only need the lib to extract the tag-value pairs and the pixel data). And, link your development(i assume that'd be a viewer) to that c/c++ library. Note that, for j2k compression, you probably need a more advanced dicom library if not another img lib that supports j2k.

FYR (DICOM in C/C++)
[1] http://sourceforge.net/projects/gdcm/
[2] http://imebra.com/

尛丟丟 2024-11-17 17:29:04

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);

Imebra is written in C++ but it includes Objective-C helpers that allow to build directly UIImage or NSImage objects from loaded datasets.

You have to rename your source file with a .mm extension (instead of .m) so they can use C++ features.

Here is a small sample that load a Dicom file then get the image as UIImage (without applying the presentation VOI/LUT for simplicity):

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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文