ifanbeam

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

Синтаксис

I = ifanbeam(F,D)
I = ifanbeam(F,D,Name,Value)
[I,H] = ifanbeam(___)

Описание

пример

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

пример

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

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

Примеры

свернуть все

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

ph = phantom(128);

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

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

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

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

figure
imshow(I);

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

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
imshow(phReconstructed)

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

свернуть все

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

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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'

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

'Shepp-Logan'

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

'Cosine'

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

'Hamming'

Умножает фильтр Поршня-Lak по Окну Хэмминга

'Hann'

Умножает фильтр Поршня-Lak по окну Hann

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

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

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

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

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

самый близкий NearestNeighbor

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

сплайн Кусочный кубический сплайн

pchip Кусочный кубический Эрмит (PCHIP)

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

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

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

Примечание

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

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

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

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

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

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

свернуть все

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

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

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

Советы

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

Алгоритмы

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

Ссылки

[1] Kak, A. C., и М. Слэни, принципы компьютеризированной томографической обработки изображений, Нью-Йорка, Нью-Йорка, нажатия IEEE, 1988.

Смотрите также

| | | | |

Представлено до R2006a