Sisällysluettelo:

Aivokotelo: Neuraalisen tilavuuden seuranta ajan myötä: 20 vaihetta
Aivokotelo: Neuraalisen tilavuuden seuranta ajan myötä: 20 vaihetta

Video: Aivokotelo: Neuraalisen tilavuuden seuranta ajan myötä: 20 vaihetta

Video: Aivokotelo: Neuraalisen tilavuuden seuranta ajan myötä: 20 vaihetta
Video: Не заказывайте ВСЕ SONIC ХЭППИ МИЛ В 3 ЧАСА НОЧИ!! (НА НАС НАПАЛИ) 2024, Heinäkuu
Anonim
Aivokotelo: Neuraalisen tilavuuden seuranta ajan mittaan
Aivokotelo: Neuraalisen tilavuuden seuranta ajan mittaan

Edistyminen pidemmän ihmiselämän rajalle on tuonut esiin sellaisten sairauksien lisääntymisen, joita sivilisaatiot eivät nähneet ennen meitä. Näistä Alzheimerin tauti sairastui noin 5,3 miljoonaan elävään iäkkääseen amerikkalaiseen vuonna 2017 tai noin jokaiseen kymmeneen iäkkääseen amerikkalaiseen (https://www.alz.org/facts/) ja lukemattomiin muihin dementiaan. Tämä koodi auttaa tulevia tutkijoita ja innokkaita uteliaita auttamaan taistelussa ymmärtämään, mikä vanhempiamme vaivaa, ja kyky seurata aivojen tilavuutta ajan mittaan.

Vaihe 1: Brain Boxin käyttö

Brain Boxin käyttäminen
Brain Boxin käyttäminen

Aivokotelon käyttämiseen tarvitaan vain seuraavat asiat:

  • Aivojen magneettikuvaus ja tällaisten tiedostojen nimi ja muoto (niiden kaikkien pitäisi olla suunnilleen samat)
  • Yhden skannauksen pituus
  • Kunkin kerroksen välinen etäisyys (MRI -skannaus)
  • Potilaan nimi (kirjoittaessasi älä lisää välilyöntejä ja kirjoita etunimi ja sukunimi isolla alkukirjaimella, esimerkiksi: Etunimi ja sukunimi)

Ja tästä on kyky seurata yksilöiden aivojen tilavuuden suuntauksia ajan mittaan. Näin ollen ohjelmisto voi seurata Alzheimerin taudin lukuja. Kokeessa käyttämämme pituus oli 180 mm yhden skannauksen pituudelta ja 5 mm MRI -skannausten väliseltä etäisyydeltä keskimääräisten lukujen perusteella.

Aivokotelon käyttöä ei kuitenkaan tarvitse rajoittaa tähän yhteen tehtävään. Jos tietyn kiintoaineen poikkileikkaukset ovat valokuvia, kuten kasvain sinänsä, niiden tilavuuden muutosten suuntauksia voidaan myös seurata ohjelmistossa.

Vaihe 2: Esittely: Poikkileikkausten analysointi

Esittely: Poikkileikkausten analysointi
Esittely: Poikkileikkausten analysointi

Kolmiulotteisissa rakenteissa niitä kaksiulotteisia tasoja kutsutaan poikkileikkauksiksi. Kuvittele, että paperipino muodostaa suorakulmaisen prisman, jolloin jokainen paperi on poikkileikkaus paperista. Aivoja kuvitellessamme käytämme samaa ajattelutapaa. MRI (magneettikuvaus) (katso MRI -tiedot) kaappaa aivojen poikkileikkaukset, ja käyttämällä aivojen jokaisessa "kerroksessa" määriteltyjä rajoja voimme rakentaa rakenteen aivojen tilavuuden mallintamiseksi ja löytämiseksi. Meidän on kuitenkin ensin rakennettava toiminto, joka antaa tietoa tällaisista rajoista.

Vaihe 3: Toiminnon määrittäminen: LevelCurveTracings.m

Toiminnon määrittäminen: LevelCurveTracings.m
Toiminnon määrittäminen: LevelCurveTracings.m
Toiminnon määrittäminen: LevelCurveTracings.m
Toiminnon määrittäminen: LevelCurveTracings.m
Toiminnon määrittäminen: LevelCurveTracings.m
Toiminnon määrittäminen: LevelCurveTracings.m
Toiminnon määrittäminen: LevelCurveTracings.m
Toiminnon määrittäminen: LevelCurveTracings.m

Varmista ensin, että tietokoneellesi on ladattu MATLAB_R2017b (lataa tästä) ja avaa MATLAB. Napsauta MATLAB -käyttöliittymässä ikkunan vasemmassa yläkulmassa olevaa painiketta, jossa lukee "Uusi" ja jossa on lihavoitu keltainen plusmerkki, ja valitse vaihtoehto "toiminto", jolloin avautuu editori -ikkunassa tila, joka muistuttaa kolmas kuva. Keskitymme ensimmäisen rivin muuttamiseen toiminnon määrittämiseksi. Jos se sanoo "outputArg1", korvaa se "brain", "outputArg2" sanoaksesi "reikiä", "untitled2" - "exp2" ja "inputArg1" "image" ja poista "inputArg2". Sinulla on nyt toiminto, jota kutsutaan "exp2": lla, ottamalla yksi argumentti "kuva" ja antamalla "aivojen" ja "reikien" rajat. Funktion ensimmäisen rivin tulee muistuttaa neljännen kuvan viivaa. Poista kaikki tämän alirivin alapuolella oleva koodi.

Vaihe 4: Sidotun algoritmin kehittäminen: rajojen löytäminen

Sidotun algoritmin kehittäminen: rajojen löytäminen
Sidotun algoritmin kehittäminen: rajojen löytäminen

Kirjoita koodi seuraavasti rivin alle. Tämä toiminnon osa suorittaa seuraavan rivi riviltä.

  1. Lataa kuva "image" muuttujaan "mri".
  2. Muuta "mri" kuvaksi, joka koostuu arvoista, jotka koostuvat lukuisista numeroista yhteen ja nollaan (eli binaarinen) asetetun kynnysarvon perusteella. Jos pikselin arvo on 0,1 tai suurempi, se asetetaan arvoon yksi, jos ei, kyseisen pikselin arvo on nolla.
  3. Seuraavat neljä riviä muuttavat 10 saraketta ja riviä MRI -skannauskerroksen reunoilla nolliksi, jotta vältetään väärien arvojen lukeminen rajojen muodostamisena (kuten koodilla kokeiltu).
  4. Viimeisellä rivillä bwboundaries jäljittää binarisoidun kuvan "mri" rajat ja asettaa sen yhtä suureksi kuin "b", matriisi, jossa on elementtejä, joiden indeksit vastaavat yhden raja -arvoja.

Vaihe 5: Sidotun algoritmin kehittäminen: Ulkoisen sidoksen muodostaminen

Sidotun algoritmin kehittäminen: Ulkoisen sidoksen muodostaminen
Sidotun algoritmin kehittäminen: Ulkoisen sidoksen muodostaminen

Seuraa editori -ikkunassa seuraavaa koodia kuvassa. Tämä koodin osa tekee seuraavan rivi riviltä.

  1. Etsi binaarikuvan "b" jokaisen rivin pituus (cellfun käyttää funktion pituutta kullekin riville).
  2. Aseta "loc" tallentaaksesi enimmäispituudet.
  3. Etsi enimmäispituuden indeksi, joka on asetettu tallennettavaksi "suurimpiin jäljitykseen".
  4. Etsi kuvan "mri" koko, joka on samankokoinen kuin "b", ja aseta "BWsize".
  5. Etsi rivien määrä kuvan taulukosta, aseta "ysize".
  6. Etsi sarakkeiden määrä kuvan taulukosta, aseta "xsize".
  7. Luo taulukko "suurinTraceMat", "ysize" by "xsize" matriisi nollista.
  8. Etsi vastaava indeksi tilattuista arvoista, jotka vastaavat suurimpien Trace x -arvojen ja y -arvojen sijaintia, tallenna vektori "lindex".
  9. Käännä nollamatriisissa "suurinTraceMat" indeksit, jotka vastaavat "lindex" -elementteihin tallennettuja indeksiarvoja.

Siten loogisella matriisilla "suurinTraceMat" on suurin rajoitetun alueen aivojen skannauspoikkileikkaus, joka on piirretty osiksi, joiden taustalla on nollia

Vaihe 6: Sidotun algoritmin kehittäminen: Työskentely keskipisteen kanssa

Sidotun algoritmin kehittäminen: Työskentely keskipisteen kanssa
Sidotun algoritmin kehittäminen: Työskentely keskipisteen kanssa

Seuraavaksi meidän on testattava, onko poikkileikkaus useampi kuin yksi alue (suurin). Testaamalla suurimman alueen keskipisteen kohdistusta voimme nähdä, onko olemassa yksi vierekkäinen alue, joka antaisi keskitetymmän keskipisteen, vai mahdollisuus useisiin alueisiin.

  1. Käytä "regionProps" -toimintoa löytääksesi tietoja läsnä olevista keskipisteistä, jotka on asetettu vastaamaan rakenteita "tempStruct"
  2. Lomake matriisi "centroids", jossa on kentän "centroid" tiedot ketjutettuna pystysuoraan
  3. Ota "sarakkeiden" toisen sarakkeen arvot (vaakasuuntaiset ulottuvuuskoordinaatit)
  4. Suorita suodatin tarkistaaksesi keskikohdan kohdistuksen vaakasuoraan keskikohtaan

Vaihe 7: Sidotun algoritmin kehittäminen: Kun Centroid ei ole keskitetty

Sidotun algoritmin kehittäminen: Kun Centroid ei ole keskitetty
Sidotun algoritmin kehittäminen: Kun Centroid ei ole keskitetty

Skenaariossa, jossa suurimman jäljitysalueen keskipiste ei ole keskitetty, käymme läpi seuraavat vaiheet. Kuten olimme havainneet magneettikuvauksessa, taipumus oli, että aivopuoliskot kuvattiin poikkileikkauksessa, kun ne eivät olleet vierekkäisiä, joten jatkamme nyt toiseksi suurimman jäljen ja suurimman jäljen kuvaamista "suurinTraceMat" -kohdassa

  1. Aseta jäljitetylle matriisille uusi muuttuja "b2"
  2. Alusta tyhjä matriisi "b2", jossa joukko on indeksoitu "loc"
  3. Luo ehto, kun keskipiste ei ole keskellä (eli usean alueen kerros)
  4. Aseta jokaiselle riville uusi jäljityskoko (traceSize2)
  5. Määritä "loc2" löytääksesi indeksit, joissa rajat ovat
  6. Olkoon "loc2" -kohdan "b2" määrittämät solut yhtä suuret kuin "suurinTrace2"
  7. Muunna alaindeksit indekseiksi, asetukseksi "lindex"
  8. Muuta "suurinTraceMat" -kohdan "lindexiä" vastaavat elementit arvoon 1
  9. Alusta tyhjä matriisi "b2", jossa joukko on indeksoitu "loc2"

Vaihe 8: Sidotun algoritmin kehittäminen: reikien häiriö

Sidotun algoritmin kehittäminen: reikien häiriö
Sidotun algoritmin kehittäminen: reikien häiriö

Kun käsitellään reikiä, "b2": een tallennetut arvot seurasivat muita rakenteita kuin suurin jälki, ja piirtämällä ne täytettyyn muotoon "suurinTraceMat" paljastaa, missä on reikiä aivojen alueilla.

  1. Luo taulukko "täytettyMat", joka on täytetty muoto "suurinTraceMat"
  2. Luo taulukko "interferenceMat", "ysize" x "xsize" nollaryhmä
  3. Luo taulukko "interferenceloc" tallentaaksesi "b2": n arvot pystysuoraan ketjutettuna
  4. Luo matriisi "lindex" interferencelocia vastaavien indeksien tallentamiseksi
  5. Määritä "interferenssimatissa" oleville indekseille, jotka vastaavat "lindexiä", arvoksi 1 ja tee eri raja -alue

Vaihe 9: Sidotun algoritmin kehittäminen: reikien paikantaminen, aivorajojen ja reikärajojen viimeistely

Sidotun algoritmin kehittäminen: reikien paikantaminen, aivorajojen ja reikärajojen viimeistely
Sidotun algoritmin kehittäminen: reikien paikantaminen, aivorajojen ja reikärajojen viimeistely
  1. Aseta taulukko "tempMat" yhtä suureksi kuin "interferenceMat" plus "fillMat", jolloin matriisin jokainen arvo lisätään toisiinsa
  2. Aseta taulukko "holesLoc" yhtä suureksi kuin indeksit, joissa "interferenceMat" ja "fillMat" olivat molemmat yhtä
  3. Määritä "holesMat" nollamatriisiksi mitoille "ysize" x "xsize"
  4. Aseta "holesMat" -indeksit, jotka ovat yhtä suuret kuin "holesLoc"
  5. Aseta "aivot" arvoksi "suurinTraceMat"
  6. Aseta "reikiä" arvoksi "holesMat"

Kun havaittiin, että lisättyjen matriisien arvot olivat 2, reikien paikat oli helppo kiinnittää ja piirtää tyhjään matriisiin.

Vaihe 10: Tietojen kirjaaminen: Toiminto PatientFiles. M

Tietojen kirjaaminen: Toiminto PatientFiles. M
Tietojen kirjaaminen: Toiminto PatientFiles. M
Tietojen kirjaaminen: Toiminto PatientFiles. M
Tietojen kirjaaminen: Toiminto PatientFiles. M
Tietojen kirjaaminen: Toiminto PatientFiles. M
Tietojen kirjaaminen: Toiminto PatientFiles. M
Tietojen kirjaaminen: Toiminto PatientFiles. M
Tietojen kirjaaminen: Toiminto PatientFiles. M

Aivan kuten viimeisen toiminnon asetukset, napsauta ikkunan vasemmassa yläkulmassa olevaa painiketta, jossa lukee "Uusi" ja jossa on lihavoitu keltainen plusmerkki, ja valitse vaihtoehto "toiminto" avataksesi editori -ikkunassa tila, muistuttaa sitä kolmannessa kuvassa. Poista ensimmäisellä rivillä tulostusmatriisi ja korvaa se pelkällä "output" -merkillä, korvaa "untitled2" sanalla "patientFiles", poista kaikki syöttöargumentit ja noudata sen sijaan koodirivin neljännessä kuvassa määritettyä muotoilua. Tämän toiminnon ensimmäisen rivin on vastattava kuvan muotoilua.

Vaihe 11: Tietojen kirjaaminen tiedostoihin

Tietojen kirjaaminen tiedostoihin
Tietojen kirjaaminen tiedostoihin
Tietojen kirjaaminen tiedostoihin
Tietojen kirjaaminen tiedostoihin

Jotta voisimme perustaa tiedoston kirjaamaan päätoiminnon löytämät tiedot (joita ei ole vielä kuvattu), meidän on noudatettava näitä vaiheita (koodi rivi riviltä).

  1. Tarkista, onko potilaan_nimen tulo merkkijono.
  2. Jos se ei ole merkkijono, näytä, että potilaan_nimen syötteen tulee olla merkkijono.
  3. Lopeta if -lause (estä virhe).
  4. Määritä merkkijonolauseke "DateandTime", joka antaa seuraavan muodon: tunti: minuutit-kuukausi/päivä/vuosi.
  5. Aseta muuttujan fileName arvoksi seuraava: potilaanNimi.m.

Nyt funktion seuraavaan osaan: Onko tämänniminen tiedosto jo olemassa?

1) Oletetaan, että tämänniminen tiedosto on jo olemassa:

  1. Suorita tiedosto saadaksesi arvot menneisyydestä jonoon
  2. Lisää nykyisen iteraation "DateandTime" -tiedot uutena soluna x -arvojen soluryhmään (indeksin loppu+1)
  3. Lisää nykyinen "brainVolume" -arvo uutena soluna y -arvojen soluryhmään (indeksin loppu+1)
  4. Tallenna tiedostoon ladatut nykyiset muuttujat.

