Turinys:

Smegenų dėžutė: nervinio tūrio stebėjimas laikui bėgant: 20 žingsnių
Smegenų dėžutė: nervinio tūrio stebėjimas laikui bėgant: 20 žingsnių

Video: Smegenų dėžutė: nervinio tūrio stebėjimas laikui bėgant: 20 žingsnių

Video: Smegenų dėžutė: nervinio tūrio stebėjimas laikui bėgant: 20 žingsnių
Video: TOP požymiai, kurie atskleidžia, kad tave kamuoja autoimunės ligos 2024, Liepa
Anonim
Smegenų dėžutė: nervinio tūrio stebėjimas laikui bėgant
Smegenų dėžutė: nervinio tūrio stebėjimas laikui bėgant

Pasistūmėjimas į ilgesnio žmogaus gyvenimo ribą paskatino ligų, kurių civilizacijos nematė prieš mūsų, atsiradimą. Tarp jų Alzheimerio liga paveikė maždaug 5,3 milijono pagyvenusių amerikiečių 2017 m., Arba maždaug 1 iš 10 pagyvenusių amerikiečių (https://www.alz.org/facts/) ir daugybę kitų, sergančių demencija. Kad padėtų kovoti, kad suprastume, kas kamuoja mūsų vyresniuosius, šis kodas būsimiems tyrinėtojams ir smalsuoliams suteiks galimybę sekti smegenų tūrį laikui bėgant.

1 žingsnis: „Brain Box“naudojimas

„Brain Box“naudojimas
„Brain Box“naudojimas

Norint naudoti smegenų dėžutę, reikia tik šių dalykų:

  • Smegenų MRT nuskaitymas ir tokių failų pavadinimas bei formatas (visų matmenys turėtų būti maždaug vienodi)
  • Vieno nuskaitymo trukmė
  • Atstumas tarp kiekvieno sluoksnio (MRT)
  • Paciento vardas (įvesdami neįtraukite tarpų ir rašykite didžiąsias ir didžiąsias vardo ir pavardės pavardes, tokias kaip: Vardas Pavardė)

Ir iš to galima stebėti individo smegenų apimties tendencijas laikui bėgant. Taigi šia programine įranga galima stebėti Alzheimerio ligos tendencijas. Bandymo metu naudojamas ilgis buvo 180 mm vieno nuskaitymo metu ir 5 mm atstumas tarp MRT, remiantis vidutiniais skaičiais.

Tačiau smegenų dėžės taikymas neturi būti ribojamas tik šiai užduočiai. Jei tam tikros kietosios medžiagos skerspjūvis yra nuotrauka, kaip navikas per se, jų tūrio pokyčių tendencijas taip pat galima sekti programinėje įrangoje.

2 žingsnis: įvadas: skersinių pjūvių analizė

Įvadas: skersinių pjūvių analizė
Įvadas: skersinių pjūvių analizė

Trimatėse struktūrose dvi matmenų plokštumos, iš kurių susideda, būtų vadinamos skerspjūviais. Įsivaizduokite, kad popieriaus krūva sudaro stačiakampę prizmę, tada kiekvienas popieriaus lapas bus popieriaus skerspjūvis. Įsivaizduodami smegenis, mes taikome tą pačią mintį. MRT (magnetinio rezonanso tomografija) (žr. Informaciją apie MRT) fiksuoja smegenų skerspjūvius, o naudojant ribas, apibrėžtas kiekviename pateiktame smegenų „sluoksnyje“, galime sukurti struktūrą, pagal kurią būtų galima modeliuoti ir rasti smegenų tūrį. Tačiau pirmiausia turime sukurti funkciją, suteikiančią informaciją apie tokias ribas.

3 veiksmas: nustatykite funkciją: LevelCurveTracings.m

Funkcijos nustatymas: LevelCurveTracings.m
Funkcijos nustatymas: LevelCurveTracings.m
Funkcijos nustatymas: LevelCurveTracings.m
Funkcijos nustatymas: LevelCurveTracings.m
Funkcijos nustatymas: LevelCurveTracings.m
Funkcijos nustatymas: LevelCurveTracings.m
Funkcijos nustatymas: LevelCurveTracings.m
Funkcijos nustatymas: LevelCurveTracings.m

Pirmiausia įsitikinkite, kad jūsų kompiuteryje yra atsisiųsta MATLAB_R2017b (atsisiųskite čia), ir atidarykite MATLAB. MATLAB sąsajoje spustelėkite viršutiniame kairiajame lango kampe esantį mygtuką „Naujas“su paryškintu geltonu pliuso ženklu ir pasirinkite parinktį „funkcija“, kad redaktoriaus lange atidarytumėte erdvę, panašią į trečia nuotrauka. Mes sutelksime dėmesį į pirmosios eilutės pakeitimą, kad nustatytume funkciją. Ten, kur parašyta „outputArg1“, pakeiskite jį žodžiais „brain“, „outputArg2“, kad pasakytumėte „hole“, „untitled2“į „exp2“ir „inputArg1“į „image“, ir ištrinkite „inputArg2“. Dabar turite iškviesti funkciją naudodami „exp2“, paimdami vieną argumentą „vaizdas“ir išvesdami „smegenų“ir „skylių“ribas. Pirmoji funkcijos eilutė turėtų būti panaši į ketvirtoje nuotraukoje pavaizduotą eilutę. Ištrinkite visą kodą po šia pradine eilute.

4 žingsnis: susietojo algoritmo kūrimas: ribų paieška

Susietų algoritmų kūrimas: Rasti ribas
Susietų algoritmų kūrimas: Rasti ribas

Įveskite kodą žemiau esančioje eilutėje. Šioje funkcijos skiltyje eilutėje atliekama ši funkcija.

  1. Įkelkite paveikslėlį „image“į kintamąjį „mri“.
  2. Paverskite „mri“į paveikslėlį, sudarytą iš skaičių skaičių iki vienetų ir nulių (dar žinomas kaip dvejetainis), remiantis nustatyta ribine verte. Jei pikselio reikšmė yra lygi 0,1 ar didesnė, ji nustatoma į vieną, jei ne, to pikselio vertė nustatoma į nulį.
  3. Šios keturios eilutės 10 stulpelių ir eilučių MRT nuskaitymo sluoksnio kraštuose paverčia nuliais, kad būtų išvengta netinkamų verčių skaitymo kaip ribų (kaip sužinota eksperimentuojant su kodu).
  4. Paskutinėje eilutėje „bwboundaries“seka dvejetainio vaizdo „mri“ribas ir nustato jį lygų „b“- masyvą su elementais, kurių indeksai atitinka nustatytų ribų indeksus.

5 žingsnis: susietojo algoritmo kūrimas: išorinio masyvo generavimas

Susietų algoritmų kūrimas: išorinio masyvo generavimas
Susietų algoritmų kūrimas: išorinio masyvo generavimas

Sekite redaktoriaus lange su šiuo kodu paveikslėlyje. Šioje kodo skiltyje eilutė eina taip.

  1. Raskite kiekvienos dvejetainio vaizdo „b“eilučių ilgį („cellfun“kiekvienai eilutei taiko funkcijos ilgį).
  2. Nustatykite „loc“, kad išsaugotumėte maksimalų ilgį.
  3. Raskite didžiausio ilgio indeksą, nustatytą saugoti „didžiausia trase“.
  4. Raskite vaizdo „mri“, kurio dydis yra toks pat kaip „b“, dydį ir nustatykite „BWsize“.
  5. Raskite vaizdo masyvo eilučių skaičių, nustatykite „ysize“.
  6. Raskite stulpelių skaičių vaizdo masyve, nustatykite „xsize“.
  7. Sukurkite masyvą „suurinTraceMat“, „ysize“pagal „xsize“matricą iš nulių.
  8. Raskite lygiavertį indeksą iš nurodytų reikšmių, atitinkančių ten, kur buvo didžiausios „Trase x“vertės ir „y“reikšmės, ir išsaugokite jas vektoriuje „lindex“.
  9. Nulių matricoje „legnagyobbTraceMat“paverskite indeksų elementus, atitinkančius indekso reikšmes, išsaugotas kaip „lindex“elementai, į vienetus.

Taigi loginis masyvas „suurinTraceMat“turi didžiausią ribotą tam tikro smegenų nuskaitymo skerspjūvio sritį, nubraižytą kaip nulio fonas

6 žingsnis: susietojo algoritmo kūrimas: darbas su centro tašku

Sujungto algoritmo kūrimas: darbas su centro tašku
Sujungto algoritmo kūrimas: darbas su centro tašku

Toliau turime išbandyti, ar skerspjūvis susideda iš daugiau nei vieno regiono (didžiausio). Išbandę didžiausio regiono centroido išlygiavimą, galime pamatyti, ar yra vienas gretimas regionas, kuris suteiktų labiau centruotą centroidą, ar kelių regionų galimybė.

  1. Naudokite „regionProps“, kad surastumėte informaciją apie esamus centrinius, nustatytus kaip struktūros masyvas „tempStruct“
  2. Formuokite masyvą „centroidai“su duomenimis iš lauko „centroid“, sujungtais vertikaliai
  3. Paimkite antrojo stulpelio „centroidų“reikšmes (horizontalių matmenų koordinates)
  4. Paleiskite filtrą, kad patikrintumėte centroido suderinimą su horizontaliu centru

7 žingsnis: susietojo algoritmo kūrimas: kai „Centroid“nėra centre

Sujungto algoritmo kūrimas: kai „Centroid“nėra centre
Sujungto algoritmo kūrimas: kai „Centroid“nėra centre

Pagal scenarijų, kai didžiausio pėdsakų regiono centroidas nėra centre, atliekame šiuos veiksmus. Kaip matėme atlikdami MRT nuskaitymus, tendencija buvo, kad smegenų pusrutuliai būtų pavaizduoti skerspjūvyje, kai jie nėra gretimi, todėl dabar ir toliau skiriame antrą pagal dydį pėdsaką kartu su didžiausiu pėdsaku „suurinTraceMat“

  1. Nustatykite atsekamąją matricą į naują kintamąjį „b2“
  2. Inicijuokite tuščią matricą „b2“su rinkiniu, indeksuotu „loc“
  3. Sukurkite sąlygą, kai centroidas nėra centre (t. Y. Kelių regionų sluoksnis)
  4. Nustatykite naują kiekvienos eilutės pėdsako dydį (traceSize2)
  5. Norėdami rasti indeksus, kuriuose yra ribos, nustatykite „loc2“
  6. Tegul ląstelės, nurodytos „loc2“„b2“, yra lygios „didžiausiaTrace2“
  7. Konvertuokite indeksus į indeksus, nustatykite į „lindex“
  8. Pakeiskite elementus, atitinkančius „lindex“programoje „legnagyobbTraceMat“į 1
  9. Inicijuokite tuščią matricą „b2“su rinkiniu, indeksuotu „loc2“

8 žingsnis: susietojo algoritmo kūrimas: skylių trukdymas

Sujungto algoritmo kūrimas: skylių trukdymas
Sujungto algoritmo kūrimas: skylių trukdymas

Kalbant apie skyles, „b2“saugomos vertės stebėjo kitas struktūras nei didžiausias pėdsakas, o nubraižę jas į užpildytą „legnagyobbTraceMat“formą, paaiškės, kur smegenų srityse yra skylių.

  1. Sukurkite masyvą „užpildytas matas“, kuris yra užpildytas kaip „didžiausiasTraceMat“
  2. Sukurkite masyvą „interferenceMat“, „ysize“pagal „xsize“nulių masyvą
  3. Sukurkite masyvą „interferenceloc“, kad išsaugotumėte vertes iš „b2“, sujungtas vertikaliai
  4. Sukurkite masyvą „lindex“, kad išsaugotumėte indeksus, atitinkančius „interferenceloc“
  5. „InterferenceMat“indeksams, atitinkantiems „lindex“, nustatykite reikšmę 1, nustatydami kitą ribotą regioną

9 žingsnis: susietų algoritmų kūrimas: skylių nustatymas, smegenų ir skylių ribų užbaigimas

Susietų algoritmų kūrimas: skylių nustatymas, smegenų ir skylių ribų užbaigimas
Susietų algoritmų kūrimas: skylių nustatymas, smegenų ir skylių ribų užbaigimas
  1. Nustatykite masyvą „tempMat“lygų „interferenceMat“plius „fillMat“, taip pridėdami kiekvieną matricos vertę vienas prie kito
  2. Nustatykite masyvą „holeLoc“lygius indeksams, kur „interferencinis matas“ir „užpildytas matas“buvo lygūs vienam
  3. Nustatykite „holeMat“kaip nulinę matricų matricą „ysize“x “xsize“
  4. Nustatykite indeksus „holeMat“, kurie yra lygūs „holeLoc“
  5. Nustatykite „smegenis“į „didžiausiasTraceMat“
  6. Nustatykite „skyles“į „holeMat“

Nustačius, kad pridėtų matricų vertės buvo lygios 2, skylių vietos buvo lengvai pritvirtintos ir nubraižytos ant tuščios matricos.

10 veiksmas: duomenų registravimas: funkcija „PatientFiles“. M

Registravimo duomenys: funkcija „PatientFiles “.m
Registravimo duomenys: funkcija „PatientFiles “.m
Registravimo duomenys: funkcija „PatientFiles “.m
Registravimo duomenys: funkcija „PatientFiles “.m
Registravimo duomenys: funkcija „PatientFiles “.m
Registravimo duomenys: funkcija „PatientFiles “.m
Registravimo duomenys: funkcija „PatientFiles “.m
Registravimo duomenys: funkcija „PatientFiles “.m

Panašiai kaip ir paskutinės funkcijos sąranka, spustelėkite mygtuką viršutiniame kairiajame lango kampe, kuriame parašyta „Nauja“su paryškintu geltonu pliuso ženklu, ir pasirinkite parinktį „funkcija“, kad redaktoriaus lange atidarytumėte erdvę, primena tai trečioje nuotraukoje. Pirmoje eilutėje ištrinkite išvesties matricą ir pakeiskite ją tik „išvestimi“, pakeiskite „untitled2“į „patientFiles“, ištrinkite visus įvesties argumentus ir vietoj to atlikite formatavimą, nurodytą ketvirtoje kodo eilutės nuotraukoje. Pirmoji šios funkcijos eilutė turi atitikti paveikslėlio formatavimą.

11 veiksmas: duomenų registravimas į failus

Duomenų registravimas į failus
Duomenų registravimas į failus
Duomenų registravimas į failus
Duomenų registravimas į failus

Norėdami nustatyti failą, kuriame būtų registruojami pagrindinės funkcijos rasti duomenys (dar neaprašyti), turime atlikti šiuos veiksmus (kaip nurodyta eilutėje po kodo).

  1. Patikrinkite, ar paciento pavadinimas įvestis yra eilutė.
  2. Jei tai nėra eilutė, rodykite, kad paciento pavadinimas įvestis turėtų būti eilutė.
  3. Užbaikite teiginį „if“(išvenkite klaidos).
  4. Nustatykite eilutės teiginį „DateandTime“, kurio formatas bus toks: valanda: minutės-mėnuo/diena/metai.
  5. Nustatykite kintamąjį „fileName“į šį: pacientasName.m.

Dabar pereikite prie kito funkcijos skyriaus: ar tokio pavadinimo failas jau yra?

1) Tarkime, kad tokio pavadinimo failas jau yra:

  1. Paleiskite failą, kad gautumėte vertes iš praeities eilėje
  2. Pridėkite dabartinės iteracijos „DateandTime“duomenis kaip naują langelį x reikšmių langelių masyve (indekso pabaiga+1)
  3. Pridėti dabartinę „brainVolume“reikšmę kaip naują langelį y reikšmių langelių masyve (indekso pabaiga+1)
  4. Išsaugokite esamus kintamuosius, įkeltus į failą.

2) Tarkime, kad tokio pavadinimo failo nėra:

  1. Sukurkite naują failą, kurio pavadinimas išsaugotas kintamajame „paciento vardas“
  2. Įtraukite dabartinius „DateandTime“duomenis į langelį į tuščią x reikšmių langelių masyvą
  3. Įtraukite dabartinius „brainVolume“duomenis į langelį į tuščią y reikšmių langelių masyvą
  4. Išsaugokite esamus kintamuosius, įkeltus į failą.

12 veiksmas: duomenų registravimas: smegenų tūrio grafiko rodymas laikui bėgant

Duomenų registravimas: smegenų tūrio grafiko rodymas laikui bėgant
Duomenų registravimas: smegenų tūrio grafiko rodymas laikui bėgant
  1. Konvertuokite x reikšmių masyvą (xVals) į kategorinį masyvą (xValsCategorical), kad būtų galima nubraižyti
  2. Sukurkite figūros langą 5
  3. Nubraižykite taškus, pažymėtus „xValsCategorical“ir „yVals“(kuriuose yra smegenų tūris), naudodami tuščiavidurius apskritimus, kad nurodytumėte taškus ir būtumėte sujungti punktyrinėmis linijomis
  4. Siužetą pavadinkite taip: pacientasName Smegenų tūrio duomenys
  5. Pažymėkite x ašį, kaip parodyta paveikslėlyje
  6. Pažymėkite y ašį, kaip parodyta paveikslėlyje
  7. Tegul 5 skaičius lygus išėjimui

Iš to iškviečiama funkcija „pacientasVardas“duos failą su redaguotais duomenimis, sekančiu smegenų apimtį laikui bėgant, ir diagramą, rodančią tendencijas.

13 veiksmas: spragų uždarymas daliniuose sklypuose: subplotclose.m

Uždarymo tarpai tarp dalių: subplotclose.m
Uždarymo tarpai tarp dalių: subplotclose.m

Funkcija, pritaikyta pagal kodą iš https://www.briandalessandro.com, skirta uždaryti spragas tarp pagrindinio kodo poskyrio figūrų, kai sukuriamos figūros, vaizduojančios MRT vaizdus ir smegenų sluoksnius. Subplotclose.m naudojama subplot funkcija pakoreguoja nurodytų pogrupių padėtį, kad jie ilgesnio matmens aspektu glaudžiai derėtų vienas prie kito. Pvz., Jei kodas turi 7 x 3 matricą, eilutės bus tinkamos, nes eilutės matmuo yra ilgesnis. Jei kodas skirtas 3 x 7 matricai, stulpeliai bus tvirtai prigludę prie eilučių, kaip parodyta pagrindinio kodo paveiksluose.

14 žingsnis: pagrindinis kodas: visų išvalymas ir įvesties raginimas

Pagrindinis kodas: visų išvalymas ir įvesties raginimas
Pagrindinis kodas: visų išvalymas ir įvesties raginimas

Norėdami pradėti pagrindinį kodą, spustelėkite tą patį mygtuką, kuris viršutiniame kairiajame lango kampe sako „Naujas“, ir ankstesnėse skiltyse pasirinkite „Script“, o ne „Function“. Įveskite kodą, kaip parodyta redaktoriaus lango paveikslėlyje. Kodo eilutės atlieka šias užduotis tokia tvarka:

  1. Uždarykite visus atidarytus failus, išskyrus 0, 1 ir 2.
  2. Uždarykite visus figūrų langus.
  3. Išvalykite visus kintamuosius darbo srityje.
  4. Išvalykite komandų langą.
  5. Rodymas komandų lange: įveskite šiuos MRT nuskaitymo matmenis:
  6. Naujame komandų lango eilutėje paklauskite: Vieno nuskaitymo ilgis milimetrais:. Vartotojo atsakymas bus nustatytas į kintamąjį „lengthMM“.
  7. Naujoje eilutėje paklauskite: Atstumas tarp MRT skenavimo milimetrais:. Vartotojo atsakymas bus nustatytas į kintamąjį „ZStacks“.

15 žingsnis: pagrindinis kodas: paketinis vaizdų apdorojimas

Pagrindinis kodas: serijinis vaizdų apdorojimas
Pagrindinis kodas: serijinis vaizdų apdorojimas
Pagrindinis kodas: serijinis vaizdų apdorojimas
Pagrindinis kodas: serijinis vaizdų apdorojimas

Šiame skyriuje kodas įkelia vaizdus (kuriuos sudaro smegenų skerspjūvių MRT nuskaitymai) ir kiekvieno vaizdo failo pavadinimus saugo kintamajame „Bazė“ir parodo kiekvieną MRT nuskaitymą. Sekite paveikslėlyje pateiktą kodą, kuris atlieka šiuos veiksmus:

  1. Sukurkite struktūros masyvą „BrainImages“, kuriame yra informacija apie visus dabartinio aplanko failus, atitinkančius MRT vardo formatą _ (). Png
  2. Nustatykite kintamąjį „NumberofImages“, lygų elementų skaičiui struktūros masyve „BrainImages“
  3. Atidarykite figūros langą 1
  4. Nustatykite ciklo ciklą, kad galėtumėte peržiūrėti failo skaičių
  5. Kiekvienos kilpos „CurrentImage“yra atitinkamas kiekvieno failo pavadinimas MRI_i.png, o iteracijos numeris yra „i“
  6. Sukurkite 3 x 7 papildomą plotą, kad būtų parodyti 19 vaizdų, kuriuos reikia įkelti naudojant „imshow“
  7. Parodykite kiekvieną vaizdą kaip kitą elementą papildomos schemos paveikslėlyje
  8. Pavadinkite kiekvieną poskyrio elementą kaip Level_, kur tuščias yra ciklo iteracijos numeris.
  9. Baigti ciklą for (išvengiant klaidos)

1 paveikslo lange bus rodomi visi neapdorotos formos MRT nuskaitymai 3 x 7 konfigūracijoje, be x tarpų.

16 žingsnis: pagrindinis kodas: paminkštinimas

Pagrindinis kodas: paminkštinimas
Pagrindinis kodas: paminkštinimas

Naudodami užpildymą išvengiame nedidelių vaizdo dydžių neatitikimų, kurie gali sukelti klaidų dėl matmenų neatitikimo, jei viena nuotrauka yra šiek tiek didesnė už kitą.

  1. Atidarykite figūros langą 2
  2. Įkelkite vaizdo matricą iš MRI_1-p.webp" />
  3. Raskite vaizdo matricos dydį ir nustatykite „OriginalXPixels“(eilučių skaičiui) ir „OriginalYPixels“(stulpelių skaičiui)
  4. Nustatykite „BrainMat“matricą, kad ją sudarytų visi nuliai su dar 20 eilučių ir dar 20 stulpelių kiekvienoje plokštumoje ir iš viso 19 skerspjūvių, po vieną kiekvienoje plokštumoje.
  5. Nustatykite „HolesMat“, kad jį sudarytų tas pats trimatis nulių masyvas, kad vėliau įvestumėte skylių koordinates
  6. Sukurkite „zeroMat“, kad būtų pado dydis, dvidešimt eilučių ir dvidešimt stulpelių, dvimatis nulių masyvas.

17 žingsnis: pagrindinis kodas: ribų nustatymas

Pagrindinis kodeksas: ribų nustatymas
Pagrindinis kodeksas: ribų nustatymas
Pagrindinis kodeksas: ribų nustatymas
Pagrindinis kodeksas: ribų nustatymas
  1. Nustatykite ciklą, kad būtų galima peržiūrėti kiekvieno anksčiau įkelto vaizdo duomenis
  2. Tuo pačiu būdu, kaip anksčiau apdorotas paketas, „CurrentImage“įkelia failus su „MRI_i.png“, kur i yra iteracijos numeris
  3. Vykdykite kiekvieną vaizdą naudodami anksčiau sukurtą apdorojimo funkciją „LevelCurveTracings2.m“
  4. Raskite išvesties „Brain“dydį, eilučių skaičių nustatykite į „Currentrow“, o stulpelių skaičių - „Currentcolumns“
  5. Nustatykite „CurrentMat“į nulių matricą, kurios matmenys nurodyti „Currentrow“ir „Currentcolumns“
  6. Centruokite duomenis iš „Brain“į „CurrentMat“su 10 eilučių paraštėmis iš visų pusių
  7. Sukurkite 3 x 7 matmenų pogrupį, kad būtų parodytos vaizdų ribos
  8. Pavadinkite kiekvieną paveikslo lango papildomo elemento elementą
  9. Sukurkite trimatę matricą „BrainMat“, kurią sudaro kiekvienas ribų sluoksnis „CurrentMat“
  10. Užbaikite ciklą for (kad išvengtumėte klaidų)

Toliau pateiktame poskyryje užpildomos siūlomos trimatės formos viršuje ir apačioje paliktos skylės

  1. Nustatykite „LevelCurve1“, lygų pirmajam „BrainMat“sluoksniui (kietos medžiagos apačia)
  2. Nustatykite „LevelCurveEnd“lygų paskutiniam „BrainMat“sluoksniui (kietos medžiagos viršus)
  3. Perrašykite „LevelCurve1“užpildytu sluoksniu
  4. Perrašykite „LevelCurveEnd“užpildytu sluoksniu
  5. Nustatykite užpildytą sluoksnį kaip apatinį „BrainMat“sluoksnį
  6. Nustatykite užpildytą sluoksnį kaip viršutinį „BrainMat“sluoksnį

18 žingsnis: pagrindinis kodas: tinkamo Z matmens nustatymas

Pagrindinis kodas: tinkamo Z matmens nustatymas
Pagrindinis kodas: tinkamo Z matmens nustatymas

Pirmas tris eilutes sudaro tuščio masyvo „z“nustatymas ir paprastų konvertavimo operacijų atlikimas (taškų padalijimas pagal ilgį), kad būtų galima tinkamai nuskaityti tūrį mm^3

  1. Sukurkite ciklą, kad galėtumėte pereiti per kiekvieną sluoksnį
  2. Raskite jų skaičių tam tikrame sluoksnyje
  3. Konvertuokite z koordinates į vertes, kurios yra sureguliuotos pagal tinkamą santykį, nustatykite į „tempz“, stulpelio vektorių
  4. Pridėkite lygio kreivės z reikšmę prie vektoriaus z

Tokiu būdu z koordinatės yra tinkamai sureguliuotos.

19 žingsnis: pagrindinis kodas: X ir Y koordinačių nustatymas

Pagrindinis kodas: X ir Y koordinačių nustatymas
Pagrindinis kodas: X ir Y koordinačių nustatymas

Dabar nustatykite kiekvienos ribos taško x ir y pozicijas.

  1. Inicijuokite „xBrain“kaip tuščią masyvą
  2. Inicijuokite „yBrain“kaip tuščią masyvą
  3. Nustatykite ciklą, kad ciklas pereitų per kiekvieną įkeliamą vaizdą
  4. Sudarykite dviejų stulpelių matricą, kad išsaugotumėte kiekvieno taško plokštumines koordinates, nurodytas stulpelių vektoriais „RowBrain“ir „ColumnBrain“
  5. Pridėkite „xBrain“su šiuo metu rastomis „RowBrain“koordinatėmis
  6. Pridėkite „yBrain“su šiuo metu rastomis „ColumnBrain“koordinatėmis
  7. Užbaikite ciklą for (kad išvengtumėte klaidos)

20 žingsnis: pagrindinis kodas: trimatės struktūros braižymas, apimties nustatymas ir duomenų registravimas

Pagrindinis kodas: trimatės struktūros braižymas, apimties nustatymas ir duomenų registravimas
Pagrindinis kodas: trimatės struktūros braižymas, apimties nustatymas ir duomenų registravimas
Pagrindinis kodas: trimatės struktūros braižymas, apimties nustatymas ir duomenų registravimas
Pagrindinis kodas: trimatės struktūros braižymas, apimties nustatymas ir duomenų registravimas
Pagrindinis kodas: trimatės struktūros braižymas, apimties nustatymas ir duomenų registravimas
Pagrindinis kodas: trimatės struktūros braižymas, apimties nustatymas ir duomenų registravimas
Pagrindinis kodas: trimatės struktūros braižymas, apimties nustatymas ir duomenų registravimas
Pagrindinis kodas: trimatės struktūros braižymas, apimties nustatymas ir duomenų registravimas

Naudodami funkciją „alphaShape“, sukursime trimatę struktūrą, pagal kurią galime apskaičiuoti smegenų tūrį.

  1. Naudokite funkciją „alphaShape“, prijunkite vektorius „xBrain“, „yBrain“ir „z“x, y ir z koordinatėms ir nustatykite kaip „BrainPolyhedron“
  2. Atidarykite figūros langą 3
  3. Nubraižykite apskaičiuotą alfa formą „BrainPolyhedron“, parodykite paveikslėlio lange
  4. Apskaičiuokite alfa formos tūrį, naudodami funkciją „tūris“, kuri tinka alfa formoms
  5. Konvertuokite garsumą į mm^3
  6. Atspausdinkite kietosios medžiagos tūrį komandų lange
  7. Paprašykite įvesti paciento vardą
  8. Gaukite dabartinę datą ir laiką su laikrodžiu ir nustatykite „DateandTime“
  9. Skambinkite funkcija „patientFiles“, kad užregistruotumėte ir suplanuotumėte apskaičiuotus duomenis

Iš čia antroje ir trečioje nuotraukose turėtų būti rodomi iššokantys skaičiai, o ketvirtoje - tas, kuris turėtų būti rodomas komandų lange.

Rekomenduojamas: