Пример обработки рентгеновских биомедицинских изображений с использованием системы MATLAB
Изучение современных методик компьютерной обработки биомедицинских изображений с целью улучшения изображений для их наилучшего визуального восприятия врачом-диагностом и эффективного сжатия изображений – для надежного хранения и быстрой передачи данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.04.2019 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное бюджетное образовательное учреждение высшего образования «Казанский национальный исследовательский
технический университет им. А.Н. Туполева-КАИ»
(КНИТУ-КАИ)
КУРСОВАЯ РАБОТА
по дисциплине: «Цифровая обработка изображения»
на тему: Пример программы обработки биомедицинских изображений в среде MATLAB
Обучающийся 28303
Карпов С.В.
Руководитель
к.т.н., доцент кафедры МиИТ
Сагдатуллин А.М.
Лениногорск 2018
Введение
Стремительное развитие новых технологий и инструментальных средств диагностической визуализации обусловлено современными потребностями человечества в появлении новых систем и методов, расширяющих возможности клинического мониторинга и улучшающих качество жизни людей. Значительное повышение технического уровня развития современных неинвазивных диагностических систем за счет совершенствования аппаратной реализации и технологий производства делает системы диагностической визуализации незаменимыми в повседневной клинической практике. При этом наряду с прогрессом развития инструментальных средств, весьма существенную роль в настоящее время начинают играть компьютерные методы обработки графической информации. Современные методики компьютерной обработки биомедицинских изображений обеспечивают улучшение изображений для их наилучшего визуального восприятия врачомдиагностом, эффективное сжатие изображений - для надежного хранения и быстрой передачи данных по каналам связи. компьютерный биомедицинский изображение matlab
1. Теоретическая часть
1.1 Общие сведения о цифровых изображениях
Изображение представляет собой двумерную функцию вида f(x, y), значение функции f в точке с пространственными координатами (x, y) является положительной скалярной величиной, физический смысл которой определяется источником изображения. Большинство медицинских изображения являются монохромными (черно-белыми), и их значения находятся в некотором диапазоне яркостей. Цифровое изображение формируется на основе данных, воспринимаемых чувствительным элементом (ЧЭ). Выходной сигнал ЧЭ чаще всего представляет собой непрерывно меняющееся напряжение. Чтобы получить цифровое изображение, необходимо преобразовать непрерывно меняющийся сигнал в цифровую форму. Эта операция включает в себя два процесса - дискретизацию и квантование. Представление координат в виде конечного множества отсчетов называется дискретизацией, а представление амплитуды (то есть яркости) дискретными значениями из конечного множества - квантованием.
Рисунок 1.1 - размещена система координат для представления цифровых изображений.
В результате операций квантования и дискретизации координаты (x, y) становятся дискретными значениями, само изображение представлено в виде матрицы размером MЧN, за начало координат принимают верхний левый угол. Каждый элемент такой матрицы называется пикселем.
Для выполнения процесса оцифровки изображения необходимо принять решения относительно значений M и N, а также числа уровней (градаций) яркости L, разрешенных для каждого пикселя. Значение L по соображениям удобства построения оборудования для обработки, хранения и дискретизации принято выбирать равным целочисленной степени двойки L = 2k . Величина k определяет так называемую «битность» изображения. Принято говорить о 8-битном, 16-битном или 32-битном изображениях. 7 Рис. 1.1. Система представления цифровых изображений Дискретные уровни яркости расположены с постоянным шагом, то есть используется равномерное квантование, и принимают целые значения в интервале от 0 до L - 1, при этом значение L = 0 принимается за уровень черного, а L = L - 1 - за уровень белого.
Интервал значений яркости иногда называют динамическим диапазоном изображения. Если в изображении заметная доля пикселей занимает значительную часть всего диапазона уровней серого, то данное изображение обладает высоким контрастом. Изображения с малым динамическим диапазоном выглядят тусклыми, размытыми и серыми. Принято разделять пространственное и яркостное разрешения изображений.
Пространственное разрешение определяется дискретизацией и определяет размер мельчайших различимых деталей на изображении. Яркостным или полутоновым разрешением называется мельчайшее различимое изменение яркости, что по определению является субъективным. При выборе числа градаций яркости учитывают особенности аппаратуры, наиболее часто выбирают 8-битное или 16-битное представление. Оптимальный выбор уровня градаций яркости и пространственного разрешения изображения обусловлен уровнем детализации самого изображения, областью применения и дальнейшей обработки изображения.
1.2 Методы улучшения изображений
Под методами улучшения изображения подразумевается осуществление таких преобразований над исходным изображением, которые приводят к получению результата, более подходящего с точки зрения конкретного применения. Визуальное оценивание качества изображения представляет собой крайне субъективный процесс. В том случае, когда целью обработки изображения является их дальнейшее использование в системах машинного восприятия, критерием эффективности обработки исходного изображения является получение более точных результатов машинного распознавания. Множество подходов к улучшению изображения распадается на 2 категории: методы обработки в пространственной области и методы обработки в частотной области. Термин пространственная область относится к плоскости изображения как таковой, и данная категория объединяет подходы, основанные на прямом манипулировании пикселями изображения. Пространственные методы представляют собой процедуры, оперирующие непосредственно значениями пикселей, и описываются уравнением: g(x, y) = T[ f (x, y)], где f(x, y) - входное изображение, g(x, y) - обработанное изображение, T - оператор над f, определенный в некоторой окрестности точки (x, y). Под окрестностью точки понимается квадратная или прямоугольная область, являющаяся подмножеством изображения и центрированная относительно данной точки. Простейшая форма оператора T достигается в случае, когда окрестность имеет размер в один пиксель, в этом случае значение g зависит только от значения f в точке (x, y) и T становится функцией градационного преобразования. Оператор T часто называют также функцией преобразования интенсивностей или функцией отображения и записывают в виде: s = T(r). Переменные r и s представляют собой значения яркостей изображений f(x, y) и g(x, y) в точке (x, y).
1.3 Основные сведения о системекомпьютерных вычислений MATLAB
Среда программирования MATLAB представляет собой высокоуровневый технический вычислительный язык и интерактивную среду для разработки алгоритмов, визуализации и анализа данных, числовых расчетов.
MATLAB как язык программирования был разработан в конце 1970-х годов. Цель - дать студентам возможность использования программных библиотек Linpack и EISPACK без необходимости изучения Фортрана. Вскоре новый язык распространился среди университетов и был с большим интересом встречен учёными, работающими в области прикладной математики. В дальнейшем создатели языка переписали MATLAB на C и основали в 1984 компанию TheMathWorks для дальнейшего развития. Первоначально MATLAB предназначался для проектирования систем управления, но быстро завоевал популярность во многих других научных и инженерных областях. Он также широко использовался в образовании, в частности для преподавания линейной алгебры и численных методов.
Язык MATLAB является высокоуровневым языком программирования, включающим основанные на матрицах структуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования.
MATLAB предоставляет удобные средства для разработки алгоритмов, включая высокоуровневые с использованием концепций объектно-ориентированного программирования. В нём имеются все необходимые средства интегрированной среды разработки, включая отладчик и профайлер. Функции для работы с целыми типами данных облегчают создание алгоритмов для микроконтроллеров и других приложений, где это необходимо.
В системе MATLAB имеется возможность создавать специальные наборы инструментов - toolbox, расширяющих его базовую функциональность. Данные наборы инструментов представляют собой коллекции функций, написанных на языке программирования MATLAB для решения определённого класса задач. Компания Mathworks поставляет наборы инструментов, которые используются во многих областях, включая решение таких инженерных задач, как обработка цифровых сигналов и изображений, сбор и анализ экспериментальных данных и множество других.
В частности, система MATLAB предоставляет пользователю многофункциональную и эффективную среду цифровой обработки двумерныхизображений Image Processing Toolbox. Это специальный набор инструментов, расширяющий базовую функциональность среды MATLAB. ImageProcessingToolbox представляет собой коллекции функций, написанных на языке MATLAB для решения широкого круга задач цифровой обработки изображений.
Отличительной особенностью языка MATLAB является его широкие возможности по работе с матрицами. Основным объектом системы MATLAB является прямоугольный числовой массив, который допускает комплексные элементы и ввод матриц без явного указания их размеров. MATLAB предоставляет пользователю большое количество (несколько сотен) функций для анализа данных, покрывающих практически все области математики. Среда MATLAB позволяет решать многие вычислительные задачи за значительно меньшее время, нежели то, которое необходимо для написания соответствующих программ на классических языках программирования.
Работа в среде MATLAB может осуществляться в двух режимах:
* в режиме калькулятора, когда вычисления производятся непосредственно после набора очередного оператора или команды MATLAB; при этом значения результатов вычисления могут присваиваться некоторым переменным либо результаты получаются непосредственно, без присваивания (как в обычных калькуляторах);
* программном режиме - путем вызова программы, составленной и записанной на языке MATLAB, которая содержит все необходимые команды, обеспечивающие ввод данных, организацию вычислений и вывод результатов на экран.
В обоих режимах пользователю доступны практически все вычислительные возможности системы, в том числе по выводу информации в графической форме. Программный режим позволяет сохранять разработанные вычислительные алгоритмы и таким образом повторять вычисления при других исходных данных.
Программы, написанные на MATLAB, бывают двух типов -- функции и скрипты. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скриптовые файлы используют общее рабочее пространство. Как скрипты, так и функции не интерпретируются в машинный код и сохраняются в виде текстовых файлов.
Рисунок 1 - Рабочий стол системы MATLAB и его основные компоненты
Рабочий стол MATLAB После вызова MATLAB из среды операционной системы на экране появляется командное окно среды MATLAB. На рисунке 1 приведен рабочий стол в среде MATLAB, содержащий четыре подокна: окно команд (CommandWindow), окно рабочего пространства (Workspace Browser), окнотекущейпапки (Current Directory Window), окносовершенныхкоманд (Command History Window).
Окно команд (CommandWindow) - это область, где пользователь вводит команды и выражения на языке программирования среды MATLAB и где система размещает свои ответы на пользовательские команды. При каждом сеансе работы среда MATLAB формирует рабочее пространство, т.е. множество переменных, создаваемых пользователем. Команды вводятся после знака “>>”.
Рисунок 1.1 - Вид окна рабочего пространства (WorkspaceBrowser)
Окно совершенных команд (CommandHistoryWindow) содержит записи всех команд, которые пользователь вводил в окне команд, включая все предыдущие сеансы работы в среде MATLAB.
Любую команду можно вызвать еще раз двойным щелчком мыши на ней.
Окно рабочего пространства (WorkspaceBrowser) отображает переменные, с которыми пользователь работает в данный момент, а также основную информацию о них - размер и тип переменной (рисунок 1.1).
2. Практическая часть
Довольно часто рентгеновские биомедицинские изображения не отвечают тем критериям качества, которые необходимы для их достоверного анализа. Также не всегда существует возможность сделать повторный снимок. Это приводит к необходимости цифровой обработки такой информации .
Основными недостатками рентгеновских изображений, в большинстве случаев, являются искаженные яркостные характеристики и низкая контрастность. Рассмотрим пример обработки одного из таких изображений с помощью системы MATLAB.
Недостаток исходного биомедицинского изображения состоит в том, что это изображение низкоконтрастное, что затрудняет анализ мелких деталей. Поэтому сначала выполняется операция растяжения гистограммы изображения на максимально допустимый диапазон. Далее осуществляется контрастирование исследуемого изображения. Это приводит к улучшению визуального качества рентгеновских изображений. На практике, конечно, применяются также и другие более сложные методы, и алгоритмы обработки изображений такого рода.
Далее сделаем Пример программы обработки биомедицинских изображений в среде MATLAB
L=imread('spine.tif'); (Берем изображение и вводим функцию чтение из файла, потом в рабочей области появляется этот файл)
figure, imshow(L); (Далее вводим команду фигуры и показать, потом выходит окно с этим файлом)
Рисунок 2 Исходное изображение
L1=imadjust(L,[min(min(L)) max(max(L))]/255,[],1); (Далее вводим функциюдля преобразования яркости полутоновых изображений)
Определяем сначалаminи maxзначения, а после вводим полностью функцию со значениями.
min(min(L))
ans=
0
max(max(L))
ans=
63
L1=imadjust( (0 63)/255,[],1); после деления получаем
L1=imadjust( (0 0.2471),[],1);
figure, imshow(L1);
Далее получаем изображение
Рисунок 2.1После функции для преобразования полутоновых изображений (imadjust)
L=L1(:,:,1);
Получаем вот такое. Значения каждой ячейки массива размер которого 367х490
Columns 401 through 425
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
41 41 41 41 41 40 39 38 37 36 35 35 34 34 33 32 32 32 32 31 30 29 29 28 28
40 41 41 42 42 42 42 42 41 41 41 41 40 38 37 36 36 36 35 34 33 32 32 31 31
36 36 37 38 38 39 39 40 40 41 42 42 41 41 40 40 40 40 40 40 39 38 37 37 36
27 29 30 31 32 33 34 34 35 36 36 37 38 38 38 39 39 39 40 40 40 40 39 39 39
11 13 14 15 17 18 19 20 21 21 22 23 26 28 29 31 31 32 32 34 34 35 35 35 35
2 2 2 2 2 2 2 2 2 2 2 3 6 10 13 14 14 15 17 18 19 20 20 20 20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Так как много значений оставлю некоторые.
L=double(L);
Filter=[1 1 1,1 1 1,1 1 1];
[1 1 1,1 1 1,1 1 1]
Lser=filter2(Filter,L(:,:,1),'same')./9;
C=abs(L(:,:,1)-Lser)./(L(:,:,1)+Lser);
C=C.^.55;
[N M]=size(L);
for i=1:N;
disp(i);
for j=1:M;
if L(i,j,1)>Lser(i,j);
Lvyh(i,j)=Lser(i,j)*(1+C(i,j))/(1-C(i,j));
else
Lvyh(i,j)=Lser(i,j)*(1-C(i,j))/(1+C(i,j));
end;
end;
end;
figure, imshow(Lvyh/255);
([N M]=size(L);)
N=367
M=490
Размер нашего изображения в пикселях
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
355
356
357
358
359
360
361
362
363
364
365
366
367
По окончании этого получаем обработанное изображение
Рисунок 2.2Обработанное изображение
Также обработаем по другому в Grayscale
[X, map] = imread('spine.tif');
>>L2 = ind2gray(X,map);
>>imshow(X,map)
title('IndexedImage')
Рисунок 2.3 - Исходноеизображениевgrayscale (ind2gray)
Рисунок 2.4 - Обработанноеизображениевgrayscale (ind2gray)
I = imread('spine.tif');
[X, map] = gray2ind(I, 16);
>>imshow(X, map);
Рисунок 2.5 - Обработанноеизображениевgrayscale (gray2ind)
Заключение
На современном этапе развитие технической и медицинской диагностики неразрывно связано с визуализацией внутренних структур объекта. Существует много различных видов визуализации. Возникают новые методы, но они не заменяют уже существующие, а лишь дополняют их. Разные методы визуализации основываются на разнообразных физических взаимодействиях электромагнитного излучения с материалами, средами, биотканями и, как следствие, обеспечивают измерение разных физических свойств этих объектов. В данной работе подробно рассматривался такой вид визуализации как рентгенографические изображения, и особое внимание уделялось обработке рентгеновских снимков, что является важным для точной и качественной постановки диагностического заключения.
При анализе рентгеновского снимка видно, что в зависимости от плотности среды, сквозь которую прошел луч, яркость того или иного пикселя снимка меняется. Очень часто граница между отдельными органическими структурами очень размыта, поэтому для качественного анализа снимка необходим врач-рентгенолог высокой квалификации. Невооруженным глазом определение области перелома, границ и размеров участков тканей с плотностями, которые имеют незначительную разницу, является трудоемким процессом. Таким образом, чаще всего исследованию подлежат качественные характеристики изображения, количественные же характеристики (площадь, объем и плотность элементов внутренней структуры) оцениваются врачом чисто субъективно. Поэтому качественный анализ рентгеновского снимка представляет собой большое искусство и воплощает в себе умение распознавать даже самые малые изменения рентгеновского снимка, а также способность обнаруживать аномальные структуры, особенно при низком разрешении снимка.
Список использованных источников
1. Авшаров Е. М., Абгарян М. Г., Сафарянц С. А. Обработка медицинских изображений, как необходимый инструментарий медицинского диагностического процесса [Электронный ресурс]. -- Электрон, текстовые дан. -- Режим доступа: www.course-as.ru/download/pdf/Processing_of_medical_images.pdf. -- Загл. с экрана.
2. Дуданов И. П., Гусев А. В., Романов Ф. А., Воронин А. В. Медицинские информационные системы - Петрозаводск: Изд-во ПетрГУ, 2005 - 404с.
3. Антонов А. О., Антонов О. С., Лыткин С. А. Цифровая рентгенографическая система [Текст] // Медицинская техника. -- М.: Медицина, 2015. --№ 3. -- с. 3-6.
4. Стандарт DICOM [Электронный ресурс]. -- Электрон, текстовые дан. -- Режим доступа: http://mri.com.ua/page/text/name=dicom. -- Загл. с экрана.
5. Стандарт DICOM 3.0 [Электронный ресурс]. -- Электрон, текстовые дан. -- Режим доступа: http://www.course-as.ru/dicomdoc.html. -- Загл. с экрана.
6. Цифровая обработка изображений в среде MATLAB [Текст] / Р. Гонсалес, Р. Вудс, С. Эддинс. -- М.: Техносфера, 2006. -- 616 с.
7. Журавель И. М. Краткий курс теории обработки изображений. - http://matlab.exponenta.ru/.
Приложение
Листинг программы
%Пример программы обработки биомедицинских изображений в среде MATLAB
L=imread('cardial.bmp');
figure, imshow(L);
L1=imadjust(L,[min(min(L)) max(max(L))]/255,[],1);
Определяем значения, а после вводим полностью функцию (min(min(L)) ;max(max(L)) : эти значения 0 и 63.)
L1=imadjust( (0 63)/255,[],1); после деления получаем
L1=imadjust( (0 0.2471),[],1);
figure, imshow(L1);
L=L1(:,:,1);
L=double(L);
Filter=[1 1 1,1 1 1,1 1 1];
Lser=filter2(Filter,L(:,:,1),'same')./9;
C=abs(L(:,:,1)-Lser)./(L(:,:,1)+Lser);
C=C.^.55;
[N M]=size(L);
for i=1:N;
disp(i);
for j=1:M;
if L(i,j,1)>Lser(i,j);
Lvyh(i,j)=Lser(i,j)*(1+C(i,j))/(1-C(i,j));
else
Lvyh(i,j)=Lser(i,j)*(1-C(i,j))/(1+C(i,j));
end;
end;
end;
figure, imshow(Lvyh/255);
Размещено на Allbest.ru
Подобные документы
Изучение и программная реализация в среде Matlab методов обработки, анализа, фильтрации, сегментации и улучшения качества рентгеновских медицинских изображений. Цифровые рентгенографические системы. Разработка статически обоснованных алгоритмов.
курсовая работа [4,7 M], добавлен 20.01.2016Цифровые рентгенографические системы. Методы автоматического анализа изображений в среде MatLab. Анализ рентгеновского изображения. Фильтрация, сегментация, улучшение изображений. Аппаратурные возможности предварительной нормализации изображений.
курсовая работа [890,9 K], добавлен 07.12.2013Обработка изображений на современных вычислительных устройствах. Устройство и представление различных форматов изображений. Исследование алгоритмов обработки изображений на базе различных архитектур. Сжатие изображений на основе сверточных нейросетей.
дипломная работа [6,1 M], добавлен 03.06.2022Типы изображений (черно-белые, полутоновые, цветные) и их форматы. Устройства, создающие цифровые изображения, и их параметры. Применение и характеристики методов сжатия изображений. Поиск по содержимому в базах данных изображений. Структуры баз данных.
презентация [360,4 K], добавлен 11.10.2013История появления и основные понятия графического дизайна. Выявление главных преимуществ и недостатков недеструктивной обработки изображений. Сравнение деструктивной и недеструктивной обработки изображений. Сущность и особенности двухмерной графики.
реферат [5,2 M], добавлен 05.05.2023Задача пространственно-временной обработки изображений при наличии шумов и помех. Методы оптимизации при пространственно-временной обработке изображений. Структура специализированной программы, описание ее пользовательского интерфейса. Смета затрат.
дипломная работа [957,2 K], добавлен 10.06.2013Общие сведения о графических редакторах, понятия компьютерной растровой и векторной графики, форматов. Обзор и сравнительный анализ современных программ обработки и просмотра графических изображений: Paint, Corel Draw, Adobe Photoshop, MS PowerPoint.
дипломная работа [283,9 K], добавлен 09.08.2010Обзор существующего программного обеспечения для автоматизации выделения границ на изображении. Разработка математической модели обработки изображений и выделения контуров в оттенках серого и программного обеспечения для алгоритмов обработки изображений.
дипломная работа [1,7 M], добавлен 27.03.2013Описание математических методов представления и обработки графических изображений. Описание разработанного программного дополнения. Описание функций и их атрибутов. Представление и обработка графических изображений. Результаты тестирования программы.
курсовая работа [1,7 M], добавлен 27.01.2015Основные категории изображений: растровые и векторные. Программы, работающие с растровыми изображениями. Инструменты для работы с обоими типами графики в программе Photoshop. Обзор современных программ обработки и просмотра графических изображений.
курсовая работа [49,0 K], добавлен 20.09.2010