, поэтому по какой-то причине он не находит мой файл, когда я передаю его через «предварительную обработку», но файл есть, и когда я его запускаю, я вижу в fileList все файлы dicom. какие-либо предложения, что я делаю неправильно?
thx
Я получаю следующую ошибку
FileNotFoundError: [Errno 2] Нет такого файла или каталога: '12 -1. дсм '
import dicom
from scipy.ndimage.interpolation import zoom
import os
import imageio
def add_gaussian_noise(inp, expected_noise_ratio=0.05):
image = inp.copy()
if len(image.shape) == 2:
row,col= image.shape
ch = 1
else:
row,col,ch= image.shape
mean = 0.
var = 0.1
sigma = var**0.5
gauss = np.random.normal(mean,sigma,(row,col)) * expected_noise_ratio
gauss = gauss.reshape(row,col)
noisy = image + gauss
return noisy
def normalize(img):
arr = img.copy().astype(np.float)
M = np.float(np.max(img))
if M != 0:
arr *= 1./M
return arr
def preprocess(filename, resize_ratio=0.25):
img = dicom.read_file(filename).pixel_array
img = normalize(zoom(img, resize_ratio))
img = add_gaussian_noise(img)
return img
### filelist contains all *.dcm files
PathDicom = "dicom_pics/"
for dirName, subdirList, fileList in os.walk(PathDicom):
for dicom_file in fileList:
pp_image = preprocess(dicom_file)
imageio.imwrite(dicom_file.replace("dcm","png"), pp_image, "png")