Преобразуйте проекции вентилятора-балки в параллельные
использует пары "имя-значение", чтобы управлять аспектами преобразования данных.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

Преобразуйте данные параллельного луча в диаграммы направленности вентилятора.
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

F - Данные проекции вентилятора-лучаДанные проекции вентилятора-луча, заданные как числовая матрица. Каждый столбец F содержит данные о пучке вентиляторов под одним углом поворота. Количество столбцов указывает количество углов поворота вентилятора-луча, а количество строк указывает количество датчиков вентилятора-луча.
Типы данных: double | single
D - Расстояние от вершины вентиляторной балки до центра вращенияРасстояние в пикселях от вершины балки вентилятора до центра вращения, заданное как положительное число. 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' (по умолчанию) | 'minimal'Область значений поворота вентилятора-луча, заданный как разделенная запятыми пара, состоящая из 'FanCoverage' и одно из этих значений.
'cycle' - Вращайте всюсь область значений [0, 360) степеней.
'minimal' - Повернуть через минимальную область значений, необходимый для представления объекта.
'FanRotationIncrement' - Шаг угла поворота вентилятора-балки1 (по умолчанию) | положительная скалярная величинаШаг угла поворота вентилятора-луча в степенях, задается как разделенная разделенными запятой парами, состоящая из 'FanRotationIncrement' и положительная скалярная величина.

Типы данных: double
'FanSensorGeometry' - Позиционирование вентиляторного луча'arc' (по умолчанию) | 'line'Позиционирование датчика-луча вентилятора, заданное как разделенная разделенными запятой парами, состоящая из 'FanSensorGeometry' и одно из следующих значений.
Значение | Значение | Диаграмма |
|---|---|---|
| Датчики расположены с равными углами вдоль дуги окружности на расстоянии
| ![]() |
| Датчики расположены на одинаковых расстояниях вдоль линии, которая параллельна оси x '. Ближайшим датчиком является расстояние
| ![]() |
'FanSensorSpacing' - Интервал между датчиками типа «вентилятор-фасоль»1 (по умолчанию) | положительная скалярная величинаИнтервал между датчиками типа «вентилятор-фасоль», заданный как разделенная разделенными запятой парами, состоящая из 'FanSensorSpacing' и положительная скалярная величина.
Если FanSensorGeometry является 'arc', затем FanSensorSpacing задает угловой интервал в степенях.
Если FanSensorGeometry является 'line', затем FanSensorSpacing определяет линейное расстояние между вентиляторными балками в пикселях. Линейный интервал измеряется на оси x '.
Типы данных: double
'Interpolation' - Тип интерполяции'Linear' (по умолчанию) | 'nearest' | 'spline' | 'pchip'Тип интерполяции, используемой между данными параллельного луча и данных о вентиляторе, задается как разделенная разделенными запятой парами, состоящая из 'Interpolation' и одно из этих значений.
'nearest' - Ближайшая соседка
'linear' - Линейный (значение по умолчанию)
'spline' - Кусочно-кубический сплайн
'pchip' - Кусочно-кубический гермит (PCHIP)
'ParallelCoverage' - Область значений поворота параллельного луча'halfcycle' (по умолчанию) | 'cycleОбласть значений поворота параллельного луча, заданный как разделенная разделенными запятой парами, состоящая из 'ParallelCoverage' и одно из этих значений.
'cycle' - Параллельные данные охватывают полную область значений [0, 360) степеней.
'halfcycle' - Параллельные данные покрывают [0, 180) степеней.
'ParallelRotationIncrement' - Шаг угла поворота параллельного лучаШаг угла поворота параллельного луча в степенях, заданный как разделенная разделенными запятой парами, состоящая из 'ParallelRotationIncrement' и положительная скалярная величина k таким образом, что 180/k является целым числом. Если вы не задаете ParallelRotationIncrement, тогда значение по умолчанию равно FanRotationIncrement.
Типы данных: double
'ParallelSensorSpacing' - Расстояние между датчиками параллельного лучаДатчик параллельного луча интервала в пикселях, задается как разделенная запятой пара, состоящая из 'ParallelSensorSpacing' и положительная скалярная величина. Область значений расположения датчика параллельного луча вычисляется из области значений углов наклона вентилятора, fanangles, согласно: [.D* sin (min (fanangles)) D * sin (max (fanangles))]
Если вы не задаете ParallelSensorSpacingзатем интервал принимается равномерным и устанавливается на минимальное расстояние, подразумеваемое углами вентилятора и дискретизируемое в области значений, подразумеваемом углами вентилятора.
Типы данных: double
P - Данные проекции параллельного лучаДанные проекции параллельного луча, возвращенные как числовая матрица. Каждый столбец P содержит данные параллельного луча при одном угле поворота. Количество столбцов указывает общее количество углов поворота параллельного луча и равно длине parallel_rotation_angles. Количество строк указывает общее количество датчиков параллельного луча и равно длине parallel_sensor_positions.
Типы данных: double
parallel_sensor_positions - Расположение датчика параллельного лучаРасположение датчика параллельного луча, возвращаемое в виде числа вектора-столбца.
Типы данных: double
parallel_rotation_angles - Углы поворота параллельных лучейУглы поворота параллельного луча, возвращенные в виде числа вектора-строки.
Типы данных: double
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.