ifanbeam

Обратное преобразование пучка вентиляторов

Описание

пример

I = ifanbeam(F,D) восстанавливает изображение I из данных проекции вентилятора-луча в F. Каждый столбец F содержит данные проекции вентилятор-луч на один угол поворота. Угол между датчиками принимается равномерным и равным шагу между углами поворота вентиляторного луча. D - расстояние от вершины вентилятора-балки до центра вращения.

пример

I = ifanbeam(F,D,Name,Value) использует пары "имя-значение" для управления различными аспектами реконструкции.

[I,H] = ifanbeam(___) также возвращает частотную характеристику фильтра, H.

Примеры

свернуть все

Создайте образец изображения. The phantom функция создает фантомное изображение головы.

ph = phantom(128);

Создайте преобразование вентилятора-луча фантомной головки изображения.

d = 100;
F = fanbeam(ph,d);

Восстановите изображение фантомной головки из представления весовой балки. Отобразите оригинальное изображение и восстановленное изображение.

I = ifanbeam(F,d);
imshow(ph)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(I);

Figure contains an axes. The axes contains an object of type image.

Создайте образец изображения. Фантомная функция создает фантомное изображение головы.

ph = phantom(128);

Создайте радонное преобразование изображения.

P = radon(ph);

Преобразуйте преобразование из проекции параллельного луча в проекцию вентилятора-луча.

[F,obeta,otheta] = para2fan(P,100,... 
                            'FanSensorSpacing',0.5,...
                            'FanCoverage','minimal',...
                            'FanRotationIncrement',1);

Восстановите изображение из данных о балке вентилятора.

phReconstructed = ifanbeam(F,100,... 
                           'FanSensorSpacing',0.5,...
                           'Filter','Shepp-Logan',...
                           'OutputSize',128,... 
                           'FanCoverage','minimal',...
                           'FanRotationIncrement',1);

Отображение исходного и преобразованного изображения.

imshow(ph)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(phReconstructed)

Figure contains an axes. The axes contains an object of type image.

Входные параметры

свернуть все

Данные проекции вентилятора-луча, заданные как numsensors -by numangles числовая матрица. numsensors - количество датчиков вентиляторного луча, а numangles - количество углов поворота вентиляторного луча. Каждый столбец F содержит выборки вентиляторного луча под одним углом поворота.

Типы данных: double | single

Расстояние в пикселях от вершины вентилятора-луча до центра вращения, заданное как положительное число. ifanbeam принимает, что центр поворота является центральной точкой проекций, которая определяется как ceil(size(F,1)/2). Рисунок иллюстрирует D относительно вершины вентилятора-балки для одной проекции вентилятора-балки.

Типы данных: double | single

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: I = ifanbeam(F,D,'FanRotationIncrement',5)

Область значений поворота вентилятора-луча, заданный как разделенная запятыми пара, состоящая из 'FanCoverage' и одно из этих значений.

  • 'cycle' - Вращайте всюсь область значений [0, 360) степеней.

  • 'minimal' - Повернуть через минимальную область значений, необходимый для представления объекта.

Шаг угла поворота вентилятора-луча в степенях, задается как разделенная разделенными запятой парами, состоящая из 'FanRotationIncrement' и положительная скалярная величина.

Типы данных: double

Позиционирование датчика-луча вентилятора, заданное как разделенная разделенными запятой парами, состоящая из 'FanSensorGeometry' и одно из следующих значений.

Значение

Значение

Диаграмма

'arc'

Датчики расположены с равными углами вдоль дуги окружности на расстоянии D от центра вращения.

FanSensorSpacing задает угловой интервал в степенях.

'line'

Датчики расположены на одинаковых расстояниях вдоль линии, которая параллельна оси x '. Ближайшим датчиком является расстояние D от центра вращения.

FanSensorSpacing задает расстояние между вентиляторными балками на оси x 'в пикселях.

