Вложенный список в списке и массивах Numpy - PullRequest
0 голосов
/ 22 октября 2018

Как вставить некоторые матрицы (например, изображения) в каждую ячейку списка или массива, а затем использовать каждую из матриц в качестве массива (например, массивы ячеек в Matlab)?Я попытался сделать это, как в следующем коде:

    a = []
    for dcmfile in dcmfiles:
        dcm_image = pydicom.dcmread(os.path.join(root, dcmfile))
        a.append([dcm_image.pixel_array])
        volume_image = np.concatenate((a, ?), 1)  # problem is in this line because two variables are needed to the "concatenate".

َ Кроме того, я проверил приведенный ниже код, но была ошибка:

    volume_image = {}
    for i, dcmfile in dcmfiles:
        dcm_image = pydicom.dcmread(os.path.join(root, dcmfile))
        volume_image[i] = dcm_image.pixel_array

ValueError: слишком многозначения для распаковки (ожидается 2)

1 Ответ

0 голосов
/ 22 октября 2018

Ошибка говорит о том, что в какой-то момент python ожидает 2 объекта (значения), но отправляется только один.Виновник в:

for i, dcmfile in dcmfiles:

Здесь вы перебираете элементы dcmfile, поэтому оператор for .. in будет возвращать один элемент за раз для работы с ним.Однако вы запрашиваете два элемента, а именно i и dcmfile, отсюда и ошибка.

Вы должны изменить его на:

for i, dcmfile in enumerate(dcmfiles):

, если dcmfiles является итеративнымили в:

for i, dcmfile in dcmfiles.iteritems(): # for python 2.x
for i, dcmfile in dcmfiles.items(): # for python 3.x

, если dcmfiles словарь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...