Я думаю, что путаница началась с того, как вы рисуете синограмму. Домен преобразования Радона - это (alpha, s)
, где alpha
- это угол, который вектор нормали к линии образует с осью x, а s
- это расстояние линии от начала координат (см. Следующий рисунок из здесь ).
Согласно лыжному магии Радон документация , источником является центр изображения.
Поэтому, я думаю, вы можете понять значения, если вы нанесете их как
ax2.imshow(sinogram, cmap=plt.cm.Greys_r,
extent=(0, 180, -sinogram.shape[0]/2.0, sinogram.shape[0]/2.0), aspect='auto')
это приводит к
вместо
ax2.imshow(sinogram, cmap=plt.cm.Greys_r,
extent=(0, 180, 0, sinogram.shape[0]), aspect='auto')
это приводит к
для изображения 50x50.
Возможно, вы сделали это, как показано здесь . На этой странице они показывают, как восстановить изображение, используя синограмму, используя функции iradon и iradon_sart .