无法获取 dicom 图像以在 python 中显示

2023-12-25

我正在尝试在 opencv-python 中显示 DICOM 图像。我正在使用 pydicom 库,然后添加 API 来使用 DOTNET 创建一个完整的 DICOM 查看器,该查看器运行 python(当然,C# 使用流程实例调用 python!!) 。我无法转换或查看未压缩的 DICOM 图像。每当我尝试加载或修改像素数组时。我收到错误消息。

import dicom
import cv2
import numpy
df=dicom.read_file("IM-0001-0002.dcm")
df.pixel_array

Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
df.pixel_array
File "C:\Python27\lib\site-packages\dicom\dataset.py", line 394, in pixel_array
return self._get_pixel_array()
File "C:\Python27\lib\site-packages\dicom\dataset.py", line 376, in _get_pixel_array
raise NotImplementedError("Pixel Data is compressed in a format pydicom does not yet          handle. Cannot return array")
NotImplementedError: Pixel Data is compressed in a format pydicom does not yet handle.        Cannot return array

请建议我转换图像的好方法,使 cv2.imshow() 函数显示图像

提前致谢!!


尝试pydicom

错误的原因之一可能是:使用的 .dcm 文件可能包含不支持的格式(例如,在 pydicom 的情况下,pillow 不支持 JPEG 2000)。这个问题是可以解决的。我遇到了同样的问题(我使用 pydicom 而不是 dicom)我想您会从解决我的问题的解决方案中得到一些指导:

第一平台a信息:

我正在使用:pydicom 读取 .dcm 文件、Python 3.6、Anaconda 和 Ubuntu、15 GB RAM

解决方案:

  1. 安装pydicom使用这个命令:pip install -U pydicom.

信息可以在这里找到:(链接:https://pydicom.github.io/pydicom/dev/getting_started.html https://pydicom.github.io/pydicom/dev/getting_started.html)

  1. 蟒蛇是必要的。为什么?请查看pydicom的官方文档(https://pydicom.github.io/pydicom/dev/getting_started.html https://pydicom.github.io/pydicom/dev/getting_started.html)其中提到“要安装 pydicom 以及压缩像素数据的图像处理程序,我们鼓励您使用 Miniconda 或 Anaconda”

  2. 如果您使用的是 Ubuntu,请直接打开终端。如果您使用的是 Windows,则在 Anaconda Navigator 上从此处启动终端转到环境。在其上执行以下命令:

    pip install -U git+https://github.com/pydicom/pydicom.git

    conda install pydicom --channel conda-forge

    conda install -c conda-forge gdcm

交叉检查:

现在重新启动笔记本,然后尝试使用 pydicom 执行代码。它将显示输出。

另外,还可以使用Matplotlib来显示,如下所示:

import matplotlib.pyplot as plt
import pydicom
filename = 'IM-0001-0002.dcm'
ds = pydicom.dcmread(filename)
plt.imshow(ds.pixel_array, cmap=plt.cm.bone)

我希望它能帮助你。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法获取 dicom 图像以在 python 中显示 的相关文章

  • 如何使用 cython 编译扩展?

    我正在尝试从示例页面编译一个简单的 cython 扩展here http docs cython org src userguide tutorial html在我安装了 Python 2 6 64 位版本的 Windows 7 64 位计
  • 将tensorflow 2.0 BatchDataset转换为numpy数组

    我有这个代码 train images test images tf keras datasets mnist load data train dataset tf data Dataset from tensor slices train
  • 没有任何元数据的 zip 文件

    我想找到一种简单的方法来压缩一堆文件 而无需任何文件元数据 例如时间戳 这zip命令似乎总是保留元数据 我没有找到禁用元数据的方法 我希望解决方案是一个命令或最多一个 python 脚本 谢谢 正如一些帖子已经指出的那样 zip 标头中的大
  • 在 Numpy 中切片后确定结果数组的形状

    我很难理解在 numpy 中切片后如何确定结果数组的形状 例如 我使用以下简单代码 import numpy as np array np arange 27 reshape 3 3 3 slice1 array 1 2 1 slice2
  • 如何在Python中循环并存储自变量中的值

    我对 python 很陌生 所以这听起来可能很愚蠢 我进行了搜索 但没有找到解决方案 我在 python 中有一个名为 ExcRng 的函数 我可以对该函数执行什么样的 for 循环 以便将值存储在独立变量中 我不想将它们存储在列表中 而是
  • 一次将Python dict的内容分配给多个变量?

    我想做这样的事情 def f return a 1 b 2 c 3 a b f or a b f IE 这样 a 被分配为 1 b 被分配为 2 并且 c 是未定义的 这与此类似 def f return 1 2 a b f 依赖于变量名称
  • Tensorflow 可变图像输入大小(自动编码器、放大......)

    Edit WARNING不建议使用不同图像大小的图像 因为张量需要具有相同的大小才能实现并行化 我一直在寻找解决方案 了解如何使用不同大小的图像作为神经网络的输入 Numpy 第一个想法是使用numpy 然而 由于每个图像的大小不同 我无法
  • 如何使用Python将WebP图像转换为Gif?

    我已经尝试过这个 from PIL import Image im Image open this webp im save that gif gif save all True 这给了我这个错误 类型错误 不支持的操作数类型 tuple
  • PIL Image.size 返回相反的宽度/高度

    使用PIL确定图像的宽度和高度 在特定图像上 幸运的是只有这一个 但这很麻烦 从 image size 返回的宽度 高度是相反的 图片 http storage googleapis com cookila 533ebf752b9d1f7c
  • 如何在python中检索aws批处理参数值?

    流程 Dynamo DB gt Lambda gt 批处理 如果将角色 arn 插入动态数据库 它是从 lambda 事件中检索的 然后使用submit job角色 arn 的 API 被传递为 parameters role arn ar
  • Django 在选择列表更改时创建毫无意义的迁移

    我正在尝试使用可调用创建一个带有选择字段的模型 以便 Django 在选择列表更改时不会创建迁移 如中所述this https stackoverflow com questions 31788450 stop django from cr
  • 无法截取宽度为 0 的屏幕截图

    我正在尝试截取 Bootstrap 模态内元素的屏幕截图 经过一番努力 我终于想出了这段代码 driver get https enlinea sunedu gob pe driver find element by xpath div c
  • select() 可以在 Windows 下使用 Python 中的文件吗?

    我正在尝试在 Windows 下运行以下 python 服务器 An echo server that uses select to handle multiple clients at a time Entering any line o
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • Flask WTForms 使用变量自动填充 StringField

    我有一个表格 我想用上一页收到的信息自动填充一些字段 但如果他们想调整它 它需要是可更改的 我正在为我的 SelectField 使用动态创建的列表 但添加 StringField 并不成功 请参阅下面的我的代码 forms py clas
  • 为什么实现 __iter__ 的对象不被识别为可迭代的?

    假设您使用包装对象 class IterOrNotIter def init self self f open tmp toto txt def getattr self item try return self getattribute
  • Python组合目录中的所有csv文件并按日期时间排序

    我有 2 年的每日数据分成每月文件 我想将所有这些数据合并到一个按日期和时间排序的文件中 我正在使用的代码组合了所有文件 但不按顺序 我正在使用的代码 import pandas as pd import glob os import cs
  • 如何将列表字典写入字符串而不是 CSV 文件?

    This 堆栈溢出问题 https stackoverflow com questions 37997085 how to write a dictionary of lists to a csv file将列表字典写入 CSV 文件的答案
  • 异步和协程与任务队列

    我一直在阅读有关 python 3 中的 asyncio 模块的内容 以及更广泛地了解 python 中的协程的内容 但我不明白是什么让 asyncio 成为如此出色的工具 我的感觉是 你可以用协程做的所有事情 通过使用基于多处理模块 例如
  • 在 Python 模块中使用 InstaLoader

    我正在尝试使用 Instaloader 下载与主题标签相关的照片以进行图像分析 我在GitHub存储库中找到了一个全面的方法 如何在终端中执行它 但是 我需要将脚本集成到Python笔记本中 这是脚本 instaloader no vide

随机推荐

  • Jquery if $(window) 向下滚动函数[重复]

    这个问题在这里已经有答案了 你好 我需要什么时候 window 向下滚动100 提醒某事 我该怎么做 Try window scroll function if window scrollTop window height document
  • 是否可以重新定义 PHP 常量?

    是否可以重新定义类常量 在 PHP 中 e g class B const C ThisIsAConstant 1 class A extends B self C ThisIsAConstant 2 不 当然不 那么它们就不再是 常数
  • Angular 根据环境动态交换 SASS 样式

    我将 Angular 6 与新的 angular json 文件一起使用 我在其中配置了单独的配置 在这个新配置中 我将 Constants scss 替换为 Constants newconfig scss 运行 ngserve conf
  • 如何在 SQL 中选择没有空值的行(在任何列中)?

    我有一张桌子叫table1 它有 100 列 col1 col2 col100 我明白如何SELECT rows not例如 在特定列中包含空值col1 SELECT FROM table1 WHERE col1 IS NOT NULL 我
  • python 集合推导式是如何工作的?

    Q1 以下是set of a generator expression or a set comprehension 或者它们是相同的吗 如果是的话 是list dict理解也相应的类型转换在发电机上 my set x for x in r
  • html 编码/解码 - ckeditor

    我在 cshtml 页面中使用 ckeditor 将内容输入到我的数据库中 这些内容稍后将显示在带有 html 标签的页面上 以使文本更易于阅读 由于我通过文本区域输入内容 因此收到一条错误消息 指出我正在输入的 html 标签 h1 p
  • 如何在 Matlab 中对齐来自 Kinect 的 RGB 和深度图像

    我正在尝试使用 Matlab 对齐来自 Kinect 的 RGB 和深度图像 我正在尝试使用以下算法来做到这一点this http burrus name index php Research KinectCalibration tocLi
  • php-fpm 不创建 .sock 文件

    我有一个在 Amazon Linux 上运行的 AWS 服务器 我使用本指南安装 php7 页面底部 https forums aws amazon com thread jspa messageID 695576 https forums
  • 如何在R中的xyplot中获得阴影背景?

    using xyplot来自lattice包中 我绘制了多年的时间序列 我会为其中一些年份添加阴影区域 以表明这个时期是 特殊的 例如战争 如果这是微不足道的 请道歉 但我不知道该怎么做 所以如果有人可以帮助我 或者至少为我指出正确的方向
  • 寻找将 Lucene.net 与 ASP.NET 结合使用的示例 [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何将三列设为主键

    我正在尝试学习如何将两个文件匹配在一起 但我已经尝试了 5 个小时了 但仍然不知道该怎么做 第一个文件 600 000 行 包含 4 列 Postal Number Houseletter livingspace 第二个文件 7 000 行
  • 如何让 gcloud auth activate-service-account 持续存在

    我正在使用 bq 命令行工具从 Bigquery 表进行查询 当我登录并退出查询进程正在运行的盒子时 有没有办法让服务帐户身份验证持续存在 我所做的步骤 我登录了linux盒子 通过运行以下命令来验证服务帐户 gcloud auth act
  • Java - 当数据超出限制时打印消息?

    我的代码已经可以工作了 虽然不漂亮 但确实是工作 现在我想编写一段代码 如果文本文件中有 19 条或更多数据 则停止加载数据 然后显示例如 显示 输入无效 的消息 我不知道如何做到这一点 所以任何帮助将不胜感激 package stacka
  • htaccess 外部重写/内部重定向

    我想通过 htaccess 文件实现两件事 第一个是 www hostname com index php question gt www hostname com question www hostname com index php m
  • GWT 远程日志记录无法记录 Throwable Stacktrace?

    我想使用 GWT远程记录 http www gwtproject org doc latest DevGuideLogging html 这就是我所做的 在我的 web xml 文件中我做了
  • 用于列出 GCP firebase 函数的 Firebase 命令行

    我有 100 个函数部署到 firebase 我想知道是否可以使用 firebase 命令行工具列出我的计算机上的远程函数 我想查看部署的功能列表 我想解决的是 批量部署功能 避免部署限制 在本地删除 重命名函数然后部署整个函数时出现部署错
  • 截断 UILabel 中的部分文本

    我的要求是 我需要在标签中显示文本 如果文本长度太大而无法容纳在一行中 我需要在末尾截断它 这样只有最后几个字符 通常是黑白 1 1000 的数字 因此文本长度可能会有所不同 是可见的 并且其之前的文本被 截断 所以文本看起来像 abcde
  • kubernetes skydns 转发请求失败

    我正在创建一个 1 个主节点 2 个节点的 kubernetes 集群 我正在尝试基于以下内容创建 skydns apiVersion v1 kind ReplicationController metadata name kube dns
  • ANACONDA navigator 无法启动-from win32com.shell import shellcon, shell

    我已经下载并安装了 ANACONDA Anaconda3 2020 02 Windows x86 但是 我发现我无法启动 ANACONDA 导航器 因此我尝试使用命令行并获得了反馈 from win32com shell import sh
  • 无法获取 dicom 图像以在 python 中显示

    我正在尝试在 opencv python 中显示 DICOM 图像 我正在使用 pydicom 库 然后添加 API 来使用 DOTNET 创建一个完整的 DICOM 查看器 该查看器运行 python 当然 C 使用流程实例调用 pyth