#python #jupyter-notebook
#python #jupyter-ноутбук
Вопрос:
Ниже приведен мой код для чтения файла 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:projectNew folderLungNoduleDetectionClassification-master'
patients = os.listdir(data_dir)
labels_df = pd.read_csv(r'D:projectNew folderLungNoduleDetectionClassification-masterstage1_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'
примечание 1-001.dcm — это файл dicom
Ответ №1:
Ваша комбинация имени каталога и имени файла проблематична:
data_dir = r'D:projectNew folderLungNoduleDetectionClassification-master'
patients = os.listdir(data_dir)
...
for patient in patients[:1]:
path = data_dir patient
Это будет означать path
, что содержит имя каталога и имя файла без разделителя каталогов для их разделения.
Как правило, вы хотите сделать что-то подобное, чтобы убедиться, что они правильно объединены:
path = os.path.join(data_dir, patient)