Я смотрю данные в градациях серого, которые существуют в трехмерном томе, который можно импортировать в виде трехмерного массива со значениями от -1 до 1. Данные были получены в системе обработки изображений и изображают трехмерный том с более высокими значениями и фоном. шум как случайные значения.
Чтобы проверить программу выравнивания, я сейчас пытаюсь добавить шум разных уровней к этому массиву. Мой текущий метод для этого заключается в следующем:
def RandomNoise():
"""Function to make a numpy array of 100x100x100 of random noise"""
NoiseArray = np.random.normal(-0.5,0.5,size=(100,100,100))
return NoiseArray
Затем я просто изменяю значения -0,5 или 0,5, чтобы изменить количество создаваемого мной шума.
Затем я добавляю шум, выполняя:
Noise = RandomNoise()
Volumewithnoise = (np.clip((Volume + Noise) * (1 - Volume), -1, 1))
Хотя это действительно делает мое изображение шумным, я не знаю, как каким-либо образом определить количество шума, которое я добавляю относительно исходного изображения. Кто-нибудь знает лучший способ сделать это?