Kazalo:

Projekt peskovnika BME 60B: 6 korakov
Projekt peskovnika BME 60B: 6 korakov

Video: Projekt peskovnika BME 60B: 6 korakov

Video: Projekt peskovnika BME 60B: 6 korakov
Video: Интерактивная песочница стол Interactive Project 2024, Julij
Anonim
Projekt peskovnika BME 60B
Projekt peskovnika BME 60B

Naš projekt Sandbox želi pomagati raziskovalcem na biološkem področju analizirati vzorce celic in ugotoviti stanje njihovih celic. Ko uporabnik vnese sliko vzorca svoje celice, naša koda obdela sliko, da jo pripravi na štetje celic s pretvorbo slike v sivine in binarno. Koda uporablja prag za odstranjevanje presežnih informacij, ki se ne nanašajo na dejanske celice, da bi natančno našli celice. Po štetju števila celic na sliki naša koda poda velikost slikovnih pik slike in nato poišče razporeditev celice tako, da nariše število celic v primerjavi s površino celic, da uporabniku omogoči sotočje, ki je odstotek površine posode za kulturo, ki je pokrita z zanimivimi celicami. Na podlagi sotočja lahko raziskovalec ugotovi, ali je treba celice prehoditi ali ne; pasaziranje celic se nanaša na podaljšanje življenja ali števila celic ali mikroorganizmov s prenosom nekaj kulture na svež rastni medij in je uporabno, če celice preveliko rastejo ali jim zmanjka hrane. Po zagonu kode in obdelavi slike se lahko uporabnik odloči, ali sprejme ali zavrne rezultate, in po potrebi prilagodi prag za boljše pridobivanje podatkov.

1. korak: Izberite in konfigurirajte sliko za analizo

Izberite in konfigurirajte sliko za analizo
Izberite in konfigurirajte sliko za analizo

Prvi korak v naši kodi je izbrati ustrezno sliko in jo konfigurirati za analizo v Matlabu. Sliko lahko izberemo s funkcijo uigetfile, ki nam omogoča, da vzamemo katero koli datoteko in jo vstavimo v program. Nato z imreadom preberemo sliko in jo nastavimo za analizo v Matlabu. Izbrana slika se nato prikaže na pod ploskvi.

2. korak: Prag in grafični vmesnik

Prag in grafični vmesnik
Prag in grafični vmesnik
Prag in grafični vmesnik
Prag in grafični vmesnik

Na samem začetku kode je slika izbrana z uporabo »uigetfile« in nato to sliko definira s spremenljivko. Spremenljivka bo nato uporabljena za identifikacijo kode pri izvajanju drugačne analize. Na sliki je ustvarjen podplet 2x2. Na položaju 1 se prikaže izvirna slika. Naslednji del kode je, kjer se prilagodijo pragovi. Sprva se uporablja privzeti prag 0,6 in je prikazan na položaju 2 pod ploskve. Nato se izjava if uporabi za ugotavljanje, ali želi uporabnik obdržati prag ali ga prilagoditi. Uporabnik lahko nato prilagodi prag z grafičnim vmesnikom, ki vključuje sliko pri različnih pragovih, drsnikom in gumbom za shranjevanje. Ko je prag nastavljen, bo uporabnik kliknil gumb za shranjevanje, da shrani sliko in bo shranjena v datotekah uporabnikov MATLAB kot-p.webp

Korak 3: Načrtajte konture in distribucijo celic

Izris kontur in distribucija celic
Izris kontur in distribucija celic
Izris kontur in porazdelitev celic
Izris kontur in porazdelitev celic

Naslednji del kode nariše obrise. Obstaja zanka, v kateri so celice obdane z rdečim obodom, tiste celice, ki so na vrhu druge celice, pa so obarvane zeleno. Orisana slika se nato prikaže v položaju 3 z interaktivno črto razdalje. Ta vrstica bo določila število slikovnih pik v podlogi, ki jih je prilagodil uporabnik za pretvornik slikovnih pik v milimeter. Faktor razdalje se nato pomnoži s površino, ki jo določijo regije, površina pa je zdaj izražena v milimetrih na kvadrat. Podatki se nato narišejo s pomočjo histograma za prikaz porazdelitve celic po njihovem območju. Ta histogram se nato prikaže na položaju 4.

4. korak: Pretvorite sliko celice

Pretvori sliko celice
Pretvori sliko celice

V tem koraku smo posneli sivinsko sliko in jo binarno, filtrirali in obrnili. Izvajanje teh funkcij na sliki je odstranilo hrupne slikovne pike, ki bi jih lahko zamenjali za celice, in naredilo sliko bolj gladko in mehko okoli robov celice. To je bilo storjeno, da se celice na sliki izvlečejo kot ločljivi "madeži", ki se po intenzivnosti razlikujejo od ozadja. "Blobs" so bile bele slike visoke intenzivnosti in ozadje je bilo črno. Če bi bilo dovoljeno malo več časa, bi namesto funkcije imbinarize uporabili drugačno pretvorbo slike Blob, da bi bili natančnejši in bolj primerni za naše slike, vendar smo potrebovali več časa za raziskovanje in izvajanje funkcije.

5. korak: Preštejte celice in izračunajte celično konfluenco

Preštejte celice in izračunajte celično konfluenco
Preštejte celice in izračunajte celično konfluenco

V tem koraku kode smo želeli šteti število celic na sliki. Za izračun površin blobov smo uporabili predvsem funkcijsko regijo, in če bi bilo območje izračunano tako, da je na naši želeni meji, bi bilo narisano na podvrisu. Meje so bile postavljene tako, da se odstranijo majhne hrupne slikovne pike ali velike jakosti, ki niso celice. Števec celic bi nato preštel centroide, ki so bili nato narisani, in jih dodal števcu v zanki for. Ko so bile določene površine celic, smo lahko izračunali sotočje. Glavni pomen tega koraka v kodi je bil najti sotočje celic, kar je bilo ključno za naš končni cilj kode. To smo naredili tako, da smo v vsakem blobu sešteli slikovne pike (vsota (allAreas)) in jih nato delili s skupno vrednostjo slikovnih pik slike (numel (img)). To razmerje bi nam dalo sotočje in če bi bilo ugotovljeno, da je večje od 80%, je čas, da raziskovalec pregleda celice. Želeli smo biti čim bolj natančni in natančni, vendar je z omejenim časom prišlo do netočnosti. Če bi čas dopuščal, bi si ogledali načine za natančnejše štetje blobov, na primer več tehnik filtriranja in/ali Hough Transform, ker še ni bilo opravljenih dovolj raziskav, da bi preizkusili to tehniko filtriranja

Korak 6: Okroglost celic

Okroglost celic
Okroglost celic
Okroglost celic
Okroglost celic

Preden lahko izmerimo zaokroženost blob na sliki, moramo pretvoriti iz RGB v sivine, binarno, obrniti in filtrirati sliko. Tehnika filtriranja uporablja funkcijo bwareaopen, ki filtrira sliko, ki nas zanima, in odstrani vse premajhne specifikacije ali slikovne pike, ki ne predstavljajo velikosti celice. Ustvarja se element za strukturiranje v obliki diska in okolice 2 in se uporablja za zapolnitev vseh vrzeli v ozadju ali znotraj celic. Nato uporabimo funkcijo bwboundaries, ki sledi blobu in jo shrani v matriko. Nato sliko označimo z različnimi barvami, tako da postane jasnejša. Nato z zanko for, ki teče glede na število predmetov in lukenj na sliki, postavi mejo okoli blobov, ki ustrezajo temu nizu. Ko se ta zanka konča, se začne druga zanka, spet glede na število predmetov in lukenj na sliki. Tokrat uporabljamo funkcijo regionprops, ki iz matrike zbira določene lastnosti, na primer območje, in shrani informacije, ki vsebujejo število predmetov in lukenj. Na podlagi teh podatkov izračunamo površino in obod teh predmetov z uporabo oblike središča. Prag je nastavljen za primerjavo rezultatov, ko izračunamo metrično enoto krožnega predmeta in to meritev narišemo kot besedilo poleg izračunanih centroidov. Končna koda bo prikazala zaokroženost različnih celic, ki jih najdemo na sliki, vse vrednosti blizu vrednosti ene pa bodo bolj okrogle kot druge. Vrednost 1 pomeni, da je celica popolnoma okrogla in da je v dobrem stanju za prehod.

Priporočena: