Я создаю простую, основанную на Python программу, которая выводит графы графиков в качестве вывода. Я хотел бы использовать пользовательские узлы, которые отображают данные из программы. Использование пользовательских узлов достаточно просто, если у вас есть изображение, но у меня возникают проблемы с поиском удобного метода получения нужных мне изображений.
В частности, я хотел бы, чтобы узлы были кругами, чья область представляет собой измеренное значение, но с градиентом, который представляет неопределенность в этом значении. Кажется разумным использовать контурную карту, созданную с помощью некоторой математической программы (например, sagemath ), но они, как правило, создают квадратные изображения, которые не масштабируются. В качестве альтернативы, функции градиента в программах манипулирования изображениями трудно связать со строгой функцией Гаусса.
В идеале я хотел бы написать функцию в соответствии с этим псевдокодом ...
def make_node_image(measured_value, std_dev):
mean_circle_radius = sqrt(measured_value/pi)
image_circle_radius = sqrt((measured_value + 2*std_dev)/pi)
gradient_amplitude = 1/(std_dev*sqrt(2*pi))
gradient_fade = e^(-(r-mean_circle_radius)^2/(2*std_dev^2))
image_gradient = gradient_amplitude*gradient_fade
***generate_image_from_gradient***
***scale_and_clip_image_to_image_circle_radius***
return image
Два помеченных бита - это то, где мне нужна помощь; Буду признателен за любые предложения, спасибо!