iradon
функция инвертирует преобразование Радона и, следовательно, может использоваться для восстановления изображений.
Как описано в Radon Transform, задано изображение I
и набор углов theta
, radon
функция может использоваться, чтобы вычислить преобразование Радона.
R = radon(I,theta);
Функция iradon
можно затем вызвать, чтобы восстановить изображение I
из данных проекции.
IR = iradon(R,theta);
В приведенном выше примере проекции вычисляются из оригинального изображения I
.
Однако обратите внимание, что в большинстве областей применения отсутствует оригинальное изображение, из которого формируются выступы. Например, обратное преобразование Радона обычно используется в приложениях томографии. В рентгеновской абсорбционной томографии проекции формируют путем измерения ослабления излучения, которое проходит через физический образец под разными углами. Оригинальное изображение можно рассматривать как сечение через образец, в котором значения интенсивности представляют плотность образца. Проекции собираются с помощью специального оборудования, а затем внутреннее изображение образца реконструируется iradon
. Это позволяет неинвазивное изображение внутренней части живого тела или другого непрозрачного объекта.
iradon
восстанавливает изображение из параллельных проекций. В конфигурации с параллельным лучом каждая проекция формируется путем объединения множества интегралов линии через изображение под определенным углом.
Следующий рисунок иллюстрирует, как параллельная геометрия применяется в рентгеновской абсорбционной томографии. Обратите внимание, что существует равное количество n излучателей и n датчиков. Каждый датчик измеряет излучение, излучаемое его соответствующим эмиттером, и ослабление в излучении дает меру интегрированной плотности, или массы, объекта. Это соответствует интегралу линии, который вычисляется в преобразовании Радона.
Параллельная геометрия, используемая на рисунке, совпадает с геометрией, которая была описана в Radon Transform. f(x,y) обозначает яркость изображения и - проекция под углом theta.
Параллельные проекции через объект
Другой геометрией, которая обычно используется, является геометрия вентилятора-луча, в которой есть один источник и n датчиков. Для получения дополнительной информации см. Раздел «Проекция вентилятора-балки» Чтобы преобразовать данные проекции параллельного луча в данные проекции вентилятора-луча, используйте para2fan
функция.
iradon
использует отфильтрованный алгоритм проекции назад, чтобы вычислить обратное преобразование Радона. Этот алгоритм формирует приближение изображения I
на основе проекций в столбцах R
. Более точный результат может быть получен при помощи большего количества проекций в реконструкции. Количество проекций (длина theta
) увеличивает, восстановленное изображение IR
более точно аппроксимирует оригинальное изображение I
. Векторная theta
должен содержать монотонно увеличивающиеся угловые значения с постоянным наклонным углом Dtheta
. Когда скаляр Dtheta
известно, оно может быть передано в iradon
вместо массива theta. Вот пример.
IR = iradon(R,Dtheta);
Отфильтрованный алгоритм проекции назад фильтрует проекции в R
а затем восстанавливает изображение с помощью отфильтрованных проекций. В некоторых случаях в проекциях может присутствовать шум. Чтобы удалить шум высокой частоты, приложите окно к фильтру, чтобы ослабить шум. Многие такие оконные фильтры доступны в iradon
. Пример вызова iradon
ниже применяется окно Хэмминга к фильтру. См. iradon
Страница с описанием для получения дополнительной информации. Чтобы получить нефильтрованные данные проекции назад, задайте 'none'
для параметра фильтра.
IR = iradon(R,theta,'Hamming');
iradon
также позволяет вам задать нормированную частоту, D
, над которым фильтр имеет нулевую характеристику. D
должен быть скаляром в области значений [0,1]. При помощи этой опции ось частоты переформулируется так, чтобы весь фильтр был сжат, чтобы вписаться в область значений [0,D]
. Это может быть полезно в случаях, когда проекции содержат мало высокочастотной информации, но существует высокочастотный шум. В этом случае шум может быть полностью подавлен без ущерба для реконструкции. Следующий вызов для iradon
задает нормированное значение частоты 0,85.
IR = iradon(R,theta,0.85);
Команды ниже иллюстрируют, как восстановить изображение из данных параллельной проекции. Тестовым изображением является фантом головы Shepp-Logan, который можно сгенерировать с помощью phantom
функция. Фантомное изображение иллюстрирует многие качества, которые встречаются в реальной томографической визуализации человеческих голов. Яркий эллиптический интерпретатор вдоль экстерьера аналогичен черепу, а множество эллипсов внутри аналогичны функциям мозга.
Создайте фантомное изображение головы Shepp-Logan.
P = phantom(256); imshow(P)
Вычислите преобразование Радона фантомного мозга для трех различных наборов theta значений. R1
имеет 18 проекций, R2
имеет 36 проекций и R3
имеет 90 проекций.
theta1 = 0:10:170; [R1,xp] = radon(P,theta1); theta2 = 0:5:175; [R2,xp] = radon(P,theta2); theta3 = 0:2:178; [R3,xp] = radon(P,theta3);
Отобразите график одного из преобразований Радона фантома головы Шеппа-Логана. Следующий рисунок показывает R3
, преобразование с 90 проекциями.
figure, imagesc(theta3,xp,R3); colormap(hot); colorbar xlabel('\theta'); ylabel('x\prime');
Радоновое преобразование фантома головы с использованием 90 проекций
Обратите внимание, как некоторые функции входа изображения появляются в этом изображении преобразования. Первый столбец в преобразовании Радона соответствует проекции на 0 °, которая интегрируется в вертикальном направлении. Самый центральный столбец соответствует проекции на 90º, которая интегрируется в горизонтальном направлении. Проекция на 90с имеет более широкий профиль, чем проекция на 0с из-за большей вертикальной полуоси крайнего эллипса фантома.
Восстановите фантомное изображение головы из данных проекции, созданных на шаге 2, и отобразите результаты.
I1 = iradon(R1,10); I2 = iradon(R2,5); I3 = iradon(R3,2); imshow(I1) figure, imshow(I2) figure, imshow(I3)
Следующий рисунок показывает результаты всех трех реконструкций. Заметьте, как I1
изображения, который был реконструирован только из 18 проекций, является наименее точной реконструкцией. Графическое
I2
, который был реконструирован из 36 проекций, лучше, но все еще недостаточно ясно, чтобы четко различить небольшие эллипсы в нижнем фрагменте изображения. I3
, реконструированный с помощью 90 проекций, наиболее близко напоминает оригинальное изображение. Заметьте, что, когда количество проекций относительно мало (как в I1
и I2
), реконструкция может включать некоторые программные продукты из задней проекции.
Обратные преобразования радона фантома головы Шеппа-Логана