Муаровый узор обнаруживается на восстановленном изображении при использовании радона и ирадона - PullRequest
2 голосов
/ 18 мая 2019

Я использовал этот сценарий для восстановления образа фантома Шеппа-Логана.

По сути, он просто использовал radon, чтобы получить sinogram, и использовал iradon, чтобы преобразовать его обратно.

Тем не менее, я обнаружил, что при настройке контрастности можно увидеть очень очевидную картину муара.Это становится еще более очевидным, если я использую набор данных КТ-изображений.

Может ли кто-нибудь помочь мне понять это?Спасибо!

img = phantom(512)*1000;
views = 576;
angles = [0:180/576:180-180/576];
sino = radon(img,angles);
img_rec = iradon(sino,angles);
imshow(img_rec,[]);

Изображение после полной настройки контраста:

full image after being adjusted contrast

Области с очевидным муаровым рисунком:

regions with obvious moire pattern

1 Ответ

3 голосов
/ 20 мая 2019

Это может происходить из-за некоторых факторов:

  • Из документации MATLAB , iradon используется 'Ram-Lak' (известный как рамп-фильтр ) фильтруется по умолчанию и не использует никаких окон для уменьшения шума на высоких частотах.Вы заявили «Это еще более очевидно, если я использую свой набор данных КТ-изображения» , потому что там у вас есть реальные шумы на изображениях.Сама документация рекомендует использовать некоторые окна:

"Поскольку этот фильтр чувствителен к шуму в проекциях, один из фильтров, перечисленных ниже, может быть предпочтительным. Эти фильтры умножают Ram-Lakфильтр по окну, которое снимает акцент с более высоких частот ".

  • Другое неудобство связано с самим проектором.Встроенные функции radon и iradon от MATLAB не учитывают размер детектора и длину рентгеновского излучения, которые пересекают пиксель.Эти функции представляют собой методы управления пикселями , то есть они в основном геометрически проецируют пиксели в детекторе и интерполируют их.

Возможные решения:

Есть и другиесложные проекторы сегодня как [1] и [2] .Как я уже говорил здесь , я реализовал дистанционный проектор для 2D компьютерной томографии (КТ) и 3D цифрового грудного томосинтеза (DBT), поэтому не стесняйтесь использовать его для своих экспериментов.

Например, я сгенерировал 3600 проекций фантома с равными интервалами, используя метод дистанционного управления, и восстановил его с помощью функции iradon, используя следующий строчный код:

slice = iradon(sinogram',rad2deg(geo.theta));

Here

...