"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]