"AttributeError: объект 'numpy.ndarray' не имеет атрибутов 'values'

Вот фрагмент моего кода:

#code sample
for i in range(1, number_of_segments + 1):
    I1 = (dcm_pixel_array["array" + str(3 + (i - 1))]) * 2
    I8 = (dcm_pixel_array["array" + str(3 + (7*int((number_of_segments+2)/8)) + (i-1) + 2)]) * 2
    for j in range(I1.ndim):
        for k in range(I1.ndim):
            if (3.03 - (17.85 + 14.87)) / (math.log((I8[j].values[k]) / (I1[j].values[k]))) < 0:
                T2_map = np.zeros(shape = (j, k, i))
            elif (3.03-(17.85+14.87))/(math.log((I8[j].values[k]) / (I1[j].values[k]))) > 100:
                T2_map = np.full((i,j,k), 100)
# end of sample

Я получаю сообщение об ошибке в строке с первым оператором if. Он говорит: "AttributeError: объект 'numpy.ndarray' не имеет атрибутов 'values'". Какие-либо рекомендации относительно того, что мне делать, чтобы исправить ошибку?

Уточнения: "dcm_pixel_array" - это словарь массивов (двоичных масок), которые были прочитаны из файлов dicom. Количество сегментов - 286. Я пытаюсь получить доступ к информации в j-й строке k-го столбца массивов I8 и I1.

Спасибо!

1 ответ

Решение

Поскольку данный набор данных уже является массивом, значения работать не будут. Вызовите массив, используяI8[j][k]

Другие вопросы по тегам