如何修复HARTA工具运行时的FileNotFoundError: [Errno 2]错误?
解决HARTA工具计算体积时闪退的问题
错误根源是程序尝试将DICOM切片转为PNG并保存到aux_img/slices/目录,但该目录未提前创建,导致文件保存失败触发闪退。
快速临时解决方法
在HARTA工具的根目录(harta.py所在的文件夹)中,手动创建两级目录:
- 先创建名为
aux_img的文件夹 - 再在
aux_img内部创建名为slices的子文件夹
之后重新运行工具,点击Calculate Volume即可正常执行。
彻底解决方法(修改代码自动创建目录)
如果不想每次手动创建目录,可以修改代码让程序自动生成所需目录:
方法1:修改algorithm/basicOperations.py
打开该文件,找到convert_image_to_rgb函数,在plt.imsave代码前添加目录创建逻辑:
import os def convert_image_to_rgb(dicom, filename, output_folder): # 原有代码... # 添加以下代码确保保存路径存在 save_path = f'{output_folder}{filename}.png' os.makedirs(os.path.dirname(save_path), exist_ok=True) # 原有保存代码 plt.imsave(save_path, image, cmap='gray')
方法2:修改_automatic_.py
打开该文件,在segmentEpicardialFat函数的开头添加目录创建代码:
import os def segmentEpicardialFat(DICOM_DATASET, OUTPUT_FOLDER): # 添加以下代码创建slices目录 os.makedirs(os.path.join(OUTPUT_FOLDER, 'slices'), exist_ok=True) # 原有代码... images_png = np.stack([convert_image_to_rgb(dicom, f'slices/{patient_id}_{i}', OUTPUT_FOLDER) for dicom, i in zip(median, range(0,no_slices))])
内容的提问来源于stack exchange,提问作者user23759614
相关产品推荐
相关产品推荐

