Я использую simpleITK для обработки изображений МРТ в формате .mha. Впоследствии я преобразую его в массив numpy. Я могу визуализировать изображения, используя matplotlib. Однако, если я выполняю какую-либо предварительную обработку или умножу изображение на свою двоичную маску, все, что я получаю, является пустым изображением. Есть что-то, чего я не вижу. Мой упрощенный код показан ниже.Изображение пустого изображения
import SimpleITK as sitk
import numpy as np
from matplotlib import pyplot as plt
input_image = sitk.ReadImage('MRI.mha')
input_array = sitk.GetArrayFromImage(input_image)
plt.imshow(input_array[0,:,:],cmap = 'gray') # I get an image for this. No preprocessing has been performed.
plt.show()
# However, if I replace input_array after preprocessing, I get a black square.
Я думаю, что это как-то связано с диапазоном данных, но я не могу точно определить, где. Изображение, визуализированное перед предварительной обработкой, имеет максимальное значение 744. После предварительной обработки это опускается до 4, и именно тогда возникают проблемы. Любые указатели на то, где я могу ошибиться?
Попытайтесь проверить минимальное и максимальное количество данных после предварительной обработки. Также убедитесь, что вы не создаете NaN или любые значения, которые будут отображаться в масках. Это делается для того, чтобы убедиться, что проблема заключается не в ваших данных, а в самом сюжете. Если возможно, можете ли вы предоставить рандомизированный пример, чтобы другие люди могли проверить себя? – armatita
Данные после предварительной обработки попадают в диапазон от 0 до 4. В данных нет NaN. Это изображение (https://drive.google.com/open?id=0BwD-ZZ_dzJIgaF83aTljWUtVLVU), которое содержит ярлыки, которые я использую для предварительной обработки изображения MRI. Эта ссылка (https://drive.google.com/open?id=0BwD-ZZ_dzJIgaWpSREZPRGxFQjg) изображение MRI. – Raghuram
Таким образом, классифицированное изображение RF имеет 7 ярлыков. Метка 1 - это белая материя. Ярлыки 4,5,6 и 7 являются областями опухолей. – Raghuram