Интервал между датчиками типа «вентилятор-фасоль», заданный как разделенная разделенными запятой парами, состоящая из 'FanSensorSpacing' и положительная скалярная величина.

  • Если FanSensorGeometry является 'arc', затем FanSensorSpacing задает угловой интервал в степенях.

  • Если FanSensorGeometry является 'line', затем FanSensorSpacing определяет линейное расстояние между вентиляторными балками в пикселях. Линейный интервал измеряется на оси x '.

Типы данных: double

Фильтр для фильтрации частотного диапазона, заданный как разделенная разделенными запятой парами, состоящая из 'Filter' и одно из значений в таблице. Для получения дополнительной информации см. iradon.

Значение

Описание

'Ram-Lak'

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

'Shepp-Logan'

Умножает фильтр Ram-Lak на sinc функция

'Cosine'

Умножает фильтр Ram-Lak на cosine функция

'Hamming'

Умножает фильтр Ram-Lak на окно Хэмминга

'Hann'

Умножает фильтр Рама-Лака на окно Ханна

'None'Фильтрация отсутствует. ifanbeam возвращает нефильтрованные данные.

Типы данных: char | string

Масштабный коэффициент для перемасштабирования оси частоты, заданный как разделенная разделенными запятой парами, состоящая из 'FrequencyScaling' и положительное число в области значений (0, 1]. Если 'FrequencyScaling' меньше 1, затем фильтр сжимается, чтобы вписаться в частотную область значений [0,FrequencyScaling], в нормированных частотах; все частоты выше FrequencyScaling заданы как 0. Для получения дополнительной информации см. iradon.

Типы данных: double

Тип интерполяции, используемой между данными параллельного луча и данных о вентиляторе, задается как разделенная разделенными запятой парами, состоящая из 'Interpolation' и одно из следующих значений.

'nearest' - Ближайшая соседка

'linear' - Линейный (значение по умолчанию)

'spline' - Кусочно-кубический сплайн

'pchip' - Кусочно-кубический гермит (PCHIP)

Типы данных: char | string

Размер восстановленного изображения, заданный как разделенная разделенными запятой парами, состоящая из 'OutputSize' и положительное целое число. Изображение имеет равное количество строк и столбцов.

Если вы задаете OutputSize, затем ifanbeam восстанавливает меньший или большой фрагмент изображения, но не изменяет масштабирование данных.

Примечание

Если проекции рассчитывались с помощью fanbeam функция, тогда восстановленное изображение может быть не того размера, как оригинальное изображение.

Если вы не задаете OutputSize, затем размер вычисляется автоматически:

OutputSize = 2*floor(size(R,1)/(2*sqrt(2)))

где R - длина данных параллельно-лучевой проекции, используемых в iradon. Для получения дополнительной информации см. «Алгоритмы».

Типы данных: double

Выходные аргументы

свернуть все

Восстановленное изображение, заданное как 2-D числовая матрица.

Частотная характеристика фильтра, возвращенная как числовой вектор.

Типы данных: double

Совет

  • Чтобы выполнить обратную реконструкцию вентилятора-балки, вы должны дать ifanbeam те же параметры, которые использовались для вычисления данных проекции, F. Если вы используете fanbeam чтобы вычислить проекцию, убедитесь, что параметры согласованы при вызове ifanbeam.

Алгоритмы

ifanbeam преобразует данные вентилятора-луча в параллельные проекции луча, а затем использует отфильтрованный алгоритм обратной проекции, чтобы выполнить обратное преобразование Радона. Фильтр проектируется непосредственно в частотный диапазон и затем умножается на БПФ проекций. Проекции заполнены нулями до степени 2 перед фильтрацией, чтобы предотвратить сглаживание пространственной области и ускорить БПФ.

Ссылки

[1] Kak, A. C., and M. Slaney, Principles of Computerized Tomographic Imaging, New York, NY, IEEE Press, 1988.

См. также

| | | | |

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте