将DICOM批量转化成PNG格式报错

问题遇到的现象和发生背景

使用yala / OncoData_Public Public将DICOM格式批量转化PNG格式报错

遇到的现象和发生背景,请写出第一个错误信息

图片转化不成功

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%

我使用如下代码加载dicom_to_png.py程序

python dicom_to_png.py \
    --dicom_dir /media/bsuo/Elements/CT_image/NLST-937/manifest-NLST_allCT/NLST/ \ 
    --png_dir /media/bsuo/Elements/CT_image/NLST-937/manifest-NLST_allCT/Sybil_PNG/ \
    --dcmtk \
    --dicom_types generic \
    --window
运行结果及详细报错内容

[Errno 2] No such file or directory: 'dcmj2pnm'

img

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

希望帮忙debug

基于最新版ChatGPT4的回答,望采纳!!!有其他问题也可以询问我哦、”(最新版更智能,功能更加强大)

根据报错信息,“[Errno 2] No such file or directory: 'dcmj2pnm'”可以看出是缺少dcmj2pnm这个命令。dcmj2pnm是dcmtk库中的一个命令,用于将DICOM图像转换为其他图像格式。在使用该命令前,需要先安装dcmtk库。

解决方法如下:

  1. 确认dcmtk库是否已经安装。在终端中输入以下命令检查:
dcmj2pnm -h

如果提示“-bash: dcmj2pnm: command not found”,则说明dcmtk库未安装。

  1. 安装dcmtk库。在终端中输入以下命令安装:
sudo apt-get install dcmtk

如果提示“E: Unable to locate package dcmtk”,则说明dcmtk库未在系统源中,需要添加源后再安装。可以在终端中输入以下命令添加dcmtk库源:

sudo add-apt-repository ppa:dcmtk/daily
sudo apt-get update
sudo apt-get install dcmtk
  1. 安装完成后,重新运行脚本即可。

  2. 如果以上方法不起作用,还可以尝试以下方法:

    1. 手动安装dcmtk库。在dcmtk官网(https://dicom.offis.de/dcmtk.php.en)下载最新版本的dcmtk源码,解压后按照官方文档(https://dicom.offis.de/dcmtk.php.en/manuals/dcmtk/installation_guide.html)进行编译和安装。
    2. 确认dcmj2pnm是否已经在系统的PATH环境变量中。在终端中输入以下命令检查:
    echo $PATH
    

    如果没有看到dcmtk库的安装路径,可以手动将其添加到PATH环境变量中。在终端中输入以下命令:

    export PATH=$PATH:/path/to/dcmtk/bin
    

    其中,/path/to/dcmtk是dcmtk库的安装路径。可以使用which命令来确定dcmj2pnm的实际路径:

    which dcmj2pnm
    
    1. 如果还是不能解决问题,可以尝试升级或重新安装dcmtk库,或者查看操作系统和dcmtk库的兼容性是否存在问题。

dcmj2pnm这个目录不存在,或者路径不对,如果是前者,先调用 mkdir dcmj2pnm 创建一个。

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
根据错误信息,看起来是操作系统没有找到 dcmj2pnm 工具造成的。因为现在的 DICOM 转换工具非常多,具体解决方法可能需要看 dicom_to_png.py 的代码,并根据代码中使用的工具进行安装。

不过,根据参数 --dcmtk,猜测可能需要安装 DCMTK 软件包,因为 dcmj2pnm 工具是 DCMTK 软件包的一部分。你可以参考以下步骤安装 DCMTK:

  1. 在 Linux 上打开终端,使用以下命令安装 DCMTK:

    sudo apt-get install dcmtk
    

    如果您使用的是 macOS,则可以使用 brew 包管理器安装 DCMTK:

    brew install dcmtk
    
  2. 安装完成后,通过以下命令检查安装是否成功:

    dcmj2pnm --version
    

    如果能看到版本信息,则表示安装成功。

  3. 再次运行脚本以将 DICOM 转换成 PNG 格式。

希望以上步骤可以帮到您解决问题。如果还有其他疑问或需要进一步的帮助,请及时回复。
如果我的回答解决了您的问题,请采纳!

看这个报错是找不到 "dcmj2pnm" 这个命令或文件;
也还有可能是因为该工具未正确安装或未添加到系统路径中,导致程序无法调用该命令。你可以心安检查DCMTK的安装和配置是否正确。


如果以上回答对您有所帮助,望采纳~谢谢

参考GPT:根据报错信息,程序无法找到名为'dcmj2pnm'的文件或目录。 'dcmj2pnm'是DCMTK(DICOM Toolkit)的一部分,这个命令用于将DICOM图像转换为其他格式(例如PNG)。

请确认DCMTK已经正确地安装在您的系统上,并且'dcmj2pnm'可用于命令行。您可以在终端或命令提示符下输入'dcmj2pnm',如果提示“未找到命令”等错误,则需要安装或设置DCMTK。

如果DCMTK已正确安装,但是'dcmj2pnm'仍然无法找到,则需要将DCMTK的bin目录添加到系统的PATH环境变量中,以确保系统可以找到'dcmj2pnm'等工具。

如果你取相对路径不是在主文件里,可能就会有相对路径问题:"No such file or directory"。
因为 python 的相对路径,相对的都是主文件。
如下目录结构:

| -- main.py
     | -- conf.py
     | -- start.png
| -- config.txt

main.py 是主文件。
conf.py 里引用 config.txt 用相对路径。
如果用 . 或 . . 相对的是 main.py,所以用 "./config.txt",相对于 main.py 是同一个目录下。
. 指当前文件所在的文件夹,. . 指当前文件的上一级目录。

参考GPT:
根据报错信息来看,是因为程序找不到名为"dcmj2pnm"的文件或目录而导致的错误。dcmj2pnm是dcmtk工具包中的一个可执行文件,它用于将DICOM图像转换为其他格式。这意味着您需要安装dcmtk工具包,并确保该文件位于系统的PATH环境变量中。

尝试使用以下命令检查dcmtk是否正确安装并且dcmj2pnm是否可用:

css
Copy code
dcmj2pnm --version
如果您收到类似于“command not found”或“未找到命令”的错误,请确保dcmtk已正确安装并已将其添加到系统PATH变量中。

如果您已经安装了dcmtk但仍然遇到此错误,请尝试在终端中输入以下命令以查找dcmj2pnm的位置:

lua
Copy code
find / -name dcmj2pnm
然后将结果添加到您的PATH环境变量中。

如果您仍然遇到问题,请在dcmtk支持论坛上发布您的问题:https://forum.dcmtk.org/%E3%80%82