
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:57

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

Първата стъпка в нашия код е да изберете подходящото изображение и да го конфигурирате за анализ в Matlab. Можем да изберем изображението с помощта на функцията uigetfile, която ни позволява да вземем всеки файл и да го вмъкнем в програмата. След това, използвайки imread, четем изображението и го конфигурираме за анализ в Matlab. Изображението, което е избрано, след това се показва на подплот.
Стъпка 2: Праг и GUI


В самото начало на кода изображение се избира с помощта на „uigetfile“и след това се определя това изображение с променлива. След това променливата ще се използва за идентифициране на кода при провеждане на различен анализ. На фигурата е създаден подзахват 2x2. В позиция 1 ще се покаже оригиналното изображение. Следващият раздел на кода е мястото, където се извършват корекции на праговете. Първоначално се използва праг по подразбиране от 0,6 и се показва в позиция 2 на подплота. След това се използва оператор if, за да се определи дали потребителят иска да запази прага или да го коригира. Потребителят може да регулира прага с помощта на графичен интерфейс, който включва изображението при различни прагови условия, плъзгача и бутона за запазване. След като прагът е зададен, потребителят ще кликне върху бутона за запазване, за да запази изображението и то ще бъде съхранено в MATLAB файлове на потребителите като-p.webp
Стъпка 3: Начертаване на контури и разпределение на клетките


Следващата част от кода очертава контурите. Има цикъл, в който клетките са затворени с червен периметър, а тези клетки, които са на върха на друга клетка, са очертани в зелено. След това очертаното изображение се показва в позиция 3 с интерактивна линия за разстояние. Този ред ще определи броя на пикселите в линията, коригиран от потребителя за преобразувател на пиксели в милиметри. След това коефициентът на разстояние се умножава площта, определена от регионите, и площта сега се изразява в милиметри на квадрат. След това данните се нанасят с помощта на хистограма, за да се види разпределението на клетките по площта им. След това тази хистограма ще се покаже на позиция 4.
Стъпка 4: Конвертиране на клетъчно изображение

В тази стъпка взехме изображението в сиви скали и го бинаризирахме, филтрирахме и обърнахме. Изпълнението на тези функции върху изображението премахва шумните пиксели, които могат да бъдат сбъркани с клетки, и прави изображението по -гладко и меко около ръбовете на клетката. Това беше направено, за да се извлекат клетките в изображението като различими „петна“, които се различават по интензитет от фона. "Blobs" бяха бели изображения с висока интензивност и фонът беше черен. Ако беше позволено малко повече време, щяхме да използваме различно преобразуване на Blob изображение вместо функцията imbinarize, за да бъдем по -точни и по -подходящи за нашите изображения, но ни трябваше повече време за проучване и внедряване на функцията.
Стъпка 5: Пребройте клетките и изчислете клетъчното сливане

В тази стъпка от кода имахме за цел да преброим броя клетки, които са в изображението. Използвахме предимно функцията regionprops за изчисляване на площите на петна и ако площта беше изчислена да бъде в желаната от нас граница, тя ще бъде нанесена на подплот. Границите бяха зададени с цел премахване на малки шумни пиксели или големи интензитети, които не бяха клетки. Броячът на клетките след това преброява центроидите, които след това са нанесени, и ги добавя към брояча в цикъла for. След като областите на клетките бяха определени, успяхме да изчислим сливането. Основното значение на тази стъпка в кода беше да се намери сливането на клетките и това беше ключово за нашата крайна цел на кода. Направихме това, като изчислихме като сумираме пикселите (сума (allAreas)) във всяко петно и след това го разделим на общата стойност на пикселите на изображението (numel (img)). Това съотношение ще ни даде сливането и ако се определи, че е по -голямо от 80%, тогава е време клетките да бъдат преминати от изследователя. Имахме за цел да бъдем възможно най -точни и точни, но с ограниченото време, така че се получи неточност. Ако времето позволяваше, щяхме да търсим начини да направим преброяването на петна по -точно, като например повече техники за филтриране и/или преобразуване на Hough, тъй като все още не са направени достатъчно изследвания, за да се изпробва тази техника на филтриране
Стъпка 6: Закръгленост на клетките


Преди да можем да измерим закръглеността на петното в изображение, трябва да преобразуваме от RGB в сиво, да бинаризираме, да обърнем и филтрираме изображението. Техниката на филтриране използва функцията bwareaopen, която филтрира изображението, което представлява интерес, и премахва всички спецификации или пиксели, които са твърде малки и не представляват размера на клетка. Създава се структуриращ елемент с форма на диск и квартал от 2 и той се използва за запълване на всички празнини във фонов режим или в клетките. След това използваме функцията bwboundaries, която проследява blobs и я съхранява в матрица. След това маркираме изображението с различни цветове, така че да стане по -ясен визуален. След това, използвайки цикъл for, който работи според броя на обектите и дупките, намерени в изображението, той задава граница около петна, съответстващи на този масив. След като този цикъл приключи, започва друг цикъл, отново според броя на обектите и дупките, намерени в изображението. Този път използваме функцията regionprops, която събира определени свойства като площ от масива и съхранява информацията, съдържаща броя на обектите и дупките. Използвайки тази информация, ние изчисляваме площта и периметъра на тези обекти, като използваме формата на центроида. Праг се задава, за да се сравнят резултатите, след като изчислим метричната единица на кръгъл обект и начертаем това измерване като текст до изчислените центроиди. Крайният код ще покаже закръглеността на различните клетки, намерени в изображението, и всички стойности, близки до стойността на една, ще бъдат по -кръгли от другите. Стойност 1 означава, че клетката е перфектно кръгла и е в добро състояние за преминаване.
Препоръчано:
Автоматизиран ЕКГ- BME 305 Окончателен проект Допълнителен кредит: 7 стъпки

Автоматизирана ЕКГ- BME 305 Окончателен проект Допълнителен кредит: Електрокардиограма (ЕКГ или ЕКГ) се използва за измерване на електрическите сигнали, произведени от биещо сърце и играе голяма роля в диагностиката и прогнозата на сърдечно-съдови заболявания. Част от информацията, получена от ЕКГ, включва ритъма
Spin Art Turbine Remix Project: 4 стъпки

Spin Art Turbine Remix Project: Ако се интересувате от спин арт, има проблем и този проблем е, че трябва да държите бормашината с една ръка, докато рисувате с другата. Това понякога може да е досадно, но чувствам, че съм открил решението с тази проста турбина, която можете да създадете
Creative Switch Project от Кристофър Серафин: 4 стъпки

Creative Switch Project от Кристофър Серафин: Поздрави! За този творчески проект за превключване реших да опитам да добавя LED светлини към чантата през рамо, в този случай калъф за носене на Nintendo 3DS. Редовните чанти през рамо може да са малко скучни, но с някои LED светлини със сигурност може да освети всяка чанта
DIY Project ARGB LED Шестоъгълен панел: 19 стъпки

DIY Project ARGB LED шестоъгълен панел: Здравейте на всички, в тази инструкция ще ви покажа как да направите адресируем RGB шестоъгълен панел, използвайки светодиоди WS2812b (известен още като неопиксели). Това описание всъщност не го прави, така че вижте видеото по -горе! Моля, обърнете внимание, че Адресът R
BME 305 ЕЕГ: 4 стъпки

BME 305 ЕЕГ: Електроенцефалограма (ЕЕГ) е устройство, което се използва за измерване на електрическата мозъчна активност на субект. Тези тестове могат да бъдат много полезни при диагностицирането на различни мозъчни нарушения. Когато се опитвате да направите ЕЕГ, са необходими различни параметри