exponenta event banner

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' и положительный скаляр. Диапазон расположений датчиков параллельного луча вычисляется из диапазона углов вентилятора, фанангов, по: [D*sin(min(fanangles)) D*sin(max(fanangles))].

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

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

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

свернуть все

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

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

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

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

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

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

См. также

| | | | |

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