gpt4 book ai didi

iphone - 如何从 iOS 上的 DICOM 文件中提取像素数据?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:21:04 27 4
gpt4 key购买 nike

有谁知道如何从 DICOM 文件中提取像素数据并将其传递给 iOS 上的图像查看器?

抱歉,如果这是一个简单的问题,但它似乎是我打开的一大堆蠕虫的主要组成部分。

最佳答案

我在 iOS 上使用 GDCM。我还没有非常努力地插入它,但到目前为止它运作良好。我基本上遵循了这篇关于 ITK 的优秀文章中关于破解 XCode 项目以在 iOS 中运行的说明。 .

以下是我为 iOS 编译它的方法:

  1. 从 sourceforge 下载源代码,通过 ports 安装 cmake。您需要最新版本的 cmake(我使用的是 2.8.2)
  2. 如果源代码位于名为 gdcm-2.0.17/的文件夹中,则在该级别创建另一个目录(比如 gdcmbin),cd 到该目录,然后输入 ccmake -GXCode ../gdcm-2.0。 17/ 在终端窗口中。这将创建 XCode 项目。当我这样做时,我没有创建任何示例程序或创建共享库(这在 iOS 中不起作用)。只需运行默认值即可。
  3. 按照 ITK 文件中有关更改构建选项的说明进行操作(第 4 页上的第 7 步)。
  4. 然后使用 Clint Harris' blog 上的优秀说明将 GDCM 链接到您的项目中
  5. 当您将项目中的 header 搜索路径设置为 GDCM - 您必须输入两个路径:blah/gdcm-2.0.17/Source/** 和 blah /gdcmbin/**。第一条路径上的尾随“/Source”是必需的 - 否则您会得到不适合您的架构的 header 。
  6. 一个小故障(很烦人但还没有花时间弄清楚):当您从模拟器切换到设备时(反之亦然),您会遇到一堆链接错误。这是因为 gdcm 项目不会将输出放入不同目标的不同目录中。所以 - 在切换时在 gdcm 项目中运行清理和重建。我可能很快就会对此感到恼火以更改它:-)。

下面是您如何调用库并将结果放入 Objective-C 字典的粗略片段:

NSMutableDictionary * imageDictionary = [[NSMutableDictionary alloc] initWithCapacity:40];
// The output of gdcm::Reader is a gdcm::File
gdcm::File &file = reader.GetFile();

// the dataset is the the set of element we are interested in:
gdcm::DataSet &ds = file.GetDataSet();
const Tag studyInstance(0x0020,0x000d); // Study Instance UID
const DataElement &dicomVal = ds.GetDataElement(studyInstance);
std::string stringVal( dicomVal.GetByteValue()->GetPointer(), dicomVal.GetByteValue()->GetLength() );
NSString *val = [NSString stringWithCString:stringVal.c_str() encoding:[NSString defaultCStringEncoding]];
[imageDictionary setObject:val forKey:@"studyInstanceUID"];

(注意:这是在混合了 C++ 和 ObjectiveC 的 *.mm 文件中)

关于iphone - 如何从 iOS 上的 DICOM 文件中提取像素数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5278743/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com