İçindekiler:
- Adım 1: Analiz için Görüntüyü Seçin ve Yapılandırın
- 2. Adım: Eşik ve GUI
- 3. Adım: Konturları ve Hücre Dağılımını Çizme
- Adım 4: Hücre Görüntüsünü Dönüştür
- Adım 5: Hücreleri Say ve Hücre Birleşimini Hesapla
- Adım 6: Hücrelerin Yuvarlaklığı
Video: BME 60B Korumalı Alan Projesi: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Sandbox Projemiz, biyolojik alandaki araştırmacıların hücre örneklerini analiz etmelerine ve hücrelerinin koşullarını bulmalarına yardımcı olmayı amaçlamaktadır. Kullanıcı hücre örneğinin bir görüntüsünü girdikten sonra, kodumuz görüntüyü gri tonlamalı ve ikiliye dönüştürerek hücre sayımına hazır hale getirmek için görüntüyü işler. Kod, hücre kütlelerini doğru bir şekilde bulmak için gerçek hücrelere ait olmayan fazla bilgileri kaldırmak için eşiklemeyi kullanır. Görüntüdeki hücre sayısını saydıktan sonra, kodumuz görüntünün piksel boyutunu verir ve daha sonra kullanıcıya izdüşümü vermek için hücre sayısını hücre alanına karşı çizerek hücre alanının dağılımını bulur. ilgilenilen hücreler tarafından kapsanan bir kültür tabağı yüzeyinin yüzdesi. Birleşmeye dayanarak, araştırmacı hücrelerin pasajlanması gerekip gerekmediğini belirleyebilir; hücrelerin geçişi, kültürün bir kısmını taze bir büyüme ortamına aktararak hücrelerin veya mikroorganizmaların ömrünün veya sayısının genişletilmesi anlamına gelir ve hücreler çok büyüdüğünde veya yiyecekleri tükendiğinde yararlıdır. Kodu çalıştırdıktan ve görüntüyü işledikten sonra, kullanıcı sonuçları kabul edip etmeyeceğine karar verebilir ve gerekirse verilerin daha iyi alınması için eşiği ayarlamaya devam edebilir.
Adım 1: Analiz için Görüntüyü Seçin ve Yapılandırın
Kodumuzdaki ilk adım, uygun görüntüyü seçip Matlab'da analiz için yapılandırmaktır. Herhangi bir dosyayı almamıza ve programa eklememize izin veren uigetfile işlevini kullanarak görüntüyü seçebiliyoruz. Ardından, imread kullanarak görüntüyü okuyoruz ve Matlab'da analiz için yapılandırıyoruz. Seçilen görüntü daha sonra bir alt grafikte görüntülenir.
2. Adım: Eşik ve GUI
Kodun en başında “uigetfile” kullanılarak bir görüntü seçilir ve ardından bu görüntü bir değişkenle tanımlanır. Değişken daha sonra farklı analizler yürütülürken kodu tanımlamak için kullanılacaktır. Şekilde 2x2'lik bir alt grafik oluşturulmuştur. 1. konumda, orijinal görüntü görüntülenecektir. Kodun sonraki bölümü, eşik ayarlamalarının yapıldığı yerdir. Başlangıçta varsayılan olarak 0,6 eşik değeri kullanılır ve alt grafiğin 2. konumunda görüntülenir. Daha sonra, kullanıcının eşiği korumak mı yoksa ayarlamak mı istediğini belirlemek için bir if ifadesi kullanılır. Kullanıcı, farklı eşik koşullarındaki görüntüyü, kaydırıcıyı ve bir kaydetme düğmesini içeren bir GUI kullanarak eşiği ayarlayabilir. Eşik ayarlandıktan sonra, kullanıcı görüntüyü kaydetmek için kaydet düğmesine tıklayacak ve kullanıcı MATLAB dosyalarında-p.webp
3. Adım: Konturları ve Hücre Dağılımını Çizme
Kodun sonraki kısmı konturları çizer. Hücrelerin kırmızı bir çevre ile çevrelendiği ve başka bir hücrenin üstündeki hücrelerin yeşil renkle çevrelendiği bir döngü vardır. Çerçevelenen görüntü daha sonra etkileşimli bir mesafe çizgisi ile 3. konumda görüntülenir. Bu satır, bir pikselden milimetreye dönüştürücü için kullanıcı tarafından ayarlanan satırdaki piksel sayısını belirleyecektir. Mesafe faktörü daha sonra bölge propları tarafından belirlenen alanla çarpılır ve alan şimdi milimetre kare olarak ifade edilir. Veriler daha sonra hücrelerin alanına göre dağılımını görmek için bir histogram kullanılarak çizilir. Bu histogram daha sonra 4. konumda görüntülenecektir.
Adım 4: Hücre Görüntüsünü Dönüştür
Bu adımda gri tonlamalı görüntüyü aldık ve ikilileştirdik, filtreledik ve ters çevirdik. Bu işlevlerin görüntü üzerinde gerçekleştirilmesi, hücrelerle karıştırılabilecek gürültülü pikselleri ortadan kaldırdı ve görüntüyü hücre kenarlarında daha pürüzsüz ve yumuşak hale getirdi. Bu, görüntüdeki hücreleri arka plandan yoğunluğu farklı olan ayırt edilebilir "bloblar" olarak çıkarmak için yapıldı. "Bloblar" yüksek yoğunluklu beyaz görüntülerdi ve arka plan siyahtı. Biraz daha zaman verilseydi, daha doğru ve görüntülerimize daha uygun olması için imbinarize işlevi yerine farklı bir Blob görüntü dönüşümü kullanırdık, ancak işlevi araştırmak ve uygulamak için daha fazla zamana ihtiyacımız vardı.
Adım 5: Hücreleri Say ve Hücre Birleşimini Hesapla
Kodun bu adımında, görüntüdeki hücre sayısını saymayı amaçladık. Blobların alanlarını hesaplamak için öncelikle zoneprops işlevini kullandık ve alan bizim istediğimiz sınırda olacak şekilde hesaplanmışsa, bir alt grafik üzerinde çizilecektir. Sınırlar, hücre olmayan küçük gürültülü pikselleri veya büyük yoğunlukları kaldırmak için belirlendi. Hücre sayacı daha sonra çizilen ağırlık merkezlerini sayar ve bunları for döngüsündeki sayaca ekler. Hücrelerin alanları belirlendikten sonra izdihamı hesaplayabildik. Koddaki bu adımın temel önemi, hücrelerin birleştiği yeri bulmaktı ve bu, kodun nihai hedefimiz için çok önemliydi. Bunu, her bir blobdaki pikselleri(sum(allAreas)) toplayarak ve ardından onu görüntünün toplam piksel değerine bölerek hesapladık(numel(img)). Bu oran bize izdihamı verir ve eğer araştırmacı tarafından hücrelerin pasajlanma süresinden %80'den büyük olduğu belirlenirse. Mümkün olduğunca kesin ve doğru olmayı hedefledik, ancak sınırlı bir süre içinde yanlışlıklar meydana geldi. Zaman izin verirse, bu filtreleme tekniğini denemek için henüz yeterli araştırma yapılmadığından daha fazla filtreleme tekniği ve/veya bir Hough Dönüşümü gibi blobların sayımını daha doğru hale getirmenin yollarını arardık.
Adım 6: Hücrelerin Yuvarlaklığı
Bir görüntüdeki blobun yuvarlaklığını ölçebilmemiz için önce RGB'den gri tonlamaya dönüştürmemiz, ikilileştirmemiz, ters çevirmemiz ve görüntüyü filtrelememiz gerekir. Bir filtreleme tekniği, ilgilenilen görüntüyü filtreleyen ve bir hücrenin boyutunu temsil etmeyen çok küçük tüm özellikleri veya pikselleri kaldıran bwareaopen işlevini kullanır. Disk şeklinde ve komşuluk 2 olan bir yapılandırma elemanı oluşturulur ve arka planda veya hücrelerdeki boşlukları doldurmak için kullanılır. Ardından, blobları izleyen ve onu bir matriste saklayan bwboundaries işlevini kullanırız. Daha sonra daha net bir görsel olması için görüntüyü farklı renkler kullanarak etiketliyoruz. Ardından, görüntüde bulunan nesne ve delik sayısına göre çalışan bir for döngüsü kullanarak, bu diziye karşılık gelen blobların etrafına bir sınır koyar. Bu döngü bittiğinde, yine görüntüde bulunan nesne ve delik sayısına göre başka bir döngü başlar. Bu sefer, diziden alan gibi belirli özellikleri toplayan ve nesne ve delik sayısını içeren bilgileri depolayan bölge propları işlevini kullanıyoruz. Bu bilgiyi kullanarak, ağırlık merkezi şeklini kullanarak bu nesnelerin alanını ve çevresini hesaplıyoruz. Dairesel bir nesnenin metrik birimini hesapladığımızda sonuçları karşılaştırmak için bir eşik belirlenir ve bu ölçümü hesaplanan merkezlerin yanında metin olarak çizer. Son kod, resimde bulunan farklı hücrelerin yuvarlaklığını gösterecek ve bir değere yakın herhangi bir değer diğerlerinden daha yuvarlak olacaktır. 1 değeri, hücrenin mükemmel şekilde yuvarlak olduğunu ve geçiş için iyi durumda olduğunu gösterir.
Önerilen:
Otomatik ECG- BME 305 Final Projesi Ekstra Kredi: 7 Adım
Otomatik EKG- BME 305 Bitirme Projesi Ekstra Kredisi: Bir elektrokardiyogram (EKG veya EKG) atan bir kalp tarafından üretilen elektrik sinyallerini ölçmek için kullanılır ve kardiyovasküler hastalıkların tanı ve prognozunda büyük rol oynar. Bir EKG'den elde edilen bilgilerin bazıları ritmi içerir
Arduino Alarmı - Kedi Korumalı: 6 Adım
Arduino Alarmı - Kedi Kanıtı: Kediler harika olabilir. İnanılmaz derecede rahat, bulanık ve eğlenceli olabilirler. Ancak, bir projeye başladıklarında caydırılmaları inanılmaz derecede zor olabilir. Bir kediyi caydırmanın harekete duyarlı ışık ve sesten daha iyi bir yolu var mı? Bu derste öğreneceğiniz
Yazmaya Karşı Korumalı Bir USB Aygıtı Nasıl Formatlanır: 4 Adım
Yazmaya Karşı Korumalı Bir USB Aygıtı Nasıl Biçimlendirilir: USB depolama aygıtınızı biçimlendirmeye çalıştığınızda aşağıdaki hata mesajını alabilirsiniz: "Disk yazmaya karşı korumalıdır". Endişelenmeyin, bu herhangi bir virüs veya kötü amaçlı yazılım bulaştığınız anlamına gelmez. Sorunu çözmek için sadece t
Parmak İzi Korumalı Kutu: 4 Adım
Parmak İzi Korumalı Kutu: Parmak izlerini saklamak için DFRobot'un UART parmak izi tarayıcısını kullanın ve yalnızca yetkili kişilerin kutuya erişmesine izin verin
Korumalı Kontak Mikrofonu: 6 Adım
Korumalı Kontak Mikrofonu: Sık sık, genellikle onlarla birlikte gelen uğultu olmadan temiz sesli kontak mikrofonlarının nasıl yapılacağı sorulur. Bir kontak mikrofonu oluşturma işlemi basittir, sadece birkaç kabloyu bir piezoelektrik diske lehimleyin ve işiniz bitti. İle birlikte