Sisukord:
- Samm: valige ja konfigureerige pilt analüüsiks
- 2. samm: künnis ja graafiline kasutajaliides
- 3. samm: kontuuride joonistamine ja rakkude jaotus
- Samm: teisendage lahtripilt
- 5. samm: loendage rakud ja arvutage rakkude liitumine
- 6. samm: rakkude ümarus
Video: BME 60B liivakasti projekt: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Meie liivakasti projekti eesmärk on aidata bioloogilise valdkonna teadlastel analüüsida rakuproove ja selgitada välja nende rakkude tingimused. Pärast seda, kui kasutaja on sisestanud oma lahtriproovi pildi, töötleb meie kood pilti, et see oleks valmis rakkude loendamiseks, teisendades pildi halltoonideks ja binaarseks. Rakkude masside täpseks leidmiseks kasutab kood künnist, et eemaldada liigne teave, mis ei puuduta tegelikke lahtreid. Pärast pildil olevate rakkude arvu loendamist annab meie kood pildi pikslisuuruse ja leiab seejärel lahtri pindala jaotuse, joonistades lahtrite arvu lahtrite pindalaga, et anda kasutajale liitumispaik, mis on protsent kultuuri tassi pinnast, mis on kaetud huvipakkuvate rakkudega. Ühinemise põhjal saab uurija kindlaks teha, kas rakud tuleks läbida või mitte; rakkude läbimine viitab rakkude või mikroorganismide eluea või arvu laiendamisele, kandes osa kultuurist värskele kasvusöötmele, ja see on kasulik, kui rakud kasvavad liiga suureks või toit otsa saab. Pärast koodi käivitamist ja pildi töötlemist saab kasutaja otsustada, kas ta nõustub tulemustega või lükkab need tagasi ning vajadusel vajadusel andmete paremaks hankimiseks läve kohandada.
Samm: valige ja konfigureerige pilt analüüsiks
Meie koodi esimene samm on valida sobiv pilt ja seadistada see Matlabis analüüsimiseks. Meil on võimalik valida pilt, kasutades funktsiooni uigetfile, mis võimaldab meil haarata mis tahes faili ja sisestada selle programmi. Seejärel loeme imreadi abil pildi ja konfigureerime selle Matlabis analüüsimiseks. Seejärel kuvatakse valitud pilt alamjoonisel.
2. samm: künnis ja graafiline kasutajaliides
Koodi alguses valitakse pilt, kasutades “uigetfile” ja määratledes selle pildi muutujaga. Muutujat kasutatakse seejärel koodi tuvastamiseks erinevate analüüside tegemisel. Joonisel on loodud 2x2 alamjoon. Positsioonis 1 kuvatakse algne pilt. Koodi järgmises osas käsitletakse künniste kohandamist. Esialgu kasutatakse vaikeväärtust 0,6 ja see kuvatakse alamjoone 2. positsioonil. Seejärel kasutatakse if-lauset, et teha kindlaks, kas kasutaja soovib künnist säilitada või seda kohandada. Kasutaja saab künnist reguleerida graafilise kasutajaliidese abil, mis sisaldab pilti erinevates lävenditingimustes, liugurit ja salvestusnuppu. Pärast läve seadmist klõpsab kasutaja pildi salvestamiseks nupul Salvesta ja see salvestatakse kasutajate MATLAB -failidesse-p.webp
3. samm: kontuuride joonistamine ja rakkude jaotus
Koodi järgmine osa joonistab kontuurid. Seal on silmus, milles rakud on ümbritsetud punase ümbermõõduga ja need lahtrid, mis asuvad teise lahtri peal, on joonistatud rohelisega. Seejärel kuvatakse visandatud pilt positsioonis 3 koos interaktiivse kaugusjoonega. See rida määrab joonisel olevate pikslite arvu, mille kasutaja on kohandanud pikslite ja millimeetrite muunduri jaoks. Seejärel korrutatakse kaugustegur piirkonnapropsidega määratud pindalaga ja pindala väljendatakse nüüd ruutmillimeetrites. Seejärel joonistatakse andmed histogrammi abil, et näha rakkude jaotust nende pindala järgi. See histogramm kuvatakse seejärel positsioonis 4.
Samm: teisendage lahtripilt
Selles etapis võtsime halltoonide pildi ja binariseerisime, filtreerisime ja pöörasime selle ümber. Nende funktsioonide täitmine pildil eemaldas mürarikkad pikslid, mida võis ekslikult lahtritega segada, ning muutis pildi lahtriservade ümber sujuvamaks ja pehmemaks. Seda tehti selleks, et eraldada pildil olevad rakud eristatavate "plekidena", mille intensiivsus erines taustast. "Plekid" olid suure intensiivsusega valged pildid ja taust must. Kui meil oleks lubatud veidi rohkem aega, oleksime kasutanud imbineerimisfunktsiooni asemel teistsugust Blobi kujutise teisendamist, et olla meie piltidele täpsem ja sobivam, kuid vajasime selle uurimiseks ja rakendamiseks rohkem aega.
5. samm: loendage rakud ja arvutage rakkude liitumine
Koodi selles etapis püüdsime loendada pildil olevate lahtrite arvu. Tilkade pindalade arvutamiseks kasutasime peamiselt funktsiooni regionprops ja kui pindala arvutati soovitud piirile, joonistatakse see alamkrundile. Piirid seati selleks, et eemaldada väikesed mürarikkad pikslid või suured intensiivsused, mis ei olnud rakud. Seejärel loendab rakkude loendur tsentrid, mis seejärel joonistati, ja lisab need for -ahela loendurile. Kui rakkude alad olid kindlaks määratud, saime arvutada ühinemise. Selle sammu peamine tähtsus koodis oli rakkude liitumise leidmine ja see oli meie koodi lõppeesmärgi jaoks keskse tähtsusega. Tegime seda arvutades, liites kokku iga plekikese pikslid (summa (allAreas)) ja jagades selle siis pildi kogu piksliväärtusega (numel (img)). See suhe annaks meile ühinemise ja kui see oleks määratud olema suurem kui 80%, on teadlase poolt rakkude läbimise aeg. Meie eesmärk oli olla võimalikult täpne ja täpne, kuid piiratud ajaga tekkis ebatäpsus. Kui aeg oleks lubatud, oleksime otsinud võimalusi, kuidas täppide loendamist täpsemaks muuta, näiteks rohkem filtreerimistehnikaid ja/või Houghi teisendust, kuna selle filtreerimistehnika proovimiseks ei olnud veel piisavalt uuritud
6. samm: rakkude ümarus
Enne kui saame pilti ümmargust mõõta, peame muutma RGB -st halltoonideks, binaarima, ümber pöörama ja filtreerima. Filtreerimistehnikas kasutatakse funktsiooni bwareaopen, mis filtreerib huvipildi ja eemaldab kõik andmed või pikslid, mis on liiga väikesed ja mis ei esinda lahtri suurust. Struktureeriv element luuakse ketta kujuga ja naabruskonnaga 2 ning seda kasutatakse taustal või lahtrites olevate lünkade täitmiseks. Seejärel kasutame funktsiooni bwboundaries, mis jälgib plekke ja salvestab selle maatriksisse. Seejärel märgistame pildi erinevate värvide abil, et see muutuks visuaalselt selgemaks. Järgmisena määrab see for for loop, mis jookseb vastavalt pildil leiduvate objektide ja aukude arvule, sellele massiivile vastavate plekide ümber piiri. Kui see tsükkel on lõppenud, algab teine tsükkel, uuesti vastavalt pildil leiduvate objektide ja aukude arvule. Seekord kasutame funktsiooni regionprops, mis kogub massiivist teatud omadused, näiteks ala, ja salvestab objektide ja aukude arvu sisaldava teabe. Seda teavet kasutades arvutame nende objektide pindala ja ümbermõõdu, kasutades tsentroidkuju. Tulemuste võrdlemiseks määratakse künnis, kui arvutame ringikujulise objekti meeterühiku ja joonistame selle mõõtmise tekstina arvutatud tsentroidide kõrvale. Lõplik kood kuvab pildil leiduvate erinevate lahtrite ümaruse ja kõik väärtused, mis on selle väärtuse lähedal, on teistest ümaramad. Väärtus 1 tähendab, et lahter on täiesti ümmargune ja läbimiseks heas seisukorras.
Soovitan:
Gimbal stabilisaatori projekt: 9 sammu (piltidega)
Gimbal Stabilizer Project: Kuidas teha Gimbal Õpi, kuidas teha oma tegevuskaamerale 2-teljelist kardaani. Tänapäeva kultuuris armastame me kõik videoid ja jäädvustame hetki, eriti kui olete minusugune sisulooja, olete kindlasti silmitsi seisnud järgmise probleemiga: nii värisev video
Automatiseeritud EKG-BME 305 Lõplik projekti lisakrediit: 7 sammu
Automatiseeritud EKG-BME 305 Lõplik projekti lisakrediit: Elektrokardiogrammi (EKG või EKG) kasutatakse peksva südame tekitatud elektrisignaalide mõõtmiseks ning sellel on suur roll südame-veresoonkonna haiguste diagnoosimisel ja prognoosimisel. Osa EKG -st saadud teabest sisaldab rütmi
BME 305 EEG: 4 sammu
BME 305 EEG: elektroencefalogramm (EEG) on seade, mida kasutatakse katsealuse elektrilise ajutegevuse mõõtmiseks. Need testid võivad olla väga kasulikud erinevate ajuhäirete diagnoosimisel. EEG -d proovides on vaja erinevaid parameetreid
Liivakasti projekt: BAC arvutamine ja tõlgendamine: 6 sammu
Liivakasti projekt: BAC arvutamine ja tõlgendamine: autorid Haarika Gogineni, Hana Schlosser ja Benedict Uiseco Pärast arvutatud BAC väljastamist teatame
USB -toitega põleti! See projekt võib põleda läbi plasti / puidu / paberi (lõbus projekt peab olema ka väga peen puit): 3 sammu
USB -toitega põleti! See projekt võib põleda läbi plasti / puidu / paberi (lõbus projekt peab olema ka väga peen puit): ÄRGE TEE SEDA USB -KASUTAMISEGA !!!! avastasin kõikidest kommentaaridest, et see võib teie arvutit kahjustada. mu arvutiga on kõik korras. Kasutage 600m 5v telefonilaadijat. Ma kasutasin seda ja see töötab hästi ning midagi ei saa kahjustada, kui kasutate toite peatamiseks turvakork