Доля_ПГ_Радон МатЛаб (857495), страница 3
Текст из файла (страница 3)
Параметр theta описывает углы (вградусах), под которыми получена каждая проекция. Этот параметр можетпредставлять собой вектор, содержащий углы или скаляр, описывающийугол между проекциями D_theta. Когда theta представлен вектором,тогда он должен содержать углы с равномерной разбивкой. Когда thetaпредставлен скаляром, описывающим D_theta, тогда проекции берутсогласно углам theta=m*D_theta, где m=0,1,2,...,size(P,2)-1.Когда исходными данными является пустая матрица ([]), тогда параметрD_theta по умолчанию равен 180/size(P,2).Функция iradon использует алгоритм фильтрации обратныхпроекций для выполнения инверсного преобразования Радона.
Фильтрпроектируется непосредственно в частотной области и умножается нафункцию преобразования Фурье проекций. Для ускорения вычисленийфункции преобразования Фурье проводятся специальные преобразования надпроекциями.Функция I=iradon(P,theta,interp,filter,d,n) содержитописаниепараметров,которыеиспользуютсяприинверсныхпреобразованиях Фурье. Существует также возможность точногоопределения некоторых комбинаций последних четырех аргументов. Дляпропущенных параметров функция iradon по умолчанию устанавливаетнекоторые значения.17Параметр interp определяет тип интерполяции, которыйиспользуется в backprojection. Приведем список доступных опций:'nearest' - интерполяция по ближайшей окрестности;'linear' - линейная интерполяция (по умолчанию);'spline' - сплайновая интерполяцияПараметр filter описывает какой тип фильтра используется для частотнойфильтрации. Параметр filter представляет собой строку, в которойописаны несколько стандартных фильтров:'Ram-Lak' - усеченный фильтр Рама-Лака (устанавливается поумолчанию).
Частотный отзыв этого фильтра равен | f |. Одним изнедостатков фильтра Рама-Лака является то, что он чувствительный к шумуна проекциях. Поэтому он используется в комбинациях с другимифильтрами.'Shepp-Logan' - фильтр Шепа-Логана, умноженный на фильтр РамаЛака через фазовую функцию.'Cosine' - косинусный фильтр, умноженный на фильтр Рама-Лакачерез косинусную функцию.'Hamming' - фильтр Хэмминга, умноженный на фильтр Рама-Лакачерез окно Хэмминга.'Hann' - фильтр Ханна, умноженный на фильтр Рама-Лака через окноХана.Параметр d представляет собой скаляр в диапазоне (0, 1] и служит длямодификации фильтра в плане масштабирования по частотной оси.
Поумолчанию он равен 1. Когда d меньше 1, тогда фильтр сжимает частотныйдиапазон до [0,d], нормирует частоты; все частоты, которые большезначения d, приравниваются к 0.Параметр n представляет собой скаляр, описывающий число строк истолбцов в восстановленном изображении. Когда параметр n не описан,тогдаразмерыопределяютсяисходяиздлиныпроекций.n=2*floor(size(P, 1)/(2*sqrt(2))).После определения параметра n, функция iradon восстанавливаетизображение, не изменяя масштаб данных. Когда проекции были вычисленыс помощью функции radon, тогда размеры восстановленного и исходногоизображений могут не совпадать.Функция [I,h]=iradon(...) возвращает частотный отклик фильтра ввектор h.Требования к исходным данным.
Все исходные и результирующиеаргументы должны быть представлены в формате double.Пример. Рассмотрим пример восстановления изображений на основе данныхпараллельных проекций. В качестве тестового изображения используетсяготовая модель MatLab изображения головы человека, которая в приложении18Image Processing Toolbox генерируется функцией phantom (этойфункцией создается подходящая матрица заданного размера). Этоизображение демонстрирует различные особенности, которые присутствуютв реальных томографических изображениях.% phantom(n) создает матрицу n x n c с элементами от 0 до 1% в форме эллипсов разной толщиныP=phantom(128);imagesc(P);% образ матрицы P (рисунок слева)colormap('Cool'); axis image;R=radon(P, 0:179);imagesc(R); % образ матрицы R (рисунок в центре)colormap(gray);I=iradon(R, 0:179,'nearest', 'Hann');figure,G=flipud(gray);% перевернуть матрицу палитры ‘gray’ сверху внизimagesc(I);% образ матрицы I (рисунок справа)colormap(G);Вычислим преобразований Радона исходного изображения (рисунок вверхуслева) для трех различных значений theta.
R1 имеет 18 проекций, R2 – 36проекций и R3 – 90 проекций.theta1 = 0:10:170; [R1,xp] = radon(P,theta1);theta2 = 0:5:175; [R2,xp] = radon(P,theta2);theta3 = 0:2:178; [R3,xp] = radon(P,theta3);Визуализируем результаты преобразований Радона. На изображении внизупоказаны матрицы R1, R2, R3.figure, imagesc(theta1,xp,R3); colormap(hot);figure, imagesc(theta2,xp,R3); colormap(hot);figure, imagesc(theta3,xp,R3);colormap(hot); colorbar;xlabel('\theta'); ylabel('x\prime');Отметим, что первая строка матрицы преобразований соответствуетпроекции под углом 0°, что соответствует интеграции данных в19горизонтальном направлении. Проекция под углом 90° соответствуетинтеграции данных в вертикальном направлении.Восстановление изображения модели головы человека на основепроекционных данных с последующей их визуализацией реализуетсяследующим образом.I1 = iradon(R1,10); % задаем шаг приращения угла 10I2 = iradon(R2,5);I3 = iradon(R3,2);G=flipud(gray);% перевернуть матрицу палитры ‘gray’ сверху внизfigure, imshow(I1); colormap(G);figure, imshow(I2); colormap(G);figure, imshow(I3); colormap(G);На изображении внизу показано результаты реконструкции с использованиемразличного количества проекций.
Отметим, что изображение I1реконструировано с использованием 18 проекций, изображение I2 – сиспользованием 36 проекций, а изображение I3 – с использованием 90проекций. Как видно из реконструированных изображений количествопроекционных данных пропорционально качеству восстанавливаемыхизображенийРезультаты применения обратного преобразованияРадона к модели головы человека.Пример[A,m] = imread('Pogorelov32x32.bmp');image(A);colormap(m);R=radon(A,0:180);I=iradon(R, 0:180);imshow( I,[]);Функция iradon восстанавливает полутоновое изображение IR из матрицыпроекций R, которые получены под соответствующими углами theta.Значения углов в векторе theta определяют направление осей. В общейсложности, функция iradon позволяет задать четыре параметра.
Кромеописанных двух параметров, функция iradon задает также типинтерполяции, которая используется при восстановлении исходного20изображения. Еще один параметр дает возможность определить фильтрпредварительной обработки проекций, из которых будет восстанавливатьсяизображение. Если эти параметры не указываются, то используетсясоответствующее значение по умолчанию.21.