русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Прямое и обратное преобразование Радона в среде MATLAB


Дата добавления: 2014-11-28; просмотров: 3253; Нарушение авторских прав


Функция iradon выполняет обратное преобразование Радона, которое широко применяется в томографии. Это преобразование является инверсным к преобразованию Радона и выполняет реконструкцию изображений по их проекционным данным.

Функция прямых преобразований Радона radon для своего выполнения требует установки двух основных параметров – исходного изображения I и углов theta.

R = radon(I,theta);

Функция iradon реализует восстановление изображения I на основе проекционных данных.

IR = iradon(R,theta);

Функция iradon восстанавливает полутоновое изображение IR из матрицы проекций R, которые получены под соответствующими углами theta. Значения углов в векторе theta определяют направление осей. В общей сложности, функция iradon позволяет задать четыре параметра. Кроме описанных двух параметров, функция iradon задает также тип интерполяции, которая используется при восстановлении исходного изображения. Еще один параметр дает возможность определить фильтр предварительной обработки проекций, из которых будет восстанавливаться изображение. Если эти параметры не указываются, то используется соответствующее значение по умолчанию.

С помощью функции phantom сымитировали снимок головы человека. Выполнили прямое преобразование Радона (radon), выбрав различные углы. Восстановили изображение с помощью обратного преобразования Радона. Оценили качество восстановленного изображения.

close all; clear all; clc;

P=phantom(256); %Создание искусственного изображения среза головы

figure(1)

imagesc(P);

title('Head Phantom');

xlabel('x\prime (pixels)');

ylabel('y\prime (pixels)');

 

Рис. 6. Сгенерированный снимок головы.

%Прямые преобразования Радона с различными углами theta

theta1 = 0:10:170;

[R1,xp1] = radon(P,theta1);

theta2 = 0:5:175;

[R2,xp2] = radon(P,theta2);



theta3 = 0:2:178;

[R3,xp3] = radon(P,theta3);

theta4 = 0:0.1:179;

[R4,xp4] = radon(P,theta4);

figure(2)

subplot(2,2,1)

imagesc(theta1,xp1,R1)

title('Num angles = 18');

xlabel('Rotation Angle - \theta (degrees)');

ylabel('Sensor Position - x\prime (pixels)');

colormap(hot)

subplot(2,2,2)

imagesc(theta2,xp2,R2)

title('Num angles = 36');

xlabel('Rotation Angle - \theta (degrees)');

ylabel('Sensor Position - x\prime (pixels)');

colormap(hot)

subplot(2,2,3)

imagesc(theta3,xp3,R3)

title('Num angles = 90');

xlabel('Rotation Angle - \theta (degrees)');

ylabel('Sensor Position - x\prime (pixels)');

colormap(hot)

subplot(2,2,4)

imagesc(theta4,xp4,R4)

title('Num angles = 1791');

xlabel('Rotation Angle - \theta (degrees)');

ylabel('Sensor Position - x\prime (pixels)');

colormap(hot)

 

Рис. 7. Преобразования Радона с различными углами.

%Вычисление обратного преобразования Радона с различными углами theta

IR1=iradon(R1,theta1,'nearest','Ram-Lak',1,256);

IR2=iradon(R2,theta2,'nearest','Ram-Lak',1,256);

IR3=iradon(R3,theta3,'nearest','Ram-Lak',1,256);

IR4=iradon(R4,theta4,'nearest','Ram-Lak',1,256);

figure(3)

subplot(2,2,1)

imagesc(theta1,xp1,IR1)

title('Num angles = 18');

xlabel('x\prime (pixels)');

ylabel('y\prime (pixels)');

subplot(2,2,2)

imagesc(theta2,xp2,IR2)

title('Num angles = 36');

xlabel('x\prime (pixels)');

ylabel('y\prime (pixels)');

subplot(2,2,3)

imagesc(theta3,xp3,IR3)

title('Num angles = 90');

xlabel('x\prime (pixels)');

ylabel('y\prime (pixels)');

subplot(2,2,4)

imagesc(theta4,xp4,IR4)

title('Num angles = 1791');

xlabel('x\prime (pixels)');

ylabel('y\prime (pixels)');

 

Рис. 8. Обратные преобразования Радона с различными углами.

 

Таб. 1. Оценка качества восстановленных изображений.

Погрешность Количество углов
Среднеквадратическая относительная погрешность 96.0877 60.1466 37.0012 32.1464

 



<== предыдущая лекция | следующая лекция ==>
Свёрточный алгоритм | ВОЗМОЖНОСТИ РЕНТГЕНОВСКОЙ КОМПЬЮТЕРНОЙ ТОМОГРАФИИ В ВЫБОРЕ МЕТОДА ХИРУРГИЧЕСКОГО ЛЕЧЕНИЯ ОСТРОГО ПАНКРЕАТИТА


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.462 сек.