2) Oletetaan, että tämän nimistä tiedostoa ei ole olemassa:

  1. Luo uusi tiedosto, jonka nimi on tallennettu muuttujaan "patientName"
  2. Lisää nykyiset "DateandTime" -tiedot soluksi x -arvojen tyhjään soluryhmään
  3. Lisää nykyiset "brainVolume" -tiedot soluna tyhjään y -arvoon
  4. Tallenna tiedostoon ladatut nykyiset muuttujat.

Vaihe 12: Tietojen kirjaaminen: Aivojen tilavuuden kuvaajan näyttäminen ajan mittaan

Tietojen kirjaaminen: Aivojen tilavuuden kuvaajan näyttäminen ajan mittaan
Tietojen kirjaaminen: Aivojen tilavuuden kuvaajan näyttäminen ajan mittaan
  1. Muunna x -arvotaulukko (xVals) kategoriseksi matriisiksi (xValsCategorical), jotta voit piirtää
  2. Luo kuvaikkuna 5
  3. Piirrä pisteet "xValsCategorical" ja "yVals" (sisältävät aivojen tilavuuden) käyttämällä onttoja ympyröitä osoittamaan pisteitä ja yhdistämään katkoviivoilla
  4. Nimeä juoni seuraavasti: patientName Brain Volume Data
  5. Merkitse x -akseli kuvan osoittamalla tavalla
  6. Merkitse y -akseli kuvan osoittamalla tavalla
  7. Olkoon kuva 5 yhtä suuri kuin lähtö

Tästä syystä funktio potilaan nimi, jota kutsutaan, tuottaa tiedoston, jossa on muokattuja tietoja, jotka seuraavat aivojen tilavuutta ajan mittaan, ja kaavio, joka näyttää trendit.

Vaihe 13: Aukkojen sulkeminen osaosuuksissa: osajoukko. M

Osa -alueiden aukkojen sulkeminen: osajoukko. M
Osa -alueiden aukkojen sulkeminen: osajoukko. M

Toiminto, joka on muokattu osoitteesta https://www.briandalessandro.com, voi sulkea aukot pääkoodin osaotsikoiden välillä, kun luodaan MRI -kuvia ja aivokerroksia näyttävät luvut. Subplotclose.m -sovelluksessa käytetty osaesitystoiminto säätää annettujen osaosien sijainnin sopimaan tiiviisti toisiinsa pidemmän ulottuvuuden suhteen. Jos esimerkiksi koodi on tarkoitettu 7 x 3 -matriisiin, rivit sopivat tiiviisti, koska rivimitta on pidempi. Jos koodi aikoo käyttää 3 x 7 matriisia, sarakkeet sopivat tiiviisti, ja riveissä on aukkoja, kuten pääkoodimme kuvissa näkyy.

Vaihe 14: Pääkoodi: kaikkien tyhjentäminen ja tulojen pyytäminen

Pääkoodi: kaikkien tyhjennys ja tulojen pyytäminen
Pääkoodi: kaikkien tyhjennys ja tulojen pyytäminen

Aloita pääkoodi napsauttamalla samaa painiketta, joka sanoo "Uusi" ikkunan vasemmassa yläkulmassa, ja valitse "Skripti" aiempien osien "Toiminto" sijaan. Kirjoita koodi editorin ikkunan kuvan mukaisesti. Koodirivit suorittavat seuraavat tehtävät järjestyksessä:

  1. Sulje kaikki avoimet tiedostot paitsi 0, 1 ja 2.
  2. Sulje kaikki lukuikkunat.
  3. Tyhjennä kaikki työtilan muuttujat.
  4. Tyhjennä komentoikkuna.
  5. Näyttö komentoikkunassa: Anna seuraavat mitat MRI -skannauksille:
  6. Kysy komentoriviltä uudelta riviltä: Yhden skannauksen pituus millimetreinä:. Käyttäjän antama vastaus on muuttuja "lengthMM".
  7. Kysy uudella rivillä: MRI -skannausten välinen etäisyys millimetreinä:. Käyttäjän antama vastaus asetetaan muuttujaan "ZStacks".

Vaihe 15: Pääkoodi: kuvien eräkäsittely

