以下是我读取 dicom 文件的代码,但我在读取文件时遇到问题,任何帮助将不胜感激
<import cv2
import pydicom as dicom # for reading dicom files
import os # for doing directory operations
import pandas as pd # for some simple data
import matplotlib.pyplot as plt
import matplotlib.image as mpimage
import numpy as np
data_dir = r'D:\project\New folder\LungNoduleDetectionClassification-master'
patients = os.listdir(data_dir)
labels_df = pd.read_csv(r'D:\project\New folder\LungNoduleDetectionClassification-master\stage1_labels.csv', index_col=0)
labels_df.head()
import matplotlib.pyplot as plt
for patient in patients[:1]:
path = data_dir + patient
slices = [dicom.read_file(path + '/' + s) for s in os.listdir(path)]
slices.sort(key = lambda x: int(x.ImagePositionPatient[2]))
plt.imshow(slices[0].pixel_array)
plt.show()>
Error :-
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-39-0cdfa4febaf1> in <module>
3 for patient in patients[:1]:
4 path = data_dir + patient
----> 5 slices = [dicom.read_file(path + '/' + s) for s in os.listdir(path)]
6 slices.sort(key = lambda x: int(x.ImagePositionPatient[2]))
7
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'D:\\project\\New folder\\LungNoduleDetectionClassification-master1-001.dcm'
答案 0 :(得分:1)
您的目录名和文件名组合有问题:
data_dir = r'D:\project\New folder\LungNoduleDetectionClassification-master'
patients = os.listdir(data_dir)
...
for patient in patients[:1]:
path = data_dir + patient
这意味着 path
包含目录名和文件名,没有目录分隔符来分隔它们。
通常,您希望执行以下操作以确保两者正确组合:
path = os.path.join(data_dir, patient)