gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:43:15 25 4
gpt4 key购买 nike

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

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

最佳答案

我在iOS上使用GDCM。我还没有尽力,但是到目前为止,它运行良好。在ITK上的这篇出色文章中,我基本上遵循了如何在iOS上运行XCode项目的说明。

这是我如何为iOS进行编译的方法:

  • 从sourceforge下载的源,通过端口安装了cmake。您需要使用最新版本的cmake(我正在使用2.8.2)
  • 如果源位于名为gdcm-2.0.17 /的文件夹中,则在该级别创建另一个目录(例如gdcmbin),cd到该目录,然后在以下目录中输入 ccmake -GXCode ../gdcm-2.0.17/ 终端窗口。这将创建XCode项目。当我这样做时,我没有创建任何示例程序或共享库(在iOS中不起作用)。只需运行默认值即可。
  • 请遵循ITK白皮书中有关更改构建选项的指示(第4页上的步骤#7)。
  • 然后使用Clint Harris' blog上的出色说明将GDCM链接到您的项目
  • 在项目中将标题搜索路径设置为GDCM时-您必须输入两个路径:blah / gdcm-2.0.17 / Source / **和blah / gdcmbin / **。在第一个路径上尾随的'/ Source'是必要的-否则您将获得不适合您的体系结构的标头。
  • 一个小故障(烦人,但还没有花时间解决问题):当您从模拟器切换到设备时(或者反之),您会遇到很多链接错误。这是因为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"];

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

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

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