首页 > 解决方案 > 在 iOS 的 Imebra 中加载服务器 URL dicom 文件?

问题描述

我在我的应用程序中使用https://imebra.com/ ,当我加载本地文件时,它会读取 DICOM 文件并且我能够看到图像。什么时候,我向 imebra 发送 Cloud url 路径它显示错误,下面我分享了示例代码。我想向 Imebra 发送一个或多个 url。我不知道该怎么做。

 let filePath = Bundle.main.path(forResource: fileName, ofType: "dcm") // i want to send url(https://raw.githubusercontent.com/ivmartel/dwv/master/tests/data/bbmri-53323851.dcm) here
 let dataSet = try ImebraCodecFactory.load(fromFile: filepath)

  _ = try dataSet.getString(ImebraTagId(group: 0x10, tag: 0x10), elementNumber: 0, defaultValue: "")

  _ = try dataSet.getString(ImebraTagId(group: 0x10, tag: 0x10), elementNumber: 1, defaultValue: "")

提前致谢。

标签: iosswiftiphonedicomimebra

解决方案


Imebra 可以加载本地 DICOM 文件或从远程 PACS(使用 DIMSE 协议)。

Imebra 无法直接从 URL 加载图像,因为它使用 posix 调用来打开本地文件。

要从 URL 打开文件,您应该首先加载远程文件。请参阅此答案Simple Swift file download with URL以了解如何将文件加载到本地临时文件。

或者,您可以将文件加载到 NSData 对象并将其内容传递给 Imebra Memory 对象,然后使用 MemoryStreamInput 将 StreamReader 传递给 ImebraCodecFactory。

免责声明:我是 Imebra 的作者


推荐阅读