İçindekiler:
- Adım 1: Mamogram Verilerini Düzenleme
- 2. Adım: Görüntü İşleme
- Adım 3: Eşik Kodu
- Adım 4: Her İkili Görüntü İçin Anormallikleri Bulma
- Adım 5: Görsel Karşılaştırma için Teşhis Edilen Kütle Konumunun ve Boyutunun Grafiklendirilmesi
- Adım 6: İkinci Karşılaştırma Yönteminin Uygulanması
- 7. Adım: Toplanan Verileri Analiz Etme
- Adım 8: Kendi Sınıflandırıcınızı Yapın
- 9. Adım: İyileştirmeler? Düşüncesi olan var mı?
Video: Mamogram Görüntülerindeki Anormallikleri Görselleştirmek ve Tanımlamak için Değişken Gri Ölçekli Yoğunluk Eşiklerini Kullanma: 9 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu projenin amacı, çeşitli arka plan doku sınıflandırmalarının gri tonlamalı mamogram görüntülerini işlemek için bir parametre belirlemek ve kullanmaktı: Yağlı, Yağlı Bez ve Yoğun Doku. Bu sınıflandırma, radyologlar mamogramları analiz ettiğinde ve doku yoğunluğunun lezyonlar veya tümörler gibi herhangi bir anormalliği gizleyip gizlemediğini dikkate almaları gerektiğinde kullanılır. Bunun nedeni hem glandüler doku gibi normal fizyolojik yapıların hem de fibröz bağ dokusunun olmasıdır. ve kalsifikasyonlar ve tümörler gibi anormal morfolojiler mamogramda çok parlak görünürken daha az yoğun yağ dokusu siyah görünecektir. Bu nedenle, kütleleri en iyi şekilde görselleştirmek ve tanımlamak için piksel yoğunluk seviyelerini değiştirebilen bir sınıflandırıcı programlamak uygun oldu.
Adım 1: Mamogram Verilerini Düzenleme
Ele almam gerektiğini fark ettiğim ilk şeylerden biri, verileri çok açık, özlü ve erişilebilir bir şekilde düzenlemekti. Bunlar mini-MIAS mamogram Veritabanından çıkardığım değişkenler. İki dizi oluşturdum. 4 sütun içeren biri:
- Resim Numarası:
- x kütle koordinatı
- kütlenin y koordinatı
- Kütle Yarıçapı: (Bu, kütle için yaklaşık bir boyut tanımladı.
İkinci dizi, sınıflandırma bilgilerini içeriyordu:
- Arka Plan Dokusu Türü: Yağlı (F), Yağlı Bez (G), Yoğun (D)
- Kütle Tanımı: İyi tanımlanmış (CIRC), spiküle edilmiş (SPIC), kötü tanımlanmış diğer (MISC) Mimari bozulma (ARCH), Asimetri (ASYM), Normal (NORM)
- Teşhisler: Benign (B), Malign (M)
Bu projenin amacı, her tür arka plan dokusu için en iyi eşiği belirlemek olduğundan, tüm bilgiler gerekli değildi. Ancak, projenizi doku analizini içerecek şekilde genişletebilir ve sınıflandırıcınızı bilinen kütle tanımlamalarına karşı test edebilirsiniz.
Yan Not: Teşhis edilen Mamogram Görüntülerini aldığım veritabanı, her mamogram hakkındaki bilgileri görüntülerden ayrı bir metin dosyasında düzenledi. Verileri bir metin dosyasından çıkarmak ve dizi formları halinde düzenlemek benim için biraz zordu, ancak aşağıdaki bağlantı tüm bunları çözmemde çok yardımcı oldu. Alternatif olarak, yukarıda yapıştırdığım kodu kendi amaçlarınız için ayarlamanız yeterlidir.
Mamogram Dosya Formatı:mdb001 G CIRC B 535 425 197
mdb002 G CIRC B 522 280 69
TextScan Yardımı: https://www.mathworks.com/help/matlab/ref/textsca…Mammogram Veritabanı:
2. Adım: Görüntü İşleme
Kitleleri nasıl tanımlayacağımı çözerken ortaya çıkan ikinci şey, birçok anormal mamogram için anormalliğin nerede olduğunu veya ne kadar büyük olduğunu görsel olarak söyleyemememdi. Açıkçası, deneyimli bir radyolog olmadığım için bekleniyordu. Ancak, anormallikleri bulmanın en basit yolu (uzun google aramalarıma göre) parlak ve karanlık alanların yoğunluklarına bakmaktı. Görüntü kontrastını artırmak için öncelikle adapthisteq işlevini kullandım ve ardından farklı eşik seviyeleriyle denemeler yapmak için görüntüyü ikili görüntüye dönüştürmek için sanallaştırdım.
- adapthisteq: Bu işlev, kontrast sınırlı uyarlanabilir histogram eşitlemeyi kullanarak gri tonlamalı ve rgb görüntülerin yoğunluk değerlerini dönüştürür. Başka bir deyişle, yoğunluk değerlerinin histogramını belirli bir dağılım türüne göre ayarlar. Bu işlevin matematik çalışmaları bağlantısı, daha fazla okuma için aşağıya eklenmiştir.
- imbinarize: belirli bir yoğunluğun üzerindeki tüm pikselleri 1s'ye ve bu değerin altındaki pikselleri 0'a atayarak gri ölçekli bir görüntüden ikili bir görüntü oluşturur. Bu işlevi, arka plan doku gürültüsünü azaltmak için en uygun eşiği test etmek için kullandım.
Adım 3: Eşik Kodu
Mamogramı değişen eşiklerle ikili hale getirmek için bir for döngüsü kullanılır. Daha büyük bir resim görünümü vermek için, for döngüsü Adım 3'ten Adım 7'ye kadar olan kodu içerir. Böylece her ikili görüntü anormallikler açısından analiz edilecektir. Ek olarak, bu for döngüsü, her yinelemede veritabanından yeni bir mamogram görüntüsünü içe aktaran başka bir for döngüsü içine alınır.
Adım 4: Her İkili Görüntü İçin Anormallikleri Bulma
Arka plan gürültüsünü ortadan kaldırmak için imopen ile birlikte strel işlevini kullanarak ikili görüntüleri daha da işledim. Önceki adımdaki ikili görüntü ters çevrilir ve SE tarafından tanımlanan komşuluk kullanılarak filtrelenir. Daha sonra en az 8 bağlantılı piksele sahip alanları etiketlemek için bwlabel kullandım.
Bwlabel tarafından tanımlanan her bir noktanın ağırlık merkezini ve alan özelliklerini bulmak için bölge props işlevi kullanıldı.
Daha sonra ismember kullanılarak 500 pikselden büyük tüm noktalar belirlendi. Tanımlanan noktalar için merkezler, yalnızca alanı 500'den daha büyük olan noktaları görüntüleyen bir görüntü üzerine çizilmiştir. Alan Tanımlanmış = ismember(Labeled, indicies(sortedAreas>500)); Noktalar = Tanımlandı>0;
Adım 5: Görsel Karşılaştırma için Teşhis Edilen Kütle Konumunun ve Boyutunun Grafiklendirilmesi
bwlabel tarafından bulunan noktaların doğru olup olmadığını görmek istedim. Bunu iki şekilde yaptım. Önce görsel bir karşılaştırma yaparak sınıflandırıcımın doğruluğunu analiz ettim. Anormalliğin gerçek boyutunu ve konumunu (kırmızı daire) ve kod tarafından belirlenen konumu (mavi x) önceden işlenmiş mamogram görüntüsü üzerine çizdim. Yukarıdaki altı resim, gri tonlamalı eşik değerini artırmanın etkilerini göstermektedir.
Adım 6: İkinci Karşılaştırma Yönteminin Uygulanması
Sınıflandırıcıyı ve eşik değerlerini test ettiğim ikinci yol, sınıflandırıcı tarafından bulunan konumların teşhis edilen anormallik koordinatlarından belirli bir mesafede olup olmadığını belirlemekti. Tanımlanan noktalardan en az birinin bilinen anormallikten 1.5*r dahilinde olduğu eşikleri Mamogram Verileri adlı ayrı bir metin dosyasına kaydettim. Bunun amacı, sınıflandırıcımın anormalliği tanımlaması için gereken minimum eşiği bulmaktı.
7. Adım: Toplanan Verileri Analiz Etme
Programı tüm anormal mamogram görüntüleri üzerinde çalıştırdım ve büyük bir metin dosyasıyla kaldım. Her doku tipi için en iyi eşiği bulmak için verileri doku tipine göre düzenledim ve her doku tipi için eşik değerlerinin histogramını çizdim. Her doku tipi için hangi eşiğin en doğru sonuçları sağladığına göre uygun eşik değerine karar verildi. Bu verileri sınıflandırıcıma yüklemek için kaydettim.
Adım 8: Kendi Sınıflandırıcınızı Yapın
Her doku türü için en uygun eşik değerlerini bulduktan sonra, orijinal kodumu, kullanıcının mamogram görüntüsü eşiğini seçmek üzere görüntü numarasını ve doku türünü girmesini sağlayacak şekilde düzenledim. Daha sonra orijinal mamogram görüntülerinde bulunan konumlarla teşhis edilen mamogram konumunu çizdim. Bunu daha eğlenceli hale getirmek istedim, bu yüzden ROI'yi çevreleyen dairesel bir bölgeyi kırpmak için bir işlev programladım. Kullanıcıya, ROI'yi en iyi şekilde kapsayan bir merkez noktası ve birkaç nokta seçmesi talimatı verilir. Her iki matlab dosyasını da buraya ekledim.
9. Adım: İyileştirmeler? Düşüncesi olan var mı?
Bu talimatı yazarken, doku analizine dayalı olarak tanımlanan farklı kütle türlerini ayırt etmenin yollarını bulmak veya SandBoxProject'in doğruluk için testlerimi geliştirmek gibi sınıflandırıcıda yapabileceğim birçok iyileştirme görmeye başladım. dosya. Bu, teslim tarihi olan bir proje olduğu için bir yerde durmak zorunda kaldım, ancak öğrendiğim görüntü işleme becerilerini başka uygulamalarda kullanabileceğimi umuyorum. Ayrıca, tüm anormal mamogram görüntülerini toplu olarak işlemek için kullanılan dosyayı da ekledim.
Önerilen:
Itemdrop'u Onaylamak için Ölçekli Otomat (Raspberry Pi): 5 Adım
Itemdrop'u Onaylamak için Ölçekli Otomat (Raspberry Pi): Hoşgeldin yapımcı arkadaşım, bir okul projesi için bir atıştırmalık otomatı yapmaya karar verdim. Görevimiz, en az 3 sensör ve 1 aktüatör kullanan yeniden oluşturulabilir bir cihaz oluşturmaktı. Kısmen bir otomat yapmaya gittim çünkü bazılarına erişimim vardı
Ubidots-ESP32+Sıcaklık ve Nem Sensörünü Kullanma-Ubidots-Kullanma-Uyarı Oluşturma: 9 Adım
Ubidots-ESP32+Sıcaklık ve Nem Sensörü-Ubidots-Kullanma-Uyarı Oluşturma: Bu eğitimde, Sıcaklık ve nem sensörünü kullanarak farklı sıcaklık ve nem verilerini ölçeceğiz. Bu verileri Ubidots'a nasıl göndereceğinizi de öğreneceksiniz. Böylece farklı uygulamalar için her yerden analiz edebilirsiniz. Ayrıca e-posta oluşturarak
Ubidots+ESP32 ve Titreşim Sensörünü Kullanma-Uyarı Oluşturma-Kullanma: 8 Adım
Ubidots+ESP32 ve Titreşim Sensörünü Kullanma-Uyarı Oluşturma: Bu projede, Ubidots-titreşim sensörünü ve ESP32'yi kullanarak makine titreşimi ve sıcaklığı hakkında bir e-posta uyarısı oluşturacağız. motorlu araçlardaki makineler ve bileşenler. Titreşim ben
Yoğunluk Kontrolü için Fotodirençli OLED Mum Işığı Devresi (TfCD): 4 Adım (Resimlerle)
Yoğunluk Kontrolü için Fotodirençli OLED Mum Işığı Devresi (TfCD): Bu talimatta, (O)LED'lerin mum gibi titrediğini ve ortamın yoğunluğuna tepki verdiğini gösteren bir devrenin nasıl yapıldığını gösteriyoruz. Daha düşük bir ışık yoğunluğu ile, ışık kaynaklarından daha düşük bir ışık çıkışı gereklidir. Bu uygulama ile
Silverlit PicooZ Mikro-RC-Helikopter için Bell Jetranger Ölçekli Gövde: 4 Adım
Silverlit PicooZ Mikro-RC-Helikopter için Bell Jetranger Ölçekli Gövde: Oyuncak görünümlü PicooZ'unuzu bir ölçekli Bell 206 Jetranger'a veya neredeyse herhangi bir tek rotorlu helikoptere dönüştürün. Kendime 3 kanallı bir helikopter aldım, bu yüzden denemeye hazırdı. PicooZ'unuz için benzersiz bir gövde kabuğu oluşturmak istiyorsanız