Съдържание:

Използване на праговете на интензивност на променливата скала на сивата скала за визуализиране и идентифициране на аномалии в изображенията на мамограма: 9 стъпки
Използване на праговете на интензивност на променливата скала на сивата скала за визуализиране и идентифициране на аномалии в изображенията на мамограма: 9 стъпки

Видео: Използване на праговете на интензивност на променливата скала на сивата скала за визуализиране и идентифициране на аномалии в изображенията на мамограма: 9 стъпки

Видео: Използване на праговете на интензивност на променливата скала на сивата скала за визуализиране и идентифициране на аномалии в изображенията на мамограма: 9 стъпки
Видео: Приключение 09 — Приключения Шерлока Холмса сэра Артура Конан Дойля 2024, Юли
Anonim
Използване на праговете на интензивност на променливата скала на сивата скала за визуализиране и идентифициране на аномалии в изображенията на мамограма
Използване на праговете на интензивност на променливата скала на сивата скала за визуализиране и идентифициране на аномалии в изображенията на мамограма

Целта на този проект беше да идентифицира и използва параметър за обработка на мамографски изображения в сиви скали на различни класификации на тъканите на фона: Fatty, Fatty Glandular и Dens Tissue. Тази класификация се използва, когато рентгенолозите анализират мамографии и трябва да преценят дали тъканната плътност ще скрие някакви аномалии като лезии или тумори. Това е така, защото както нормалните физиологични структури като жлезиста тъкан, така и влакнеста съединителна тъкан. и анормални морфологии като калцификации и тумори ще изглеждат много ярки на мамографията, докато по -малко плътната мастна тъкан ще изглежда черна. Следователно е подходящо да се програмира класификатор, който може да манипулира нивата на интензивност на пикселите, за да визуализира и идентифицира най -добре масите.

Стъпка 1: Организиране на мамографски данни

Организиране на мамографски данни
Организиране на мамографски данни

Едно от първите неща, които разбрах, че трябва да работя, беше организирането на данните по много ясен, кратък и достъпен начин. Това са променливите, които извлечих от базата данни на мини-MIAS на мамограми. Създадох два масива. Едната съдържа 4 колони:

  1. Номер на изображението:
  2. x координата на масата
  3. y координата на масата
  4. Радиус на масата: (Това определя приблизителен размер за масата

Вторият масив съдържа класификационна информация:

  1. Тип фонова тъкан: Мазна (F), Мазна жлезиста (G), Плътна (D)
  2. Описание на масата: Добре дефиниран (CIRC), иглено (SPIC), лошо дефиниран друг (MISC) Архитектурно изкривяване (ARCH), Асиметрия (ASYM), Нормално (NORM)
  3. Диагнози: Доброкачествен (B), Злокачествен (M)

Тъй като целта на този проект беше да се определи най -добрият праг за всеки тип фонова тъкан, не цялата информация беше необходима. Можете обаче да разширите проекта си, за да включите анализ на текстурата и да тествате класификатора си спрямо известните масови описания.

Странична бележка: Базата данни, от която получих диагностицираните изображения на мамограма, организира информацията за всяка мамография в текстов файл, отделен от изображенията. Беше ми леко трудно да извлека данните от текстов файл и да ги организирам във форми на масиви, но следната връзка беше много полезна при разбирането на всичко това. Като алтернатива, просто коригирайте кода, който поставих по -горе, за вашите цели.

Формат на файл с мамограма: mdb001 G CIRC B 535 425 197

mdb002 G CIRC B 522 280 69

Помощ за TextScan: https://www.mathworks.com/help/matlab/ref/textsca… База данни с мамограма:

Стъпка 2: Обработка на изображения

Обработка на изображение
Обработка на изображение

Е, второто нещо, което се появи, когато разбрах как да идентифицирам маси, беше, че за много анормални мамограми не можех визуално да разбера къде е аномалията или колко голяма е тя. Очевидно, тъй като не съм опитен рентгенолог, се очакваше. Въпреки това, най -простият начин да се намерят аномалии (според продължителните ми търсения в Google) беше да се разгледат концентрациите на светли и тъмни зони. Използвах предимно функцията adapthisteq, за да подобря контраста на изображението и след това да имбинаризирам, за да преобразувам изображението в двоично изображение, за да експериментирам с различни прагови нива.

  1. adapthisteq: Тази функция трансформира стойностите на интензитета на изображенията в сиви скани и rgb изображения, използвайки адаптивно ограничено адаптивно изравняване на хистограма. С други думи, той настройва хистограмата на стойностите на интензитета към определен тип разпределение. Връзката с математически работи за тази функция е приложена по -долу за по -нататъшно четене.
  2. imbinarize: създава двоично изображение от изображение в сива скала, като присвоява всички пиксели над определена интензивност на 1s и пикселите под тази стойност a 0. Използвах тази функция, за да тествам оптималния праг за намаляване на фоновия тъканен шум.

Стъпка 3: Код за прагове

Код за прагове
Код за прагове

Цикъл for се използва за бинаризиране на мамографията с вариращи прагове. За да се даде по -голям изглед на картината, цикълът for съдържа кода от Стъпка 3 до Стъпка 7. Така че всяко двоично изображение ще бъде анализирано за аномалии. Освен това, този цикъл for е обграден в друг цикъл for, който импортира ново изображение на мамография от базата данни във всяка итерация.

Стъпка 4: Намиране на аномалии за всяко двоично изображение

Намиране на аномалии за всяко двоично изображение
Намиране на аномалии за всяко двоично изображение
Намиране на аномалии за всяко двоично изображение
Намиране на аномалии за всяко двоично изображение

Допълнително обработих двоичните изображения, използвайки функцията strel заедно с imopen, за да премахна фоновия шум. Двоичното изображение от предишната стъпка се инвертира и филтрира, използвайки квартала, определен от SE. След това използвах bwlabel за етикетиране на области, които имат поне 8 свързани пиксела.

Функцията за подпори на региона беше използвана за намиране на центроида и свойствата на площта на всяко място, идентифицирано с bwlabel.

След това всички петна, по -големи от 500 пиксела, бяха идентифицирани с помощта на ismember. Центроидите за идентифицираните петна са нанесени върху изображение, което показва само петна с по -голяма площ от 500. Идентифицирана зона = ismember (Етикетирани, показатели (сортирани области> 500)); Петна = Идентифицирани> 0;

Стъпка 5: Начертайте местоположението и размера на диагностицираната маса за визуално сравнение

Начертаване на местоположението и размера на диагностицираната маса за визуално сравнение
Начертаване на местоположението и размера на диагностицираната маса за визуално сравнение
Начертаване на местоположението и размера на диагностицираната маса за визуално сравнение
Начертаване на местоположението и размера на диагностицираната маса за визуално сравнение
Начертаване на местоположението и размера на диагностицираната маса за визуално сравнение
Начертаване на местоположението и размера на диагностицираната маса за визуално сравнение

Исках да видя дали петна, открити от bwlabel, са правилни. Направих това по два начина. Първо анализирах точността на моя класификатор, като направих визуално сравнение. Просто начертах действителния размер и местоположението на аномалията (червен кръг) и местоположението, определено от кода (син х) върху предварително обработеното изображение на мамография. Шестте изображения по -горе показват ефектите от увеличаването на праговата стойност на сивото.

Стъпка 6: Прилагане на втория метод за сравнение

Прилагане на втория метод за сравнение
Прилагане на втория метод за сравнение

Вторият начин, по който тествах класификатора и праговите стойности бяха чрез определяне дали местоположенията, открити от класификатора, са на определено разстояние от координатите на диагностицираната аномалия. Запазих праговете, за които поне една от идентифицираните точки бяха в рамките на 1,5*r от известната аномалия, в отделен текстов файл, наречен Данни за мамограма. Целта на това беше да намеря минималния праг, необходим на моя класификатор, за да идентифицира аномалията.

Стъпка 7: Анализ на събраните данни

Анализ на събраните данни
Анализ на събраните данни
Анализ на събраните данни
Анализ на събраните данни

Пуснах програмата върху всички анормални мамографски изображения и ми остана огромен текстов файл с данни. За да намеря най -добрия праг за всеки тип тъкан, организирах данните по тип тъкан и начертах хистограма на праговите стойности за всеки тип тъкан. Правилната стойност на прага беше решена кой праг осигурява най -точните резултати за всеки тип тъкан. Запазих тези данни, за да ги кача в моя класификатор.

Стъпка 8: Направете свой собствен класификатор

Направете свой собствен класификатор!
Направете свой собствен класификатор!
Направете свой собствен класификатор!
Направете свой собствен класификатор!
Направете свой собствен класификатор!
Направете свой собствен класификатор!
Направете свой собствен класификатор!
Направете свой собствен класификатор!

След като намерих най -подходящите прагови стойности за всеки тип тъкан, редактирах първоначалния си код, за да накарам потребител да въведе номера на изображението и типа тъкан, за да избере прага за мамографското изображение. След това начертах диагностицираната мамографска локация с намерените места върху оригиналните мамографски изображения. Исках да направя това по -забавно, затова програмирах функция за изрязване на кръгова област около ROI. Потребителят ще бъде инструктиран да избере централна точка и няколко точки, които най -добре обхващат ROI. Прикачих и двата файла matlab тук.

Стъпка 9: Подобрения? Някакви мисли?

Докато пишех тази инструкция, започвам да виждам много подобрения, които бих могъл да направя в класификатора, като например намиране на начини за разграничаване на различни видове маси, идентифицирани въз основа на анализ на текстурата, или подобряване на моето изпитване за точност в раздела на SandBoxProject. файл. Тъй като това беше проект с краен срок, трябваше да спра някъде, но се надявам, че ще мога да използвам уменията за обработка на изображения, които научих в други приложения. Също така прикачих файла, който беше използван за пакетна обработка на всички анормални изображения на мамография.

Препоръчано: