Përmbajtje:

Kutia e trurit: Ndjekja e vëllimit nervor me kalimin e kohës: 20 hapa
Kutia e trurit: Ndjekja e vëllimit nervor me kalimin e kohës: 20 hapa

Video: Kutia e trurit: Ndjekja e vëllimit nervor me kalimin e kohës: 20 hapa

Video: Kutia e trurit: Ndjekja e vëllimit nervor me kalimin e kohës: 20 hapa
Video: Shakespeare's Sonnets Audiobook by William Shakespeare 2024, Korrik
Anonim
Kutia e trurit: Ndjekja e vëllimit nervor me kalimin e kohës
Kutia e trurit: Ndjekja e vëllimit nervor me kalimin e kohës

Përparimi në kufirin e jetës më të gjatë njerëzore ka sjellë lindjen e sëmundjeve që nuk janë parë nga qytetërimet para tonave. Midis këtyre, Alzheimer preku afërsisht 5.3 milion amerikanë të moshuar që jetonin në 2017, ose afërsisht 1 në 10 amerikanë të moshuar (https://www.alz.org/facts/) dhe të panumërt të tjerë me demencë. Për të ndihmuar në luftën për të kuptuar se çfarë po mundon pleqtë tanë, ky kod do të pajisë studiuesit e ardhshëm dhe kuriozë të etur me aftësinë për të gjetur vëllimin e trurit me kalimin e kohës.

Hapi 1: Përdorimi i Kutisë së Trurit

Përdorimi i Kutisë së Trurit
Përdorimi i Kutisë së Trurit

Për të përdorur kutinë e trurit, dikush ka nevojë vetëm për sa vijon:

  • Skanimet MRI të trurit dhe emri dhe formati i skedarëve të tillë (të gjithë duhet të kenë afërsisht të njëjtat dimensione)
  • Gjatësia e një skanimi
  • Distanca midis secilës shtresë (skanim MRI)
  • Emri i Pacientit (Kur futni, mos përfshini hapësira dhe ju lutemi shkruani me shkronjë të madhe emrin dhe mbiemrin, si psh: FirstnameLastname)

Dhe nga kjo, dikush ka aftësinë të mbajë gjurmët e tendencave të individëve në vëllimin e trurit me kalimin e kohës. Kështu, shifrat për tendencat e Alzheimerit mund të gjurmohen nga ky softuer. Gjatësia që përdorëm në provë ishte 180 mm për gjatësinë e një skanimi dhe 5 mm për distancën midis skanimeve MRI, bazuar në shifrat mesatare.

Sidoqoftë, aplikimi i kutisë së trurit nuk duhet të kufizohet në këtë detyrë të vetme. Nëse seksionet kryq të një trupi të caktuar janë fotografuar, si një tumor në vetvete, tendencat në ndryshimet në vëllim për këto gjithashtu mund të gjurmohen në softuer.

Hapi 2: Hyrje: Analizimi i seksioneve kryq

Hyrje: Analizimi i seksioneve kryq
Hyrje: Analizimi i seksioneve kryq

Në strukturat tre dimensionale, planet dy dimensionale nga të cilat përbëhen të tilla do të quheshin seksione kryq. Imagjinoni që një pirg letrash përbëjnë një prizëm drejtkëndor, atëherë secila copë letër do të jetë një seksion kryq i letrës. Në përfytyrimin e trurit, ne zbatojmë të njëjtin kurs mendimi. MRI (rezonancë magnetike) (shiko informacionin për MRI) kap seksionet kryq të trurit, dhe nga përdorimi i kufijve të përcaktuar në secilën "shtresë" të trurit të ofruar, ne mund të ndërtojmë një strukturë për të modeluar dhe gjetur volumin e trurit Me Ne së pari duhet të ndërtojmë një funksion për të siguruar informacion mbi kufij të tillë.

Hapi 3: Vendosja e një funksioni: LevelCurveTracings.m

Vendosja e një funksioni: LevelCurveTracings.m
Vendosja e një funksioni: LevelCurveTracings.m
Vendosja e një funksioni: LevelCurveTracings.m
Vendosja e një funksioni: LevelCurveTracings.m
Vendosja e një funksioni: LevelCurveTracings.m
Vendosja e një funksioni: LevelCurveTracings.m
Vendosja e një funksioni: LevelCurveTracings.m
Vendosja e një funksioni: LevelCurveTracings.m

Së pari, sigurohuni që kompjuteri juaj të ketë shkarkuar MATLAB_R2017b (shkarkoni këtu) dhe hapni MATLAB. Në ndërfaqen MATLAB, klikoni në butonin në këndin e sipërm të majtë të dritares që thotë "E Re" me një shenjë të verdhë të theksuar plus, dhe zgjidhni opsionin "funksion", për të hapur në dritaren e redaktuesit një hapësirë që i ngjan asaj në foto e trete. Ne do të përqëndrohemi në ndryshimin e rreshtit të parë për konfigurimin e funksionit. Aty ku thuhet "outputArg1", zëvendësojeni me "tru", "outputArg2" për të thënë "vrima", "pa titull2" në "exp2" dhe "inputArg1" në "imazh" dhe fshini "inputArg2". Tani ju keni një funksion që duhet të thirret duke përdorur "exp2", duke marrë një argument "imazh" dhe duke nxjerrë kufijtë e "trurit" dhe "vrimave". Linja e parë e funksionit duhet të ngjajë me vijën e përshkruar në figurën e katërt. Fshini të gjithë kodin nën këtë rresht fillestar.

Hapi 4: Zhvillimi i algoritmit të lidhur: Gjetja e kufijve

Zhvillimi i algoritmit të lidhur: Gjetja e kufijve
Zhvillimi i algoritmit të lidhur: Gjetja e kufijve

Shkruani kodin si më poshtë nën rresht. Ky seksion i funksionit bën rreshtin vijues.

  1. Ngarko në imazhin "imazh" në ndryshoren "mri".
  2. Kthejeni "mri" në një imazh të bërë nga vlerat në një sërë numrash në njësi dhe zero (aka binarizuese) bazuar në një vlerë të caktuar të pragut. Nëse vlera në një piksel është e barabartë ose më e madhe se 0.1, ajo vendoset në një, nëse jo, vlera në atë piksel vendoset në zero.
  3. Katër rreshtat e mëposhtëm kthejnë 10 kolona dhe rreshta në skajet e shtresës së skanimit MRI në zero, për të shmangur leximin e vlerave të papërshtatshme si kufij (siç mësohet nga eksperimentimi me kodin).
  4. Në rreshtin përfundimtar, kufijtë bwbound gjurmojnë kufijtë e imazhit të binarizuar "mri" dhe e vendosin atë të barabartë me "b", një grup me elementët indekset e të cilëve korrespondojnë me ato të kufijve të vendosur në një.

Hapi 5: Zhvillimi i algoritmit të lidhur: Gjenerimi i grupit të jashtëm të lidhur

Zhvillimi i algoritmit të lidhur: Gjenerimi i grupit të jashtëm të lidhur
Zhvillimi i algoritmit të lidhur: Gjenerimi i grupit të jashtëm të lidhur

Ndiqni në dritaren e redaktuesit me kodin e mëposhtëm në foto. Ky seksion i kodit bën rreshtin vijues.

  1. Gjeni gjatësinë e secilës prej rreshtave të imazhit të binarizuar "b" (celulari aplikon gjatësinë e funksionit në secilën rresht).
  2. Vendosni "loc" për të ruajtur gjatësitë maksimale.
  3. Gjeni indeksin e gjatësisë maksimale, të vendosur për tu ruajtur në "më të madhTrace".
  4. Gjeni madhësinë e figurës "mri", e cila përbëhet nga e njëjta madhësi si "b", dhe vendoseni në "BWsize".
  5. Gjeni numrin e rreshtave në grupin e figurës, të vendosur në "ysize".
  6. Gjeni numrin e kolonave në grupin e figurës, të vendosur në "xsize".
  7. Gjeneroni grupin "më të madhTraceMat", një matricë "ysize" me "xsize" zero.
  8. Gjeni indeksin ekuivalent nga vlerat e nënshkruara që korrespondojnë me vendin ku ishin vlerat më të mëdha të gjurmës x dhe y, ruani në vektorin "lindex".
  9. Në matricën e zerove "më e madheTraceMat", kthejnë elementët në indekset që korrespondojnë me vlerat e indeksit të ruajtura si elemente në "lindex" në njësi.

Kështu, grupi logjik "më i madhTraceMat" ka rajonin më të madh të kufizuar të seksionit të dhënë të skanimit të trurit të vizatuar si ato me një sfond zero.

Hapi 6: Zhvillimi i algoritmit të lidhur: Puna me Qendrën Pikë

Zhvillimi i algoritmit të lidhur: Puna me Qendrën Pikë
Zhvillimi i algoritmit të lidhur: Puna me Qendrën Pikë

Tjetra, ne duhet të testojmë për të parë nëse seksioni kryq përbëhet nga më shumë se një rajon (më i madhi). Duke testuar shtrirjen e centroidit të rajonit më të madh, ne mund të shohim nëse ekziston një rajon fqinj, i cili do të jepte një centroid më të përqendruar, ose mundësinë e rajoneve të shumta.

  1. Përdorni "regionProps" për të gjetur informacion mbi centroidët e pranishëm, të vendosur të barabartë me grupin e strukturës "tempStruct"
  2. Formuloni formatin "centroids" me të dhëna nga fusha "centroid" të lidhura vertikalisht
  3. Merrni vlerat e kolonës së dytë të "centroids" (koordinatat e dimensionit horizontal)
  4. Drejtoni një filtër për të kontrolluar shtrirjen e centroidit në qendrën horizontale

Hapi 7: Zhvillimi i algoritmit të lidhur: Kur një Centroid nuk është në qendër

Zhvillimi i algoritmit të lidhur: Kur një Centroid nuk është i përqendruar
Zhvillimi i algoritmit të lidhur: Kur një Centroid nuk është i përqendruar

Në skenarin që qendra e rajonit më të madh të gjurmës nuk është e përqendruar, ne kalojmë hapat e mëposhtëm. Siç kishim vërejtur në skanimet MRI, tendenca ishte që hemisferat e trurit të portretizohen në seksion kryq kur nuk janë të afërt, kështu që ne tani vazhdojmë të vizatojmë gjurmën e dytë më të madhe së bashku me gjurmën më të madhe në "më të madhTraceMat"

  1. Vendosni matricën e gjurmuar në një ndryshore të re "b2"
  2. Iniconi matricën boshe "b2", me një grup të indeksuar nga "loc"
  3. Krijoni një kusht, kur një centroid nuk është në qendër (d.m.th një shtresë e shumëfishtë e rajonit)
  4. Vendosni një madhësi të re të gjurmës që do të gjendet për secilën rresht (traceSize2)
  5. Vendosni "loc2" për të gjetur indekset ku kufijtë janë të pranishëm
  6. Lëreni qelizat e specifikuara nga "loc2" në "b2" të jenë të barabarta me "gjurmën më të madhe2"
  7. Shndërroni nënshkrimet në indekse, të vendosur në "lindex"
  8. Ndryshoni elementët që korrespondojnë me "lindex" në "më të madhTraceMat" në 1
  9. Filloni matricën boshe "b2", me një grup të indeksuar nga "loc2"

Hapi 8: Zhvillimi i algoritmit të lidhur: Ndërhyrja e vrimave

Zhvillimi i algoritmit të lidhur: Ndërhyrja e vrimave
Zhvillimi i algoritmit të lidhur: Ndërhyrja e vrimave

Në trajtimin e vrimave, vlerat e ruajtura në "b2" mbanin gjurmët e strukturave të tjera përveç gjurmës më të madhe, dhe komplotimi i këtyre në një formë të mbushur të "më të madhitTraceMat" do të zbulojë se ku ka vrima në rajonet e trurit.

  1. Krijo një grup "fillMat", i cili është një formë e mbushur e "më e madheTraceMat"
  2. Krijo grup "interferenceMat", një grup "ysize" me "xsize" të zeros
  3. Krijo grup "interferenceloc", për të ruajtur vlerat nga "b2", të lidhura vertikalisht
  4. Krijo grup "lindex" për të ruajtur indekset që korrespondojnë me "interferenceloc"
  5. Për indekset në "interferenceMat" që korrespondojnë me "lindex", vendosni vlerën 1, duke bërë një rajon të ndryshëm të kufizuar

Hapi 9: Zhvillimi i algoritmit të lidhur: Gjetja e vrimave, finalizimi i kufijve të trurit dhe kufijve të vrimave

Zhvillimi i algoritmit të lidhur: Gjetja e vrimave, finalizimi i kufijve të trurit dhe kufijve të vrimave
Zhvillimi i algoritmit të lidhur: Gjetja e vrimave, finalizimi i kufijve të trurit dhe kufijve të vrimave
  1. Vendosni grupin "tempMat" të barabartë me "interferenceMat" plus "fillMat", duke shtuar kështu secilën vlerë në matricë njëra -tjetrës
  2. Vendosni grupin "holeLoc" të barabartë me indekset ku "interferenceMat" dhe "fillMat" të dy ishin të barabartë me një
  3. Vendosni "holeMat" si një matricë zero të dimensioneve "ysize" x "xsize"
  4. Vendosni indekse në "holeMat" që janë të barabartë me "holeLoc" si një
  5. Vendosni "trurin" në "më të madhTraceMat"
  6. Vendosni "vrimat" në "holeMat"

Me gjetjen ku vlerat e matricave të shtuara ishin të barabarta me 2, vendet e vrimave u siguruan lehtësisht dhe u vizatuan në një matricë të zbrazët.

Hapi 10: Regjistrimi i të dhënave: Funksioni PatientFiles.m

Regjistrimi i të dhënave: Funksioni PatientFiles.m
Regjistrimi i të dhënave: Funksioni PatientFiles.m
Regjistrimi i të dhënave: Funksioni PatientFiles.m
Regjistrimi i të dhënave: Funksioni PatientFiles.m
Regjistrimi i të dhënave: Funksioni PatientFiles.m
Regjistrimi i të dhënave: Funksioni PatientFiles.m
Regjistrimi i të dhënave: Funksioni PatientFiles.m
Regjistrimi i të dhënave: Funksioni PatientFiles.m

Ashtu si konfigurimi i funksionit të fundit, klikoni në butonin në këndin e sipërm të majtë të dritares që thotë "E Re" me një shenjë të verdhë të theksuar plus, dhe zgjidhni opsionin "funksion", për të hapur në dritaren e redaktuesit një hapësirë që i ngjan asaj në foton e tretë. Në rreshtin e parë, fshini matricën e daljes dhe zëvendësoni me thjesht "output", zëvendësoni "untitled2" me "pacientFiles", fshini të gjithë argumentet e hyrjes dhe në vend të kësaj ndiqni formatimin e specifikuar në foton e katërt të vijës së kodit. Linja e parë e këtij funksioni duhet të përputhet me formatimin e figurës.

Hapi 11: Regjistrimi i të dhënave në skedarë

Regjistrimi i të dhënave në skedarë
Regjistrimi i të dhënave në skedarë
Regjistrimi i të dhënave në skedarë
Regjistrimi i të dhënave në skedarë

Për të krijuar një skedar për të regjistruar të dhënat e gjetura nga funksioni kryesor (ende për t'u përshkruar), ne duhet të ndjekim këto hapa (siç përshkruhet nga kodi rresht pas rreshti).

  1. Kontrolloni nëse hyrja për pacientinName është një varg.
  2. Nëse nuk është një varg, shfaq atë hyrje të pacientit duhet të jetë një varg.
  3. Përfundoni deklaratën if (parandaloni gabimin).
  4. Vendosni një deklaratë vargu "DateandTime" që do të japë formatin e mëposhtëm: orë: minuta-muaj/ditë/vit.
  5. Vendosni emrin e ndryshueshëm të skedarit në vijim: emri i pacientit.m.

Tani te pjesa tjetër e funksionit: A ekziston një skedar me këtë emër tashmë?

1) Supozoni se skedari me këtë emër ekziston tashmë:

  1. Drejtoni skedarin për të marrë në radhë vlerat nga e kaluara
  2. Shtoni të dhënat "DateandTime" të përsëritjes aktuale si një qelizë e re në grupin e qelizave të vlerave x (fundi i indeksit+1)
  3. Shtoni vlerën aktuale "brainVolume" si një qelizë e re në grupin e qelizave të vlerave y (fundi i indeksit+1)
  4. Ruani ndryshoret aktuale të ngarkuara në skedar.

2) Supozoni se skedari me këtë emër nuk ekziston:

  1. Krijoni një skedar të ri me emrin e ruajtur në ndryshoren "pacienti Emri"
  2. Shtoni të dhënat aktuale "DateandTime" si një qelizë në grupin bosh të qelizave të vlerave x
  3. Shtoni të dhënat aktuale "brainVolume" si një qelizë në grupin bosh të qelizave të vlerave y
  4. Ruani ndryshoret aktuale të ngarkuara në skedar.

Hapi 12: Regjistrimi i të dhënave: Shfaqja e një komploti të vëllimit të trurit me kalimin e kohës

Regjistrimi i të dhënave: Shfaqja e një komploti të vëllimit të trurit me kalimin e kohës
Regjistrimi i të dhënave: Shfaqja e një komploti të vëllimit të trurit me kalimin e kohës
  1. Shndërroni grupin e vlerave x (xVals) në një grup kategorik (xValsCategorical), për të lejuar vizatimin
  2. Gjeneroni dritaren e figurës 5
  3. Hartoni pikat e përcaktuara nga "xValsCategorical" dhe "yVals" (që përmbajnë volumin e trurit), duke përdorur rrathë të zbrazët për të treguar pikat dhe për t'u lidhur me vija të ndërprera
  4. Titullo komplotin si: pacienti Emri Të dhënat e vëllimit të trurit
  5. Etiketoni boshtin x siç tregohet në figurë
  6. Etiketoni boshtin y siç tregohet në figurë
  7. Le të jetë figura 5 e barabartë me daljen

Nga kjo, funksioni i pacientit që thirret do të japë një skedar me të dhëna të redaktuara që mbajnë gjurmët e vëllimit të trurit me kalimin e kohës, dhe një komplot që shfaq trendet.

Hapi 13: Mbyllja e Boshllëqeve në Nënpotot: Nënplotësim.m

Mbyllja e Boshllëqeve në Nën -Parcelat: Nën -mbyllja.m
Mbyllja e Boshllëqeve në Nën -Parcelat: Nën -mbyllja.m

Funksioni, i përshtatur nga kodi nga https://www.briandalessandro.com, funksionon për të mbyllur boshllëqet midis figurave të nënplotit të kodit kryesor, kur krijohen figurat që shfaqin imazhet MRI dhe shtresat e trurit. Funksioni i nënplotës i përdorur brenda subplotclose.m rregullon pozicionin e nënplotave të dhëna që të përshtaten mirë me njëri -tjetrin në aspektin e dimensionit më të gjatë. Për shembull, nëse kodi synon një matricë 7 x 3, rreshtat do të përshtaten mirë pasi dimensioni i rreshtit është më i gjatë. Nëse kodi synon një matricë 3 x 7, kolonat do të përshtaten mirë, me boshllëqe në rreshta, siç tregohet në figurat e kodit tonë kryesor.

Hapi 14: Kodi kryesor: Pastrimi i të gjithëve dhe nxitja për inputet

Kodi kryesor: Pastrimi i të gjithëve dhe nxitja për inputet
Kodi kryesor: Pastrimi i të gjithëve dhe nxitja për inputet

Për të filluar kodin kryesor, klikoni në të njëjtin buton që thotë "New" në këndin e sipërm të majtë të dritares dhe zgjidhni "Script" në vend të "Funksionit" nga pjesët e mëparshme. Shkruani kodin siç tregohet në figurë brenda dritares së redaktuesit. Linjat e kodit kryejnë detyrat e mëposhtme me radhë:

  1. Mbyllni të gjithë skedarët e hapur përveç 0, 1 dhe 2.
  2. Mbyllni të gjitha dritaret me figura.
  3. Pastroni të gjitha ndryshoret në hapësirën e punës.
  4. Pastroni dritaren e komandës.
  5. Shfaq në dritaren e komandës: Ju lutemi futni dimensionet e mëposhtme për skanimet MRI:
  6. Në një rresht të ri në Dritaren e Komandës, pyesni: Gjatësia e një skanimi në milimetra:. Përgjigja e dhënë nga përdoruesi do të vendoset në ndryshoren "lengthMM".
  7. Në një linjë të re, pyesni: Distanca midis skanimeve të MRI në milimetra:. Përgjigja e dhënë nga përdoruesi do të vendoset në ndryshoren "ZStacks".

Hapi 15: Kodi kryesor: Përpunimi i Grupit të Imazheve

Kodi kryesor: Procesimi i Grupit të Imazheve
Kodi kryesor: Procesimi i Grupit të Imazheve
Kodi kryesor: Procesimi i Grupit të Imazheve
Kodi kryesor: Procesimi i Grupit të Imazheve

Në këtë pjesë, kodi do të ngarkojë imazhet (të përbëra nga skanimet MRI të seksioneve kryq të trurit) dhe do të ruajë emrat e secilit skedar të imazhit në ndryshoren "Baza" dhe do të shfaqë secilën nga skanimet e MRI. Ju lutemi ndiqni kodin në figurë, i cili bën sa më poshtë:

  1. Krijo grup strukture "BrainImages" që përmban informacion për të gjithë skedarët brenda dosjes aktuale që i përshtaten formatit të emrit të MRI _ (). Png
  2. Vendosni ndryshoren "NumberofImages" e barabartë me numrin e elementeve në grupin e strukturës "BrainImages"
  3. Hapni dritaren e figurës 1
  4. Vendosni një lak për qarkullim për numrin e imazheve të numëruara në skedar
  5. Për çdo lak, "CurrentImage" është emri përkatës i secilit skedar MRI_i.png, me numrin e përsëritjes si 'i'
  6. Krijoni një nënplot 3x7 për të shfaqur 19 imazhet që do të ngarkohen nga "imshow"
  7. Shfaqni çdo imazh si një element tjetër në dritaren e figurës nën -komplot
  8. Titullojeni secilin element të nënplotës si Level_, ku bosh është numri i përsëritjes së lakut for.
  9. Përfundoni lakin for (shmangia e gabimit)

Kjo do të shfaqë në figurën 1 figura të gjitha skanimet e MRI në formë të papërpunuar në një konfigurim 3 x 7 pa boshllëqe në orientimin x.

Hapi 16: Kodi kryesor: Mbushje

Kodi kryesor: Mbushje
Kodi kryesor: Mbushje

Me mbushjen, ne shmangim çështjen e mospërputhjeve të vogla në madhësitë e imazhit që mund të japin gabim për mospërputhjen e dimensioneve në rast se një fotografi është pak më e madhe se një tjetër.

  1. Hapni dritaren e figurës 2
  2. Ngarko matricën e imazhit nga MRI_1-p.webp" />
  3. Gjeni madhësinë e matricës së figurës dhe vendoseni në "OriginalXPixels" (për numrin e rreshtave) dhe "OriginalYPixels" (për numrin e kolonave)
  4. Vendosni matricën "BrainMat" që të përbëhet nga të gjitha zerot me 20 rreshta të tjerë dhe 20 kolona më shumë për secilin plan, dhe 19 seksione kryq gjithsej, një për aeroplan.
  5. Vendosni "HolesMat" që të përbëhet nga e njëjta grup tre -dimensionale e zerove për të futur koordinatat e vrimave më vonë
  6. Krijoni "zeroMat" të jetë madhësia e bllokut plus njëzet rreshta dhe njëzet kolona, një grup dy -dimensionale i zerove.

Hapi 17: Kodi kryesor: Përcaktimi i kufijve

Kodi kryesor: Përcaktimi i kufijve
Kodi kryesor: Përcaktimi i kufijve
Kodi kryesor: Përcaktimi i kufijve
Kodi kryesor: Përcaktimi i kufijve
  1. Vendosni një lak për kalimin e të dhënave nga secila imazh i ngarkuar më parë
  2. Në të njëjtën mënyrë të përpunimit të grupeve më herët, "CurrentImage" ngarkon skedarët me "MRI_i.png", ku i është numri i përsëritjes
  3. Drejtoni çdo imazh përmes funksionit të përpunimit "LevelCurveTracings2.m" që keni bërë më herët
  4. Gjeni madhësinë e daljes "Truri", vendosni numrin e rreshtave në "Currentrow" dhe numrin e kolonave në "Currentcolumns"
  5. Vendosni "CurrentMat" në një matricë zero me dimensionet e përcaktuara nga "Currentrow" dhe "Currentcolumns"
  6. Qendërzoni të dhënat nga "Brain" në "CurrentMat", me një diferencë prej 10 rreshtave në të gjitha anët
  7. Krijoni një nënplot me dimensione 3 x 7, për të shfaqur kufijtë e imazheve
  8. Titullojeni secilin nga elementët e nënplotës në dritaren e figurës
  9. Gjeneroni matricën tre dimensionale "BrainMat" të përbërë nga secila shtresë e kufirit "CurrentMat"
  10. Përfundoni lakin for (për shmangien e gabimeve)

Nënseksioni i mëposhtëm plotëson vrimat e lëna në krye dhe në fund të formës tre -dimensionale të propozuar

  1. Vendosni "LevelCurve1" të barabartë me shtresën e parë të "BrainMat" (fundi i ngurtë)
  2. Vendosni "LevelCurveEnd" të barabartë me shtresën përfundimtare të "BrainMat" (në krye të ngurtës)
  3. Mbishkruaj "LevelCurve1" me një shtresë të mbushur
  4. Mbishkruaj "LevelCurveEnd" me një shtresë të mbushur
  5. Vendosni shtresën e mbushur si shtresa e poshtme e "BrainMat"
  6. Vendosni shtresën e mbushur si shtresa e sipërme e "BrainMat"

Hapi 18: Kodi kryesor: Përcaktimi i dimensionit të duhur Z

Kodi kryesor: Përcaktimi i dimensionit të duhur Z
Kodi kryesor: Përcaktimi i dimensionit të duhur Z

Tre rreshtat e parë konsistojnë në vendosjen e një grupi të zbrazët "z" dhe kryerjen e operacioneve të thjeshta të konvertimit (ndani piksele në gjatësi) për të marrë një lexim të duhur të vëllimit në mm^3

  1. Krijoni një lak për qarkullimin nëpër secilën shtresë
  2. Gjeni numrin e njësive në një shtresë të caktuar
  3. Shndërroni koordinatat z për ato në vlera që janë shkallëzuar në raportin e duhur, të vendosur në "tempz", një vektor kolone
  4. Shtoni vlerën z për kurbën e nivelit në vektorin z

Me këtë koordinatat z janë rregulluar siç duhet.

Hapi 19: Kodi kryesor: Përcaktimi i koordinatave X dhe Y

Kodi kryesor: Përcaktimi i koordinatave X dhe Y
Kodi kryesor: Përcaktimi i koordinatave X dhe Y

Tani për të përcaktuar pozicionet x dhe y të secilës prej pikave në kufij.

  1. Filloni "xBrain" si një grup bosh
  2. Filloni "yBrain" si një grup bosh
  3. Vendosni një lak for për të lakuar përmes çdo imazhi të ngarkuar
  4. Përpiloni një matricë me dy kolona për të ruajtur koordinatat planare të secilës pikë në të lidhur, të përfaqësuar nga vektorët e kolonave "RowBrain" dhe "ColumnBrain"
  5. Shtoni "xBrain" me koordinatat "RowBrain" të gjetura aktualisht
  6. Shtoni "yBrain" me koordinatat "ColumnBrain" të gjetura aktualisht
  7. Përfundoni lakin for (për të shmangur gabimin)

Hapi 20: Kodi kryesor: Hartimi i një strukture tre -dimensionale, gjetja e vëllimit dhe regjistrimi i të dhënave

Kodi kryesor: Hartimi i një strukture tre -dimensionale, gjetja e vëllimit dhe regjistrimi i të dhënave
Kodi kryesor: Hartimi i një strukture tre -dimensionale, gjetja e vëllimit dhe regjistrimi i të dhënave
Kodi kryesor: Hartimi i një strukture tre -dimensionale, gjetja e vëllimit dhe regjistrimi i të dhënave
Kodi kryesor: Hartimi i një strukture tre -dimensionale, gjetja e vëllimit dhe regjistrimi i të dhënave
Kodi kryesor: Hartimi i një strukture tre -dimensionale, gjetja e vëllimit dhe regjistrimi i të dhënave
Kodi kryesor: Hartimi i një strukture tre -dimensionale, gjetja e vëllimit dhe regjistrimi i të dhënave
Kodi kryesor: Hartimi i një strukture tre -dimensionale, gjetja e vëllimit dhe regjistrimi i të dhënave
Kodi kryesor: Hartimi i një strukture tre -dimensionale, gjetja e vëllimit dhe regjistrimi i të dhënave

Duke përdorur funksionin alphaShape, ne do të krijojmë një strukturë tre -dimensionale nga e cila mund të llogarisim vëllimin e trurit.

  1. Përdorni funksionin alphaShape, futni vektorët "xBrain", "yBrain" dhe "z" për koordinatat x, y dhe z, dhe vendoseni të barabartë me "BrainPolyhedron"
  2. Hapni dritaren e figurës 3
  3. Hartoni formën e llogaritur alfa "BrainPolyhedron", shfaqur në dritaren e figurës
  4. Llogaritni vëllimin e formës alfa, duke përdorur një funksion "vëllim" që funksionon për format alfa
  5. Shndërroni volumin në mm^3
  6. Shtypni vëllimin e lëndës së ngurtë në Dritaren e Komandës
  7. Kërkoni që emri i pacientit të vendoset si hyrje
  8. Merrni datën dhe kohën aktuale me orën dhe vendoseni në "DateandTime"
  9. Thirrni funksionin "pacientFiles" për të regjistruar dhe vizatuar të dhënat e llogaritura

Nga këtu fotografitë e dyta dhe të treta duhet të tregojnë figurat që shfaqen, dhe fotografia e katërt atë që duhet të shfaqet në Dritaren e Komandës.

Recommended: