Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
Náš projekt Sandbox má za cíl pomoci výzkumníkům v biologickém poli analyzovat vzorky buněk a zjistit podmínky jejich buněk. Poté, co uživatel zadá obrázek svého vzorku buňky, náš kód obrázek zpracuje, aby byl připraven k počítání buněk převedením obrázku na stupně šedi a binární. Kód využívá prahování k odstranění přebytečných informací, které se netýkají skutečných buněk, aby bylo možné přesně najít masy buněk. Po spočítání počtu buněk v obrázku náš kód udává velikost obrázku v pixelech a poté vyhledá rozložení oblasti buněk vynesením počtu buněk proti ploše buněk, aby měl uživatel k dispozici soutok, což je procento povrchu kultivační misky, která je pokryta sledovanými buňkami. Na základě soutoku může výzkumník určit, zda by buňky měly být pasážovány; pasážování buněk znamená prodloužení života nebo počtu buněk nebo mikroorganismů přenesením části kultury do čerstvého růstového média a je užitečné, když buňky rostou příliš velké nebo jim dochází jídlo. Po spuštění kódu a zpracování obrázku se uživatel může rozhodnout, zda výsledky přijme nebo odmítne, a v případě potřeby přistoupí k úpravě prahové hodnoty pro lepší načítání dat.
Krok 1: Vyberte a nakonfigurujte obrázek pro analýzu
Prvním krokem v našem kódu je vybrat příslušný obrázek a nakonfigurovat jej pro analýzu v Matlabu. Jsme schopni vybrat obrázek pomocí funkce uigetfile, která nám umožňuje uchopit jakýkoli soubor a vložit jej do programu. Poté pomocí imread přečteme obrázek a nakonfigurujeme jej pro analýzu v Matlabu. Vybraný obrázek se poté zobrazí na dílčí zápletce.
Krok 2: Prah a GUI
Na samém začátku kódu je vybrán obrázek pomocí „uigetfile“a poté definován tento obrázek pomocí proměnné. Proměnná pak bude použita k identifikaci kódu při spuštění jiné analýzy. Na obrázku je vytvořen subplot 2x2. Na pozici 1 se zobrazí původní obrázek. V další části kódu se odehrávají úpravy prahových hodnot. Zpočátku se používá výchozí hodnota prahové hodnoty 0,6, která se zobrazuje v poloze 2 podplochy. Pomocí příkazu if se pak určí, zda chce uživatel prahovou hodnotu ponechat nebo upravit. Uživatel pak může nastavit práh pomocí grafického uživatelského rozhraní, které obsahuje obrázek za různých prahových podmínek, posuvník a tlačítko pro uložení. Jakmile je prahová hodnota nastavena, uživatel kliknutím na tlačítko Uložit uloží obrázek a bude uložen v souborech MATLAB uživatelů jako soubor-p.webp
Krok 3: Vykreslení obrysů a distribuce buněk
Další část kódu vykresluje obrysy. Existuje smyčka, ve které jsou buňky uzavřeny červeným obvodem, a buňky, které jsou v horní části jiné buňky, jsou vyznačeny zeleně. Obrysový obrázek se pak zobrazí v pozici 3 s interaktivní čárou vzdálenosti. Tento řádek určí počet pixelů v linii upravený uživatelem pro převodník pixelů na milimetry. Faktor vzdálenosti se pak vynásobí plochou určenou rekvizitami regionu a plocha se nyní vyjádří v milimetrech na druhou. Data jsou poté vykreslena pomocí histogramu, aby bylo vidět rozložení buněk podle jeho oblasti. Tento histogram se poté zobrazí na pozici 4.
Krok 4: Převod obrázku buňky
V tomto kroku jsme pořídili obraz ve stupních šedi a binarizovali jsme, filtrovali a převraceli. Provedením těchto funkcí na obrázku byly odstraněny hlučné pixely, které by mohly být zaměněny za buňky, a obraz byl kolem okrajů buněk hladší a měkčí. To bylo provedeno k extrakci buněk v obrázku jako rozlišitelných „blobů“, které se lišily intenzitou od pozadí. „Blobs“byly bílé obrazy s vysokou intenzitou a pozadí bylo černé. Pokud je to dovoleno o něco více času, použili bychom místo funkce imbinarize jinou konverzi obrázku Blob, abychom byli přesnější a vhodnější pro naše obrázky, ale potřebovali jsme více času na výzkum a implementaci funkce.
Krok 5: Spočítat buňky a vypočítat soutok buněk
V tomto kroku kódu jsme si dali za cíl spočítat počet buněk, které byly na obrázku. K výpočtu ploch blobů jsme primárně použili funkci regionprops a pokud by byla plocha vypočítána tak, aby byla v naší požadované hranici, byla by vykreslena na subplot. Hranice byly nastaveny tak, aby byly odstraněny malé hlučné pixely nebo velké intenzity, které nebyly buňkami. Čítač buněk by pak spočítal centroidy, které byly poté vykresleny, a přidal je do čítače ve smyčce for. Jakmile byly určeny oblasti buněk, byli jsme schopni vypočítat soutok. Hlavním významem tohoto kroku v kódu bylo nalezení soutoku buněk a to bylo klíčové pro náš konečný cíl kódu. Udělali jsme to tak, že jsme spočítali součet pixelů (součet (allAreas)) v každém blobu a poté jej vydělili celkovou hodnotou pixelu obrázku (numel (img)). Tento poměr by nám poskytl soutok a kdyby byl stanoven na více než 80%, než je čas, aby byly buňky pasažovány výzkumníkem. Naším cílem bylo být co nejpřesnější a nejpřesnější, ale s omezeným časem, aby docházelo k nepřesnostem. Pokud by to čas dovolil, hledali bychom způsoby, jak zpřesnit počítání blobů, jako je více filtračních technik a/nebo Houghova transformace, protože dosud nebyl proveden dostatečný výzkum k vyzkoušení této filtrační techniky
Krok 6: Kruhovitost buněk
Než budeme moci změřit kulatost objektů blob v obrázku, musíme převést z RGB na stupně šedi, binarizovat, invertovat a filtrovat obrázek. Technika filtrování používá funkci bwareaopen, která filtruje požadovaný obrázek a odstraní všechny příliš malé specifikace nebo pixely, které nepředstavují velikost buňky. Je vytvořen strukturní prvek s tvarem disku a sousedstvím 2 a používá se k vyplnění mezer na pozadí nebo v buňkách. Poté použijeme funkci bwboundaries, která sleduje objekty blob a ukládá je do matice. Poté obrázek označíme pomocí různých barev, aby se stal jasnějším vizuálem. Dále pomocí smyčky for, která běží podle počtu objektů a děr nalezených na obrázku, nastaví hranici kolem blobů odpovídajících tomuto poli. Jakmile tato smyčka skončí, začne další smyčka, opět podle počtu objektů a děr nalezených na obrázku. Tentokrát používáme funkci regionprops, která shromažďuje určité vlastnosti jako oblast z pole a ukládá informace obsahující počet objektů a děr. Pomocí těchto informací vypočítáme plochu a obvod těchto objektů pomocí tvaru těžiště. Prah je nastaven, aby bylo možné porovnat výsledky, jakmile vypočítáme metrickou jednotku kruhového objektu a vykreslíme toto měření jako text vedle vypočtených centroidů. Konečný kód zobrazí zaoblení různých buněk nalezených na obrázku a všechny hodnoty blízké hodnotě jedna budou kulatější než ostatní. Hodnota 1 znamená, že buňka je dokonale kulatá a je v dobrém stavu k průchodu.
Doporučuje:
Linefollower HoGent - syntetický projekt: 8 kroků
Linefollower HoGent - Syntheseproject: Nyní si můžete vybrat jeden z následujících syntetických projektů. In deze instructable zal ik uitleggen hoe ik deze gemaakt heb, en tegen welke problemen ik o.a ben aangelopen
Automatizovaný závěrečný projekt ECG-BME 305 Extra kredit: 7 kroků
Automatizovaný závěrečný projekt automatizovaného EKG-BME 305 Extra kredit: Elektrokardiogram (EKG nebo EKG) se používá k měření elektrických signálů produkovaných bušícím srdcem a hraje velkou roli v diagnostice a prognóze kardiovaskulárních onemocnění. Některé z informací získaných z EKG zahrnují rytmy
BME 305 EEG: 4 kroky
BME 305 EEG: elektroencefalogram (EEG) je zařízení, které se používá k měření elektrické mozkové aktivity subjektu. Tyto testy mohou být velmi užitečné při diagnostice různých mozkových poruch. Při pokusu o vytvoření EEG existují různé parametry, které
Sandbox Project: Výpočet a interpretace BAC: 6 kroků
Sandbox Project: Výpočet a interpretace BAC: Haarika Gogineni, Hana Schlosser a Benedict Uiseco V tomto projektu se pokusíme vypočítat koncentraci krevního alkoholu (BAC) na základě počtu nápojů, hmotnosti a pohlaví subjektu. Po výstupu vypočítaného BAC uvedeme
USB vypalovačka! Tento projekt může hořet plasty / dřevem / papírem (zábavný projekt také musí být velmi jemné dřevo): 3 kroky
USB vypalovačka! Tento projekt může hořet plasty / dřevem / papírem (zábavný projekt také musí být velmi jemné dřevo): NEDĚLEJTE TOTO POUŽÍVÁNÍ USB !!!! ze všech komentářů jsem zjistil, že může poškodit váš počítač. můj počítač je v pořádku Použijte 600mA 5v nabíječku telefonu. Použil jsem to a funguje to dobře a nic se nemůže poškodit, pokud použijete bezpečnostní zástrčku k zastavení napájení