ios - 在 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: "")
提前致谢。
解决方案
Imebra 可以加载本地 DICOM 文件或从远程 PACS(使用 DIMSE 协议)。
Imebra 无法直接从 URL 加载图像,因为它使用 posix 调用来打开本地文件。
要从 URL 打开文件,您应该首先加载远程文件。请参阅此答案Simple Swift file download with URL以了解如何将文件加载到本地临时文件。
或者,您可以将文件加载到 NSData 对象并将其内容传递给 Imebra Memory 对象,然后使用 MemoryStreamInput 将 StreamReader 传递给 ImebraCodecFactory。
免责声明:我是 Imebra 的作者
推荐阅读
- python - 在 python 中使用维基百科模块
- flutter - 如何在没有火力基础的情况下使聊天框颤动?
- reactjs - 如何从特定屏幕中删除标签栏?
- c - 如何解决 C 中的 libcurl 错误(Curl_easy_perform 43)
- wix - Wix Bootstrapper(Burn)标签的条件显示
- python - Subprocess.run 不适用于 ssh-copy-id
- google-sheets - 如何在 Google 表格中使用数字格式来显示未简化的非约简分数?
- mockito - 即使我认为我没有提供正确的模拟,为什么测试用例仍然通过
- java - JAVA SpringBoot:当在 Docker 中时,liquibase 插件运行时出现错误并且不执行更改日志
- android - 安装 react-native-router-flux 后出错