Мазмуну:

BME 60B Sandbox долбоору: 6 кадам
BME 60B Sandbox долбоору: 6 кадам

Video: BME 60B Sandbox долбоору: 6 кадам

Video: BME 60B Sandbox долбоору: 6 кадам
Video: BME Sandbox Project 2024, Ноябрь
Anonim
BME 60B Sandbox долбоору
BME 60B Sandbox долбоору

Биздин Sandbox долбоору биологиялык талаадагы изилдөөчүлөргө клеткалардын үлгүлөрүн талдоого жана алардын клеткаларынын шарттарын билүүгө жардам берүүнү көздөйт. Колдонуучу клетка үлгүсүнүн сүрөтүн киргизгенден кийин, биздин код сүрөттү боз масштабдуу жана бинардык форматка айландыруу менен сүрөттү иштетет. Код клетка массаларын так табуу үчүн чыныгы клеткаларга тиешелүү болбогон ашыкча маалыматты алып салуу үчүн босогону колдонот. Сүрөттөгү уячалардын санын эсептеп чыккандан кийин, биздин код сүрөттүн пиксель өлчөмүн берет, андан кийин клеткалардын санын клеткалардын аянтына салыштырып, колдонуучуга кошулуусун берүү үчүн клетка аймагынын таралышын табат. кызыккан клеткалар менен капталган маданият табагынын бетинин пайызы. Жыйындын негизинде изилдөөчү клеткалардын өтүшү керекпи же жокпу аныктай алат; Клеткалардын өтүшү маданияттын бир бөлүгүн жаңы өсүү чөйрөсүнө өткөрүп берүү аркылуу клеткалардын же микроорганизмдердин жашоосун же санын кеңейтүүнү билдирет жана бул клеткалар өтө чоңоюп же тамак -аш түгөнгөндө пайдалуу. Кодду иштетип, сүрөттү иштеткенден кийин, колдонуучу жыйынтыктарды кабыл алабы же жокпу, өзү чечет жана керек болсо маалыматтарды жакшыраак алуу үчүн босогону тууралоону улантат.

1 -кадам: Сүрөттү талдоо үчүн тандаңыз жана конфигурациялаңыз

Тандоо жана талдоо үчүн сүрөттү конфигурациялоо
Тандоо жана талдоо үчүн сүрөттү конфигурациялоо

Биздин коддун биринчи кадамы - ылайыктуу сүрөттү тандоо жана аны Matlabте анализдөө үчүн конфигурациялоо. Биз uigetfile функциясын колдонуу менен сүрөттү тандай алабыз, бул бизге каалаган файлды кармап, аны программага киргизүүгө мүмкүндүк берет. Андан кийин, imreadти колдонуп, биз сүрөттү окуйбуз жана аны Matlabте анализдөө үчүн конфигурациялайбыз. Андан кийин тандалган сүрөт субплотто көрсөтүлөт.

2 -кадам: босого жана GUI

Босого жана GUI
Босого жана GUI
Босого жана GUI
Босого жана GUI

Коддун башында сүрөт "uigetfile" аркылуу тандалып алынат, андан кийин ал сүрөттү өзгөрмө менен аныктайт. Андан кийин өзгөрмө ар кандай анализ жүргүзүүдө кодду аныктоо үчүн колдонулат. Сүрөттө 2х2 субплота түзүлгөн. 1 -позицияда баштапкы сүрөт көрсөтүлөт. Коддун кийинки бөлүмү босоголорду тууралоо болуп саналат. Башында 0.6 босогосунун демейки мааниси колдонулат жана субплоттун 2 -позициясында көрсөтүлөт. If-оператору колдонуучунун босогону сактап калууну же аны тууралоону каалагандыгын аныктоо үчүн колдонулат. Колдонуучу босогону GUIдин жардамы менен өзгөртө алат, анын ичине ар кандай босого шарттардагы сүрөттү, слайдерди жана сактоо баскычын камтыйт. Чек коюлгандан кийин, колдонуучу сүрөттү сактоо үчүн сактоо баскычын басат жана ал колдонуучулардын MATLAB файлдарында-p.webp

3 -кадам: Контурларды түзүү жана клеткалардын таралышы

Контур түзүү жана клеткалардын таралышы
Контур түзүү жана клеткалардын таралышы
Контур түзүү жана клеткалардын таралышы
Контур түзүү жана клеткалардын таралышы

Коддун кийинки бөлүгү контурларды түзөт. Клеткалар кызыл периметр менен курчалган жана башка клетканын үстүндөгү клеткалар жашыл түс менен сүрөттөлгөн цикл бар. Белгиленген сүрөт интерактивдүү аралык сызыгы менен 3 -позицияда көрсөтүлөт. Бул линия колдонуучунун пикселден миллиметрге чейин өзгөрткүчкө ылайыкташтырылган сызыктагы пикселдердин санын аныктайт. Аралыктын коэффициенти аймактын өсүмдүктөрү тарабынан аныкталган аянтка көбөйтүлөт жана аймак азыр миллиметрдин квадраты менен көрсөтүлөт. Андан кийин маалыматтар гистограмманын жардамы менен пландалып, клеткалардын аянты боюнча бөлүштүрүлүшүн көрүшөт. Бул гистограмма 4 -позицияда көрсөтүлөт.

4 -кадам: Cell Image Convert

Клетка сүрөтүн айландыруу
Клетка сүрөтүн айландыруу

Бул кадамда биз боз түстөгү сүрөттү алып, бинаризациялап, чыпкалап, тескери бурдук. Сүрөттөгү бул функцияларды аткаруу клеткаларга жаңылыштырылган ызы -чуу пикселдерди жок кылып, клетканын четинде сүрөттү дагы жылмакай жана жумшак кылган. Бул сүрөттөлүштөгү клеткаларды фондон интенсивдүүлүгү менен айырмаланган "бломбалар" катары чыгаруу үчүн жасалды. "Blobs" жогорку интенсивдүү ак сүрөттөр жана фону кара болчу. Дагы бир аз убакытка уруксат берилгенде, биз имбинаризациялоо функциясын эмес, башка Blob сүрөтүнүн конверсиясын колдонмокпуз, бирок биздин сүрөттөргө туура жана туура келет, бирок функцияны изилдөө жана ишке ашыруу үчүн көбүрөөк убакыт керек болчу.

5 -кадам: Клеткаларды эсептөө жана Клеткалардын Конфлуенциясын эсептөө

Клеткаларды санап, клеткалардын биригүүсүн эсептеңиз
Клеткаларды санап, клеткалардын биригүүсүн эсептеңиз

Коддун бул кадамында биз сүрөттөгү клеткалардын санын эсептөөнү максат кылдык. Биз биринчи кезекте regionprops функциясын блоктордун аянттарын эсептөө үчүн колдондук жана эгерде аймак биздин каалаган чек арабызда эсептелген болсо, анда ал субплотага түшүрүлмөк. Чектер клеткалар болбогон кичинекей ызы -чуу пикселдерди же чоң интенсивдүүлүктү алып салуу үчүн коюлган. Уяча эсептегич андан кийин пландалган центроиддерди санап, аларды циклдеги эсептегичке кошот. Клеткалардын аймактары аныкталгандан кийин биз кошулууну эсептей алдык. Коддогу бул кадамдын негизги мааниси клеткалардын бириккен жерин табуу болгон жана бул биздин коддун акыркы максаты үчүн чечүүчү мааниге ээ болгон. Биз муну ар бир блоктогу пикселдерди (сумма (allAreas)) жыйынтыктоо жана андан кийин сүрөттүн жалпы пикселдик маанисине (numel (img)) бөлүү аркылуу эсептөө жолу менен жасадык. Бул коэффициент бизге кошулууну берет жана эгерде ал клеткалардын изилдөөчү тарабынан өтүү убактысынан 80% дан жогору экени аныкталса. Биз мүмкүн болушунча так жана так болууну максат кылдык, бирок чектелген убакытта так эместиктер пайда болду. Убакыт уруксат берсе, биз чыпкалоо техникасын жана/же Hough Transform сыяктуу тактарды эсептөөнү тагыраак кылуунун жолдорун издейт элек, анткени бул чыпкалоо техникасын сынап көрүү үчүн жетиштүү изилдөө жүргүзүлгөн эмес.

6 -кадам: Клеткалардын тегеректиги

Клеткалардын тегеректиги
Клеткалардын тегеректиги
Клеткалардын тегеректиги
Клеткалардын тегеректиги

Сүрөттөгү тегеректөөнү өлчөөдөн мурун, биз RGBден боз масштабга, бинаризациялоого, тескери бурууга жана фильтрлешибиз керек. Чыпкалоо техникасы bwareaopen функциясын колдонуп жатат, ал кызыккан сүрөттү чыпкалайт жана уячанын өлчөмүн көрсөтпөгөн өтө кичине спецификаларды же пикселдерди жок кылат. Структуралоочу элемент дисктин формасы жана 2 коңшулугу менен түзүлөт жана фондо же уячалардын ичиндеги боштуктарды толтуруу үчүн колдонулат. Андан кийин биз bwboundaries функциясын колдонобуз, ал блокторду издейт жана аны матрицада сактайт. Андан кийин биз сүрөттү башка түстөр менен белгилейбиз, ошондо ал ачык көрүнөт. Андан кийин, сүрөттө табылган объектилердин жана тешиктердин санына ылайык иштеген for циклин колдонуп, бул массивге тиешелүү блоктордун тегерегине чек белгилейт. Бул цикл бүткөндөн кийин, дагы бир цикл башталат, дагы сүрөттөгү объекттердин жана тешиктердин санына жараша. Бул жолу биз массивдеги аймак сыяктуу кээ бир касиеттерди чогулткан жана объекттердин жана тешиктердин санын камтыган маалыматты сактай турган regionprops функциясын колдонобуз. Бул маалыматты колдонуп, биз бул объекттердин аянтын жана периметрин центроид формасын колдонуп эсептейбиз. Тегерек объекттин метрикалык бирдигин эсептеп, бул өлчөөнү центроборлордун жанына текст катары чагылдыргандан кийин жыйынтыктарды салыштыруу үчүн босого коюлган. Акыркы код сүрөттө табылган ар кандай уячалардын тегеректигин көрсөтөт жана мааниге жакын болгон бардык маанилер башкаларга караганда тегерек болот. 1 мааниси клетканын кемчиликсиз тегерек экенин жана жакшы абалда өтөрүн билдирет.

Сунушталууда: