Mündəricat:
- Addım 1: Təhlil üçün Şəkili seçin və Konfiqurasiya edin
- Addım 2: Eşik və GUI
- Addım 3: Konturların qurulması və Hüceyrə Dağılımı
- Addım 4: Hüceyrə Görüntüsünü Dönüştürün
- Addım 5: Hüceyrələri Sayın və Hüceyrə Birləşməsini Hesablayın
- Addım 6: Hüceyrələrin yuvarlaqlığı
Video: BME 60B Sandbox Layihəsi: 6 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Sandbox Layihəmiz, bioloji sahədə tədqiqatçılara hüceyrə nümunələrini təhlil etməyə və hüceyrələrinin vəziyyətini öyrənməyə kömək etməyi hədəfləyir. İstifadəçi hüceyrə nümunəsinin bir görüntüsünü daxil etdikdən sonra, kodumuz görüntünü boz rəngə və ikiliyə çevirərək hüceyrə saymağa hazır vəziyyətə gətirir. Kod, hüceyrə kütlələrini dəqiq tapmaq üçün faktiki hüceyrələrə aid olmayan artıq məlumatları çıxarmaq üçün eşikdən istifadə edir. Şəkildəki hüceyrələrin sayını hesabladıqdan sonra kodumuz, görüntünün piksel ölçüsünü verir və sonra istifadəçiyə qovuşma nöqtəsini vermək üçün hüceyrələrin sayını hüceyrələrin sahəsinə görə quraraq hüceyrə sahəsinin paylanmasını tapır. maraqlanan hüceyrələr tərəfindən örtülmüş bir mədəniyyət qabının səthinin yüzdəsi. Araşdırmaçı, qovuşma nöqtəsinə əsaslanaraq hüceyrələrin keçib -keçməyəcəyini təyin edə bilər; Hüceyrələrin keçməsi, mədəniyyətin bir hissəsini təzə bir böyümə mühitinə köçürərək həyatını və ya hüceyrə və ya mikroorqanizmlərin sayını genişləndirmək deməkdir və hüceyrələr çox böyüdükdə və ya qidalar tükəndikdə faydalıdır. Kodu işə saldıqdan və görüntünü işlədikdən sonra, istifadəçi nəticələri qəbul edib -etməyəcəyinə qərar verə bilər və lazım gələrsə məlumatların daha yaxşı alınması üçün ərəfəni tənzimləməyə davam edə bilər.
Addım 1: Təhlil üçün Şəkili seçin və Konfiqurasiya edin
Kodumuzdakı ilk addım uyğun görüntüyü seçmək və onu Matlab -da təhlil etmək üçün konfiqurasiya etməkdir. Hər hansı bir faylı tutub proqrama daxil etməyimizə imkan verən uigetfile funksiyasından istifadə edərək görüntünü seçə bilərik. Sonra imread istifadə edərək görüntünü oxuyuruq və Matlabda analiz üçün konfiqurasiya edirik. Seçilən şəkil daha sonra alt planda göstərilir.
Addım 2: Eşik və GUI
Kodun əvvəlində "uigetfile" istifadə edərək bir şəkil seçilir və sonra bu görüntünü dəyişənlə təyin edir. Dəyişən daha sonra fərqli analizlər apararkən kodu müəyyən etmək üçün istifadə ediləcək. Şəkildə 2x2 ölçülü alt sahə yaradılmışdır. 1 -ci mövqedə orijinal şəkil göstəriləcək. Kodun növbəti bölməsi, eşiklərin tənzimləndiyi yerdir. Başlanğıcda 0.6 həddi olan bir defolt istifadə olunur və alt sahənin 2 -ci mövqeyində göstərilir. İstifadəçinin həddi saxlamaq və ya tənzimləmək istədiyini müəyyən etmək üçün if-ifadəsi istifadə olunur. İstifadəçi, fərqli eşik şərtlərindəki şəkli, kaydırıcıyı və bir saxlama düyməsini ehtiva edən bir GUI istifadə edərək həddi tənzimləyə bilər. Eşik təyin edildikdən sonra istifadəçi görüntünü saxlamaq üçün saxla düyməsini basacaq və istifadəçilər MATLAB fayllarında-p.webp
Addım 3: Konturların qurulması və Hüceyrə Dağılımı
Kodun növbəti hissəsi konturları qurur. Hüceyrələrin qırmızı bir perimetrlə əhatə olunduğu bir döngə var və başqa bir hüceyrənin üstündə olan hüceyrələr yaşıl rənglə təsvir edilmişdir. Təsvir edilən görüntü daha sonra interaktiv məsafə xətti ilə 3 -cü mövqedə göstərilir. Bu xətt istifadəçinin piksel -millimetr çeviricisi üçün düzəltdiyi sətirdəki piksellərin sayını təyin edəcək. Məsafə faktoru daha sonra bölgə sahələri tərəfindən təyin olunan sahə ilə vurulur və sahə indi milimetr kvadratla ifadə edilir. Məlumat daha sonra hüceyrələrin ərazisinə görə paylanmasını görmək üçün bir histogram istifadə edərək tərtib edilir. Bu histogram daha sonra 4 -cü mövqedə göstəriləcək.
Addım 4: Hüceyrə Görüntüsünü Dönüştürün
Bu addımda boz rəngli görüntünü götürdük və binarlaşdırdıq, süzdük və ters çevirdik. Bu funksiyaları görüntü üzərində yerinə yetirmək hüceyrələr üçün səhv ola biləcək səs -küylü pikselləri aradan qaldırdı və hüceyrənin kənarında görüntünü daha hamar və yumşaq etdi. Bu, şəkildəki hüceyrələri arxa plandan intensivliyi ilə fərqlənən "ləkələr" olaraq çıxarmaq üçün edildi. "Blobs" yüksək intensivlikli ağ şəkillər idi və arxa plan qara idi. Bir az daha icazə verilsəydi, şəkillərimizə daha dəqiq və daha uyğun olması üçün imbinarize funksiyası yerinə fərqli bir Blob şəkil çevrilməsindən istifadə edərdik, ancaq funksiyanı araşdırmaq və həyata keçirmək üçün daha çox vaxta ehtiyacımız var idi.
Addım 5: Hüceyrələri Sayın və Hüceyrə Birləşməsini Hesablayın
Kodun bu addımında, şəkildəki hüceyrələrin sayını hesablamağı hədəflədik. Blobların sahələrini hesablamaq üçün ilk növbədə regionprops funksiyasından istifadə etdik və əgər ərazi bizim istədiyimiz sərhəddə hesablansaydı, bu bir alt plana çəkiləcəkdi. Sərhədlər kiçik səs -küylü pikselləri və ya hüceyrə olmayan böyük intensivlikləri aradan qaldırmaq üçün təyin edildi. Hüceyrə sayğacı daha sonra qurulan sentroidləri sayar və onları döngədəki sayaca əlavə edərdi. Hüceyrələrin sahələri müəyyən edildikdən sonra birləşmə hesablaya bildik. Koddakı bu addımın əsas əhəmiyyəti, hüceyrələrin birləşməsini tapmaq idi və bu, kodun son məqsədimiz üçün əsas idi. Bunu hər bir bloqdakı pikselləri (cəm (allAreas)) toplayaraq və sonra görüntünün ümumi piksel dəyərinə (ədəd (img)) bölməklə hesablayaraq etdik. Bu nisbət bizə bir araya gələr və əgər hüceyrələrin tədqiqatçı tərəfindən keçmə vaxtının 80% -dən çox olduğu təyin olunarsa. Mümkün qədər dəqiq və dəqiq olmağı hədəflədik, lakin məhdud zamanla bu qədər qeyri -dəqiqlik meydana gəldi. Vaxt imkan verərsə, daha çox süzmə texnikası və/və ya Hough Transformu kimi lövhələrin sayılmasını daha dəqiq etmək yollarını axtarardıq, çünki bu filtrasiya texnikasını sınamaq üçün hələ kifayət qədər araşdırma aparılmamışdır.
Addım 6: Hüceyrələrin yuvarlaqlığı
Bir görüntüdə ləkənin yuvarlaqlığını ölçə bilmədən əvvəl, RGB -dən gri tonlamaya çevirməliyik, görüntünün ölçüsünü dəyişdirmə, ters çevirmə və süzgəcdən keçirməliyik. Bir filtrasiya texnikası, maraq görüntüsünü süzən və hüceyrə ölçüsünü əks etdirməyən çox kiçik olan hər hansı bir xüsusiyyəti və ya pikseli silmək funksiyasından istifadə edir. Bir disk forması və 2 -lik bir məhəllə ilə qurulmuş bir element, arxa planda və ya hüceyrələrdəki boşluqları doldurmaq üçün istifadə olunur. Sonra blobları izləyən və onu matrisə saxlayan bwboundaries funksiyasından istifadə edirik. Daha sonra fərqli rənglərdən istifadə edərək görüntünü etiketləyirik ki, daha aydın vizual olsun. Daha sonra, şəkildəki obyektlərin və deliklərin sayına görə işləyən for döngəsindən istifadə edərək, bu cərgəyə uyğun olan blobların ətrafında sərhəd qoyur. Bu döngə bitdikdən sonra, şəkildəki obyektlərin və deliklərin sayına görə başqa bir döngə başlayır. Bu dəfə, sıra kimi sahə kimi müəyyən xüsusiyyətləri toplayan və obyektlərin və deliklərin sayını ehtiva edən məlumatları saxlayan regionprops funksiyasından istifadə edirik. Bu məlumatları istifadə edərək, bu cisimlərin sahəsini və perimetrini centroid şəklində istifadə edərək hesablayırıq. Dairəvi bir cismin metrik vahidini hesabladıqdan və nəticəni hesablanmış sentroidlərin yanında mətn olaraq qoyduqdan sonra nəticələri müqayisə etmək üçün bir eşik təyin olunur. Son kod, şəkildəki fərqli hüceyrələrin yuvarlaqlığını göstərəcək və dəyərinə yaxın olan hər hansı bir dəyər digərlərindən daha yuvarlaq olacaq. 1 dəyəri, hüceyrənin mükəmməl yuvarlaq olduğunu və keçmək üçün yaxşı vəziyyətdə olduğunu bildirir.
Tövsiyə:
Avtomatlaşdırılmış EKQ- BME 305 Final Layihəsi Əlavə Kredit: 7 Addım
Avtomatlaşdırılmış EKQ- BME 305 Final Layihəsi Əlavə Kredit: Ürək döyüntüsünün istehsal etdiyi elektrik siqnallarını ölçmək üçün elektrokardioqram (EKQ və ya EKQ) istifadə olunur və ürək-damar xəstəliklərinin diaqnozu və proqnozunda böyük rol oynayır. EKQ -dən əldə edilən bəzi məlumatlar ritmləri ehtiva edir
Avtomatlaşdırılmış Ev Yeməyi Bowl Layihəsi: 13 Addım
Avtomatlaşdırılmış Ev Yeməyi Bowl Layihəsi: Bu təlimatlı, qida qabları ilə birlikdə avtomatlaşdırılmış, proqramlaşdırıla bilən bir ev yemi qurucusunun necə qurulacağını təsvir edəcək və izah edəcək. Məhsulların necə işlədiyini və nəyə bənzədiyini göstərən bir videonu bura əlavə etdim
(IOT Layihəsi) ESP8266 və Openweather API -dən istifadə edərək Hava Məlumatlarını əldə edin: 5 addım
(IOT Layihəsi) ESP8266 və Openweather API -dən istifadə edərək Hava Məlumatlarını əldə edin: Bu təlimatda şəhərimizin hava məlumatlarını openweather.com/api saytından əldə edən və Qenerasiya proqramını istifadə edərək nümayiş etdirən sadə bir IOT layihəsi hazırlayacağıq
BME 305 EEG: 4 addım
BME 305 EEG: Elektroansefalogram (EEG) bir mövzunun elektrik beyin fəaliyyətini ölçmək üçün istifadə olunan bir cihazdır. Bu testlər müxtəlif beyin xəstəliklərinin diaqnozunda çox faydalı ola bilər. EEG etmək istəyərkən fərqli parametrlər var
Sandbox Layihəsi: BAC Hesablanması və Şərhi: 6 Addım
Sandbox Layihəsi: BAC Hesablanması və Şərhi: Haarika Gogineni, Hana Schlosser və Benedict Uiseco tərəfindən Bu layihədə, bir mövzunun içki sayına, çəkisinə və cinsinə görə Qan Alkol Konsentrasiyasını (BAC) hesablamağa çalışacağıq. Hesablanmış BAC -ı çıxardıqdan sonra, deyəcəyik