Pääkoodi: kuvien eräkäsittely
Pääkoodi: kuvien eräkäsittely
Pääkoodi: kuvien eräkäsittely
Pääkoodi: kuvien eräkäsittely

Tässä osassa koodi lataa kuvat (jotka koostuvat aivojen poikkileikkausten MRI -skannauksista) ja tallentaa jokaisen kuvatiedoston nimet muuttujaan "Base" ja näyttää kaikki magneettikuvaukset. Noudata kuvassa olevaa koodia, joka toimii seuraavasti:

  1. Luo rakenteinen taulukko "BrainImages", joka sisältää tiedot kaikista nykyisen kansion tiedostoista, jotka sopivat MRI -nimimuotoon _ (). Png
  2. Aseta muuttuja "NumberofImages" yhtä suureksi kuin elementtien lukumäärä rakenteessa "BrainImages"
  3. Avaa kuvaikkuna 1
  4. Määritä silmukka kierrettäväksi tiedostoon laskettujen kuvien määrän mukaan
  5. Jokaiselle silmukalle "CurrentImage" on kunkin tiedoston nimi MRI_i-p.webp" />
  6. Luo 3 x 7 -osakaavio näyttääksesi 19 kuvaa, jotka "imshow" lataa
  7. Näytä jokainen kuva toisena elementtinä osakaavio -ikkunassa
  8. Nimeä jokainen osajoukkoelementti tasolle_, jossa tyhjä on for -silmukan iterointinumero.
  9. Lopeta for -silmukka (välttäen virhettä)

Tämä näyttää kuvaikkunassa 1 kaikki MRI -skannaukset raakamuodossa 3 x 7 -kokoonpanossa ilman aukkoja x -suunnassa.

Vaihe 16: Pääkoodi: Pehmuste

Pääkoodi: Pehmuste
Pääkoodi: Pehmuste

Pehmusteiden avulla vältämme pieniä eroja kuvakokoissa, jotka voivat aiheuttaa virheitä mittasuhteissa, jos yksi kuva on hieman suurempi kuin toinen.

  1. Avaa kuvaikkuna 2
  2. Lataa kuvamatriisi MRI_1-p.webp" />
  3. Etsi kuvan matriisin koko ja aseta "OriginalXPixels" (rivien lukumäärä) ja "OriginalYPixels" (sarakkeiden lukumäärä)
  4. Määritä BrainMat -matriisi siten, että se koostuu kaikista nollista, joissa on vielä 20 riviä ja 20 saraketta kullekin tasolle, ja yhteensä 19 poikkileikkausta, yksi per taso.
  5. Määritä "HolesMat" siten, että se koostuu samasta kolmiulotteisesta nollaryhmästä reiän koordinaattien syöttämiseksi myöhemmin
  6. Luo "zeroMat" tyynyn kokoiseksi ja kaksikymmentä riviä ja kaksikymmentä saraketta, kaksiulotteinen nollien sarja.

Vaihe 17: Pääkoodi: Rajojen määrittäminen

Pääkoodi: Rajojen määrittäminen
Pääkoodi: Rajojen määrittäminen
Pääkoodi: Rajojen määrittäminen
Pääkoodi: Rajojen määrittäminen
  1. Aseta for -silmukka, joka käy läpi kunkin aiemmin ladatun kuvan tiedot
  2. Samalla tavalla erän käsittelyssä aiemmin "CurrentImage" lataa tiedostoja, joissa on "MRI_i.png", missä i on iterointinumero
  3. Suorita jokainen kuva aiemmin luomasi käsittelytoiminnon "LevelCurveTracings2.m" kautta
  4. Etsi lähdön "Brain" koko, aseta rivien lukumääräksi "Currentrow" ja sarakkeiden lukumääräksi "Currentcolumns"
  5. Aseta "CurrentMat" nollamatriisiksi, jonka mitat ovat "Currentrow" ja "Currentcolumns"
  6. Keskitä "Aivot" -tiedot "CurrentMat" -ohjelmaan 10 rivin marginaalilla joka puolelta
  7. Luo kuvien rajojen näyttämiseksi osa x 3 x 7 osajoukko
  8. Nimeä jokainen osaikkunaelementti kuvaikkunassa
  9. Luo kolmiulotteinen matriisi "BrainMat", joka koostuu jokaisesta rajakerroksesta "CurrentMat"
  10. Lopeta for -silmukka (virheiden välttämiseksi)

Seuraava osa täyttää ehdotetun kolmiulotteisen muodon ylä- ja alareunassa olevat reiät

  1. Aseta "LevelCurve1" yhtä suureksi kuin "BrainMat" ensimmäinen kerros (kiinteän aineen pohja)
  2. Aseta "LevelCurveEnd" yhtä suureksi "BrainMat" viimeisen kerroksen kanssa (kiinteän aineen yläosa)
  3. Korvaa "LevelCurve1" täytetyllä kerroksella
  4. Korvaa "LevelCurveEnd" täytetyllä kerroksella
  5. Aseta täytetty kerros BrainMat -alimmaksi kerrokseksi
  6. Aseta täytetty kerros "BrainMat" -kerroksen yläkerrokseksi

Vaihe 18: Pääkoodi: oikean Z -ulottuvuuden määrittäminen

Pääkoodi: oikean Z -ulottuvuuden määrittäminen
Pääkoodi: oikean Z -ulottuvuuden määrittäminen

Kolme ensimmäistä riviä koostuvat tyhjän matriisin "z" asettamisesta ja yksinkertaisten muunnostoimintojen tekemisestä (pikselien jakaminen pituudella), jotta saadaan oikea tilavuusluku mm^3

  1. Luo for -silmukka jokaisen kerroksen läpi
  2. Etsi tiettyjen kerrosten lukumäärä
  3. Muunna z -koordinaatit arvoiksi, jotka on skaalattu oikeaan suhteeseen, asetettu arvoksi "tempz", sarakevektori
  4. Lisää tasokäyrän z -arvo vektoriin z

Tällä z -koordinaatit säädetään oikein.

Vaihe 19: Pääkoodi: X- ja Y -koordinaattien määrittäminen

Pääkoodi: X- ja Y -koordinaattien määrittäminen
Pääkoodi: X- ja Y -koordinaattien määrittäminen

Määrittele nyt jokaisen rajan pisteen x- ja y -asemat.

  1. Alusta "xBrain" tyhjäksi matriisiksi
  2. Alusta "yBrain" tyhjäksi matriisiksi
  3. Määritä silmukka jokaisen ladatun kuvan läpi
  4. Kokoa kahden sarakkeen matriisi tallentaaksesi kunkin pisteen tasomaiset koordinaatit sidokseen, jota edustavat sarakevektorit "RowBrain" ja "ColumnBrain"
  5. Liitä "xBrain" tällä hetkellä löydettyihin "RowBrain" -koordinaatteihin
  6. Liitä "yBrain" tällä hetkellä löydettyihin "ColumnBrain" -koordinaatteihin
  7. Lopeta for -silmukka (virheiden välttämiseksi)

Vaihe 20: Pääkoodi: Kolmiulotteisen rakenteen piirtäminen, äänenvoimakkuuden etsiminen ja tietojen kerääminen

Pääkoodi: Kolmiulotteisen rakenteen piirtäminen, äänenvoimakkuuden etsiminen ja tietojen kerääminen
Pääkoodi: Kolmiulotteisen rakenteen piirtäminen, äänenvoimakkuuden etsiminen ja tietojen kerääminen
Pääkoodi: Kolmiulotteisen rakenteen piirtäminen, äänenvoimakkuuden etsiminen ja tietojen kerääminen
Pääkoodi: Kolmiulotteisen rakenteen piirtäminen, äänenvoimakkuuden etsiminen ja tietojen kerääminen
Pääkoodi: Kolmiulotteisen rakenteen piirtäminen, äänenvoimakkuuden etsiminen ja tietojen kerääminen
Pääkoodi: Kolmiulotteisen rakenteen piirtäminen, äänenvoimakkuuden etsiminen ja tietojen kerääminen
Pääkoodi: Kolmiulotteisen rakenteen piirtäminen, äänenvoimakkuuden etsiminen ja tietojen kerääminen
Pääkoodi: Kolmiulotteisen rakenteen piirtäminen, äänenvoimakkuuden etsiminen ja tietojen kerääminen

Funktion alphaShape avulla luomme kolmiulotteisen rakenteen, josta voimme laskea aivojen tilavuuden.

  1. Käytä alfaShape -funktiota, liitä vektorit "xBrain", "yBrain" ja "z" x-, y- ja z -koordinaatteihin ja aseta arvoksi "BrainPolyhedron"
  2. Avaa kuvaikkuna 3
  3. Piirrä laskettu alfa -muoto "BrainPolyhedron", joka näkyy kuvaikkunassa
  4. Laske alfa -muodon tilavuus käyttämällä funktiota "volume", joka toimii alfa -muodoissa
  5. Muunna äänenvoimakkuus mm^3: ksi
  6. Tulosta kiintoaineen tilavuus komentoikkunassa
  7. Pyydä potilaan nimeä syötettäväksi
  8. Hae nykyinen päivämäärä ja aika kellon avulla ja aseta "DateandTime"
  9. Soita toimintoon "patientFiles" kirjataksesi ja piirtääksesi lasketut tiedot

Tästä eteenpäin toisessa ja kolmannessa kuvassa pitäisi näkyä esiin tulevat luvut ja neljännessä kuvassa komentoikkunassa näkyvä kuva.

Suositeltava: