fan2para

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

Описание

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

пример

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

[P,parallel_sensor_positions,parallel_rotation_angles] = fan2para(___) возвращает местоположение датчика параллельного луча в parallel_sensor_positions и углы поворота в parallel_rotation_angles.

Примеры

свернуть все

Создайте синтетические данные параллельного луча.

ph = phantom(128);

Вычислите параллельное преобразование луча и отобразите его.

theta = 0:179;
[Psynthetic,xp] = radon(ph,theta);
imshow(Psynthetic,[],...
               'XData',theta,'YData',xp,'InitialMagnification','fit') 
axis normal
title('Synthetic Parallel-Beam Data')
xlabel('\theta (degrees)')
ylabel('x''')
colormap(gca,hot), colorbar

Figure contains an axes. The axes with title Synthetic Parallel-Beam Data contains an object of type image.

Преобразуйте данные параллельного луча в диаграммы направленности вентилятора.

Fsynthetic = para2fan(Psynthetic,100,'FanSensorSpacing',1);

Восстановите исходные данные параллельного луча.

[Precovered,Ploc,Pangles] = fan2para(Fsynthetic,100,...
                                      'FanSensorSpacing',1,...
                                      'ParallelSensorSpacing',1);
figure
imshow(Precovered,[],...
       'XData',Pangles,'YData',Ploc,'InitialMagnification','fit') 
axis normal
title('Recovered Parallel-Beam Data')
xlabel('Rotation Angles (degrees)')
ylabel('Parallel Sensor Locations (pixels)')
colormap(gca,hot), colorbar

Figure contains an axes. The axes with title Recovered Parallel-Beam Data contains an object of type image.

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

свернуть все

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

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

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

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

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

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

Пример: P = fan2para(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

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

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

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

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

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

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

  • 'cycle' - Параллельные данные охватывают полную область значений [0, 360) степеней.

  • 'halfcycle' - Параллельные данные покрывают [0, 180) степеней.

Шаг угла поворота параллельного луча в степенях, заданный как разделенная разделенными запятой парами, состоящая из 'ParallelRotationIncrement' и положительная скалярная величина k таким образом, что 180/k является целым числом. Если вы не задаете ParallelRotationIncrement, тогда значение по умолчанию равно FanRotationIncrement.

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

Датчик параллельного луча интервала в пикселях, задается как разделенная запятой пара, состоящая из 'ParallelSensorSpacing' и положительная скалярная величина. Область значений расположения датчика параллельного луча вычисляется из области значений углов наклона вентилятора, fanangles, согласно: [D* sin (min (fanangles)) D * sin (max (fanangles))].

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

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

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

свернуть все

Данные проекции параллельного луча, возвращенные как числовая матрица. Каждый столбец P содержит данные параллельного луча при одном угле поворота. Количество столбцов указывает общее количество углов поворота параллельного луча и равно длине parallel_rotation_angles. Количество строк указывает общее количество датчиков параллельного луча и равно длине parallel_sensor_positions.

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

Расположение датчика параллельного луча, возвращаемое в виде числа вектора-столбца.

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

Углы поворота параллельного луча, возвращенные в виде числа вектора-строки.

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

См. также

| | | | |

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