INHOUDSOPGAWE:

Breinkas: Volg neurale volume oor tyd: 20 stappe
Breinkas: Volg neurale volume oor tyd: 20 stappe

Video: Breinkas: Volg neurale volume oor tyd: 20 stappe

Video: Breinkas: Volg neurale volume oor tyd: 20 stappe
Video: Die Antwoord - Baita Jou Sabela feat. Slagysta (Official Video) 2024, Julie
Anonim
Breinkas: dop neurale volume oor tyd
Breinkas: dop neurale volume oor tyd

Die opmars na die grens van 'n langer menselewe het die opkoms van siektes na vore gebring wat nie deur die beskawings voor ons gesien is nie. Onder hierdie het Alzheimer in 2017 ongeveer 5,3 miljoen lewende bejaarde Amerikaners geraak, of ongeveer 1 uit 10 bejaarde Amerikaners (https://www.alz.org/facts/) en talle ander met demensie. Om te help in die stryd om te verstaan wat ons ouere manne teister, sal hierdie kode toekomstige navorsers en nuuskieriges toerus met die vermoë om die volume van die brein mettertyd op te spoor.

Stap 1: Gebruik Brain Box

Gebruik Brain Box
Gebruik Brain Box

Om 'n breinkas te gebruik, benodig u slegs die volgende:

  • MRI -skanderings van 'n brein en die naam en formaat van sulke lêers (moet almal ongeveer dieselfde afmetings hê)
  • Lengte van een skandering
  • Afstand tussen elke laag (MRI -skandering)
  • Pasiëntnaam (moenie spasies by die invoer insluit nie, en gebruik hoof- en vannaam in hoofletters, soos volg: Voornaam Achternaam)

En hieruit het u die vermoë om mettertyd tred te hou met die neigings van individue in die breinvolume. Dus kan syfers vir Alzheimer -neigings deur hierdie sagteware opgespoor word. Die lengte wat ons in die proef gebruik het, was 180 mm vir die lengte van een skandering en 5 mm vir die afstand tussen MRI -skanderings, gebaseer op die gemiddelde syfers.

Die toepassing van breinkas hoef egter nie tot hierdie een taak beperk te word nie. As die deursnee van 'n gegewe vaste stof 'n foto is, soos 'n tumor op sigself, kan die neigings in volumeveranderinge ook in die sagteware opgespoor word.

Stap 2: Inleiding: Ontleding van dwarssnitte

Inleiding: Analise van dwarssnitte
Inleiding: Analise van dwarssnitte

In driedimensionele strukture word die tweedimensionele vlakke waaruit sulke bestaan, deursnee genoem. Stel jou voor dat 'n stapel papier 'n reghoekige prisma uitmaak, dan is elke stuk papier 'n deursnit van die papier. By die verbeelding van die brein pas ons dieselfde denkwyse toe. MRI (magnetiese resonansie beelding) (sien inligting oor MRI) vang die dwarssnit van die brein vas, en deur die grense wat in elke 'laag' van die brein verskaf word, te gebruik, kan ons 'n struktuur bou om die volume van die brein te modelleer en te vind. Ons moet egter eers 'n funksie bou om inligting oor sulke grense te verskaf.

Stap 3: Die opstel van 'n funksie: LevelCurveTracings.m

Die opstel van 'n funksie: LevelCurveTracings.m
Die opstel van 'n funksie: LevelCurveTracings.m
Die opstel van 'n funksie: LevelCurveTracings.m
Die opstel van 'n funksie: LevelCurveTracings.m
Die opstel van 'n funksie: LevelCurveTracings.m
Die opstel van 'n funksie: LevelCurveTracings.m
Die opstel van 'n funksie: LevelCurveTracings.m
Die opstel van 'n funksie: LevelCurveTracings.m

Maak eers seker dat u rekenaar MATLAB_R2017b afgelaai het (laai hier af) en maak MATLAB oop. Klik in die MATLAB -koppelvlak op die knoppie in die linker boonste hoek van die venster met die naam "nuut" met 'n vet geel plusteken, en kies die opsie "funksie" om in die redakteurvenster 'n spasie oop te maak wat in die venster lyk. derde prentjie. Ons sal fokus op die verandering van die eerste reël om die funksie op te stel. Waar dit sê "outputArg1", vervang dit met "brain", "outputArg2" om "gate", "untitled2" tot "exp2" en "inputArg1" na "image" te sê, en verwyder "inputArg2". U het nou 'n funksie om genoem te word met behulp van 'exp2', met een argument 'beeld' en die grense van 'brein' en 'gate' uiteengesit word. Die eerste reël van die funksie moet lyk soos die lyn in die vierde prentjie. Vee al die kode onder hierdie aanvanklike reël uit.

Stap 4: Ontwikkel die gebonde algoritme: vind grense

Die ontwikkeling van die gebonde algoritme: vind grense
Die ontwikkeling van die gebonde algoritme: vind grense

Tik die kode soos volg onder die reël in. Hierdie afdeling van die funksie doen die volgende reël vir reël.

  1. Laai die beeld "beeld" in die veranderlike "mri".
  2. Verander "mri" in 'n beeld wat bestaan uit waardes in 'n reeks getalle na eenhede en nulle (aka binariserend) gebaseer op 'n vasgestelde drempelwaarde. As die waarde in 'n pixel gelyk is aan of groter as 0,1, word dit op een gestel, indien nie, word die waarde op die pixel op nul gestel.
  3. Die volgende vier reëls verander 10 kolomme en rye aan die kante van die MRI -skanderinglaag in nulle, om te voorkom dat onbehoorlike waardes as perke geplaas word (soos geleer deur te eksperimenteer met die kode).
  4. In die laaste reël volg bwgrense die grense van die binarized beeld "mri" en stel dit gelyk aan "b", 'n skikking met die elemente waarvan die indekse ooreenstem met die van die grense wat op een gestel is.

Stap 5: Ontwikkel die gebonde algoritme: die opbou van 'n buitenste gebind reeks

Die ontwikkeling van die gebonde algoritme: die opwekking van 'n buitenste gebind reeks
Die ontwikkeling van die gebonde algoritme: die opwekking van 'n buitenste gebind reeks

Volg in die redakteurvenster met die volgende kode op die foto. Hierdie afdeling van die kode doen die volgende reël vir reël.

  1. Vind die lengte van elk van die rye van die binarized beeld "b" (cellfun pas die funksielengte toe op elke ry).
  2. Stel "loc" in om die maksimum lengtes op te slaan.
  3. Vind die indeks van die maksimum lengte, gestoor om op te slaan in "LargestTrace".
  4. Vind die grootte van die beeld "mri", wat uit dieselfde grootte as "b" bestaan, en stel dit op "BWsize".
  5. Vind die aantal rye in die skikking van die prent, gestel op "ysize".
  6. Vind die aantal kolomme in die skikking van die prent, ingestel op "xsize".
  7. Genereer skikking "grootsteTraceMat", 'n "ysize" by "xsize" matriks van nulle.
  8. Soek die ekwivalente indeks uit die onderskrewe waardes wat ooreenstem met waar die grootste Trace x -waardes en y -waardes was, stoor in die vektor "lindex".
  9. In die matriks van nulle, "LargestTraceMat", verander die elemente by die indekse wat ooreenstem met indekswaardes wat as elemente in "lindex" gestoor is, in eenhede.

So het die logiese skikking "grootsteTraceMat" die grootste begrensde gebied van die gegewe breinskandering -deursnit wat as 'n agtergrond van nulle geteken is

Stap 6: Ontwikkel die gebonde algoritme: werk met middelpunt

Die ontwikkeling van die gebonde algoritme: werk met middelpunt
Die ontwikkeling van die gebonde algoritme: werk met middelpunt

Vervolgens moet ons toets of die deursnit uit meer as een gebied (die grootste) bestaan. Deur die belyning van die sentroïde van die grootste streek te toets, kan ons sien of daar een aangrensende gebied is, wat 'n meer gesentreerde sentroïde kan oplewer, of die moontlikheid van meerdere streke.

  1. Gebruik "regionProps" om inligting te vind oor die teenwoordige sentroïede, gelyk aan die struktuurreeks "tempStruct"
  2. Vorm skikking "centroids" met data uit die veld "centroid" vertikaal saamgevoeg
  3. Neem die tweede kolomwaardes van "centroids" (die horisontale afmetings koördinate)
  4. Begin 'n filter om die belyning van die sentroïed na die horisontale middelpunt te kontroleer

Stap 7: Ontwikkel die gebonde algoritme: as 'n sentroïed nie gesentreer is nie

Die ontwikkeling van die gebonde algoritme: as 'n sentroïde nie gesentreer is nie
Die ontwikkeling van die gebonde algoritme: as 'n sentroïde nie gesentreer is nie

In die scenario dat die sentroïde van die grootste spoorgebied nie gesentreer is nie, gaan ons deur die volgende stappe. Soos ons in die MRI -skanderings waargeneem het, was die neiging om hemisfere van die brein in die dwarssnit te laat verskyn as dit nie aaneenlopend was nie, dus gaan ons nou voort om die tweede grootste spoor saam met die grootste spoor in "grootsteTraceMat" te teken

  1. Stel die opgespoorde matriks op 'n nuwe veranderlike "b2"
  2. Initialiseer leë matriks "b2", met 'n stel geïndekseer deur "loc"
  3. Skep 'n voorwaardelike, vir wanneer 'n sentroïde nie gesentreer is nie (dit wil sê 'n veelvoudige streeklaag)
  4. Stel 'n nuwe spoorgrootte in vir elke ry (traceSize2)
  5. Stel "loc2" in om die indekse te vind waar grense voorkom
  6. Laat selle gespesifiseer deur "loc2" in "b2" gelyk wees aan "grootsteTrace2"
  7. Skakel die onderskrifte om in indekse, ingestel op "lindex"
  8. Verander elemente wat ooreenstem met "lindex" in "LargestTraceMat" na 1
  9. Initialiseer leë matriks "b2", met 'n stel geïndekseer deur "loc2"

Stap 8: Ontwikkel die gebonde algoritme: inmenging van gate

Die ontwikkeling van die gebonde algoritme: inmenging van gate
Die ontwikkeling van die gebonde algoritme: inmenging van gate

By die hantering van gate hou die waardes wat in "b2" gestoor is, tred met ander strukture as die grootste spoor, en om dit op 'n gevulde vorm van "grutsteTraceMat" in te teken, sal onthul waar daar gate in die breinstreke is.

  1. Skep 'n skikking "gevulde mat", wat in die vorm van "grootsteTraceMat" is
  2. Skep skikking "interferenceMat", 'n "ysize" deur "xsize" skikking van nulle
  3. Skep skikking "interferenceloc" om die waardes van "b2" op te slaan, vertikaal saamgevoeg
  4. Skep skikking "lindex" om die indekse wat ooreenstem met "interferenceloc" te stoor
  5. Stel vir waarde in "interferenceMat" wat ooreenstem met "lindex" waarde op 1 en maak 'n ander begrensde gebied

Stap 9: Die ontwikkeling van die gebonde algoritme: die opspoor van gate, die afronding van breingrense en gatgrense

Die ontwikkeling van die gebonde algoritme: die opspoor van gate, die afronding van breingrense en gatgrense
Die ontwikkeling van die gebonde algoritme: die opspoor van gate, die afronding van breingrense en gatgrense
  1. Stel skikking "tempMat" gelyk aan "interferenceMat" plus "filledMat", en voeg dus elke waarde in die matriks bymekaar
  2. Stel skikking "holesLoc" gelyk aan die indekse waar beide "interferenceMat" en "filledMat" gelyk is aan een
  3. Stel "holesMat" op as 'n nulmatriks van afmetings "ysize" x "xsize"
  4. Stel indekse in "holesMat" wat gelyk is aan "holesLoc" as een
  5. Stel 'brein' op 'grootsteTraceMat'
  6. Stel "gate" op "holesMat"

Met die bevinding dat die waardes van die bygevoegde matrikse gelyk is aan 2, is die gate maklik vasgemaak en op 'n leë matriks geteken.

Stap 10: Teken data: Funksie PatientFiles.m

Teken data: Funksie PatientFiles.m
Teken data: Funksie PatientFiles.m
Teken data: Funksie PatientFiles.m
Teken data: Funksie PatientFiles.m
Teken data: Funksie PatientFiles.m
Teken data: Funksie PatientFiles.m
Teken data: Funksie PatientFiles.m
Teken data: Funksie PatientFiles.m

Net soos die opstel van die laaste funksie, klik op die knoppie in die linker boonste hoek van die venster met die naam "Nuut" met 'n vet geel plusteken, en kies die opsie "funksie" om 'n spasie in die redakteurvenster oop te maak lyk soos in die derde prentjie. In die eerste reël, verwyder die uitsetmatriks en vervang met slegs "uitvoer", vervang "ontiteld2" met "patientFiles", verwyder alle invoerargumente en volg in plaas daarvan die opmaak wat in die vierde prentjie van die kodereël gespesifiseer is. Die eerste reël van hierdie funksie moet ooreenstem met die opmaak van die prent.

Stap 11: Teken data in lêers aan

Gegee data in lêers
Gegee data in lêers
Gegee data in lêers
Gegee data in lêers

Om 'n lêer op te stel om die data wat deur die hooffunksie gevind word, aan te meld (moet nog beskryf word), moet ons hierdie stappe volg (soos voorgeskryf deur die kode reël-vir-reël).

  1. Kontroleer of die invoer vir patientName 'n string is.
  2. As dit nie 'n string is nie, vertoon dat die pasiëntnaam -invoer 'n string moet wees.
  3. Beëindig die if -stelling (voorkom fout).
  4. Stel 'n stringverklaring "DateandTime" op wat die volgende formaat sal gee: uur: minute-maand/dag/jaar.
  5. Stel veranderlike lêernaam op die volgende: patientName.m.

Nou na die volgende afdeling van die funksie: Bestaan daar al 'n lêer met hierdie naam?

1) Gestel die lêer met hierdie naam bestaan reeds:

  1. Begin die lêer om die waardes uit die verlede in die ry te kry
  2. Voeg die "DateandTime" -data van die huidige iterasie by as 'n nuwe sel in die selreeks van x -waardes (indeks -einde+1)
  3. Voeg die huidige "brainVolume" waarde by as 'n nuwe sel in die selreeks van y waardes (indeks einde+1)
  4. Stoor die huidige veranderlikes wat in die lêer gelaai is.

2) Gestel die lêer met hierdie naam bestaan nie:

  1. Skep 'n nuwe lêer met die naam wat in die veranderlike 'patientName' gestoor is
  2. Voeg die huidige "DateandTime" -data as 'n sel by die leë selreeks met x -waardes
  3. Voeg die huidige "brainVolume" -data as 'n sel by die leë selreeks van y -waardes
  4. Stoor die huidige veranderlikes wat in die lêer gelaai is.

Stap 12: Logboekdata: vertoon 'n stuk breinvolume oor tyd

Logboekdata: vertoon 'n grafiek van breinvolume oor tyd
Logboekdata: vertoon 'n grafiek van breinvolume oor tyd
  1. Skakel die x -waardes -skikking (xVals) om in 'n kategoriese skikking (xValsCategorical) om plotte moontlik te maak
  2. Genereer figuurvenster 5
  3. Teken die punte aangedui deur "xValsCategorical" en "yVals" (wat breinvolume bevat), met behulp van hol sirkels om punte aan te dui en met stippellyne verbind te word
  4. Titel die plot as: patientName Breinvolumegegevens
  5. Benoem die x -as soos in die prentjie getoon
  6. Benoem die y -as soos in die prent getoon
  7. Laat figuur 5 gelyk aan uitset

Hieruit sal die funksie patientName wat genoem word, 'n lêer oplewer met bewerkte data wat die breinvolume mettertyd byhou, en 'n plot met tendense.

Stap 13: Maak gapings in subplotte toe: Subplotclose.m

Maak gapings in subplotte toe: Subplotclose.m
Maak gapings in subplotte toe: Subplotclose.m

Die funksie, aangepas uit die kode van https://www.briandalessandro.com, funksioneer om die gapings tussen die subplotfigure van die hoofkode te sluit wanneer die figure wat die MRI -beelde en die breinlae vertoon, geskep word. Die subplotfunksie wat in subplotclose gebruik word.m pas die posisie van die gegewe subplotte aan om mekaar styf te pas in die aspek van die langer dimensie. Byvoorbeeld, as die kode 'n 7 x 3 -matriks bedoel, pas die rye styf, aangesien die riddimensie langer is. As die kode 'n 3 x 7 -matriks beoog, pas die kolomme styf, met gapings in die rye, soos in die figure van ons hoofkode vertoon.

Stap 14: die hoofkode: alles uitvee en vra vir insette

Die hoofkode: alles uitvee en vra vir insette
Die hoofkode: alles uitvee en vra vir insette

Om die hoofkode te begin, klik op dieselfde knoppie wat "Nuut" in die linker boonste hoek van die venster sê, en kies "Script" in plaas van "Funksie" uit die vorige afdelings. Tik die kode soos op die prentjie in die redakteurvenster. Die reëls kode doen die volgende take in volgorde:

  1. Sluit alle oop lêers behalwe 0, 1 en 2.
  2. Maak alle figuurvensters toe.
  3. Maak alle veranderlikes in die werkruimte skoon.
  4. Maak die opdragvenster skoon.
  5. Vertoon in die opdragvenster: Voer die volgende afmetings in vir die MRI -skanderings:
  6. Vra op 'n nuwe reël in die opdragvenster: Lengte van een skandering in milimeters:. Die antwoord wat die gebruiker ingedien het, sal ingestel word op die veranderlike "lengthMM".
  7. Vra op 'n nuwe reël: Afstand tussen MRI -skanderings in milimeters:. Die reaksie wat die gebruiker ingedien het, sal ingestel word op die veranderlike "ZStacks".

Stap 15: Die hoofkode: bondelverwerking van die beelde

Die hoofkode: bondelverwerking van die beelde
Die hoofkode: bondelverwerking van die beelde
Die hoofkode: bondelverwerking van die beelde
Die hoofkode: bondelverwerking van die beelde

In hierdie afdeling laai die kode die beelde (bestaande uit die MRI -skanderings van die deursnit van die brein) en stoor die name van elke beeldlêer in die veranderlike "Base" en vertoon elkeen van die MRI -skanderings. Volg die kode op die foto, wat die volgende doen:

  1. Skep struktuurskikking "BrainImages" wat inligting bevat oor alle lêers in die huidige vouer wat pas by die naamformaat van MRI _ (). Png
  2. Stel veranderlike "NumberofImages" gelyk aan die aantal elemente in die struktuur array "BrainImages"
  3. Maak figuurvenster 1 oop
  4. Stel 'n for -lus in om deur te loop vir die aantal beelde wat in die lêer getel word
  5. Vir elke lus is "CurrentImage" die onderskeie naam van elke lêer MRI_i.png, met die iterasie nommer as 'i'
  6. Genereer 'n a 3 x 7 subplot om die 19 beelde wat deur "imshow" gelaai moet word, te vertoon
  7. Vertoon elke prent as 'n ander element in die subplot -figuurvenster
  8. Benoem elke subplot -element as Vlak_, waar leeg die iterasiegetal van die for -lus is.
  9. Beëindig die for -lus (vermy fout)

Dit sal in figuurvenster 1 al die MRI -skanderings in rou vorm vertoon in 'n 3 x 7 -opset sonder gapings in die x -oriëntasie.

Stap 16: Die hoofkode: opvulling

Die hoofkode: padding
Die hoofkode: padding

Met opvulling vermy ons die geringe afwykings in die beeldgroottes wat foute kan veroorsaak as die afmetings nie ooreenstem nie, in die geval dat die een prentjie effens groter is as die ander.

  1. Oop figuur venster 2
  2. Laai die beeldmatriks van MRI_1-p.webp" />
  3. Vind die grootte van die prent se matriks en stel dit in "OriginalXPixels" (vir aantal rye) en "OriginalYPixels" (vir aantal kolomme)
  4. Stel die matriks "BrainMat" op om te bestaan uit alle nulle met nog 20 rye en nog 20 kolomme vir elke vlak, en 19 totale deursnee, een per vlak.
  5. Stel 'HolesMat' op om uit dieselfde driedimensionele reeks nulle te bestaan om later koördinate in te voer
  6. Skep "zeroMat" in grootte van die pad plus twintig rye en twintig kolomme, 'n tweedimensionele reeks nulle.

Stap 17: Die hoofkode: Bepaling van grense

Die hoofkode: Bepaling van grense
Die hoofkode: Bepaling van grense
Die hoofkode: Bepaling van grense
Die hoofkode: Bepaling van grense
  1. Stel 'n for -lus in om deur die data van elke prent wat vroeër gelaai is, te gaan
  2. Op dieselfde wyse as vroeë groepverwerking, laai "CurrentImage" lêers met "MRI_i.png", waar i die iterasie nommer is
  3. Begin elke prent deur die verwerkingsfunksie "LevelCurveTracings2.m" wat u vroeër gemaak het
  4. Vind die grootte van die uitvoer "Brein", stel die aantal rye op "Currentrow" en die aantal kolomme na "Current columns"
  5. Stel "CurrentMat" op 'n matriks van nulle met die afmetings gespesifiseer deur "Currentrow" en "Current columns"
  6. Sentreer die data van "Brein" in "CurrentMat", met 'n marge van 10 rye aan alle kante
  7. Genereer 'n subplot van afmetings 3 x 7 om die grense van die beelde te vertoon
  8. Titel elk van die subplot -elemente in die figuurvenster
  9. Genereer driedimensionele matriks "BrainMat" wat bestaan uit elke grenslaag "CurrentMat"
  10. Beëindig die for -lus (om foute te vermy)

Die onderafdeling vul die gate aan die bokant en onderkant van die voorgestelde driedimensionele vorm in

  1. Stel 'LevelCurve1' gelyk aan die eerste laag 'BrainMat' (onderkant van vaste stof)
  2. Stel "LevelCurveEnd" gelyk aan die finale laag van "BrainMat" (bokant van soliede)
  3. Oerskryf "LevelCurve1" met 'n ingevulde laag
  4. Oerskryf "LevelCurveEnd" met 'n ingevulde laag
  5. Stel die ingevulde laag in as die onderste laag van "BrainMat"
  6. Stel die ingevulde laag as die boonste laag van "BrainMat"

Stap 18: Die hoofkode: Bepaling van die korrekte Z -dimensie

Die hoofkode: Bepaling van die regte Z -dimensie
Die hoofkode: Bepaling van die regte Z -dimensie

Die eerste drie reëls bestaan uit die opstel van 'n leë skikking "z", en eenvoudige omskakelingsbewerkings (verdeel pixels deur lengte) om 'n behoorlike meting van volume in mm^3 te kry

  1. Skep 'n for -lus om deur elke laag te blaai
  2. Vind die aantal in 'n gegewe laag
  3. Skakel die z -koördinate vir die ene om in waardes wat na die regte verhouding geskaal word, ingestel op "tempz", 'n kolomvektor
  4. Voeg z -waarde vir die vlakkromme by die vektor z

Hiermee word z -koördinate behoorlik aangepas.

Stap 19: Die Hoofkode: Bepaling van X- en Y -koördinate

Die Hoofkode: Bepaling van X- en Y -koördinate
Die Hoofkode: Bepaling van X- en Y -koördinate

Nou om die x- en y -posisies van elk van die punte in die grense te bepaal.

  1. Initialiseer "xBrain" as 'n leë skikking
  2. Begin "yBrain" as 'n leë skikking
  3. Stel 'n for -lus op om deur elke gelaaide prent te loop
  4. Stel 'n matriks van twee kolomme saam om die vlak koördinate van elke punt in die grens op te slaan, voorgestel deur die kolomvektore "RowBrain" en "ColumnBrain"
  5. Voeg 'xBrain' by met die koördinate wat tans 'RowBrain' gevind word
  6. Voeg "yBrain" by met die koördinate van die "ColumnBrain" wat tans gevind word
  7. Beëindig die for -lus (om foute te vermy)

Stap 20: Die hoofkode: 'n driedimensionele struktuur opstel, volume vind en logboekdata vind

Die hoofkode: 'n driedimensionele struktuur opstel, volume vind en logdata vind
Die hoofkode: 'n driedimensionele struktuur opstel, volume vind en logdata vind
Die hoofkode: 'n driedimensionele struktuur opstel, volume vind en logdata vind
Die hoofkode: 'n driedimensionele struktuur opstel, volume vind en logdata vind
Die hoofkode: 'n driedimensionele struktuur opstel, volume vind en logdata vind
Die hoofkode: 'n driedimensionele struktuur opstel, volume vind en logdata vind
Die hoofkode: 'n driedimensionele struktuur opstel, volume vind en logdata vind
Die hoofkode: 'n driedimensionele struktuur opstel, volume vind en logdata vind

Deur die funksie alphaShape te gebruik, sal ons 'n driedimensionele struktuur skep waaruit ons die volume van die brein kan bereken.

  1. Gebruik funksie alphaShape, steek die vektore "xBrain", "yBrain" en "z" in vir die x-, y- en z -koördinate en stel gelyk aan "BrainPolyhedron"
  2. Oop figuur venster 3
  3. Teken die berekende alfa -vorm "BrainPolyhedron", vertoon in die figuurvenster
  4. Bereken die volume van die alfa -vorm met behulp van 'n funksie "volume" wat vir alfa -vorms werk
  5. Skakel die volume om na mm^3
  6. Druk die volume van die vaste stof in die opdragvenster af
  7. Vra dat 'n pasiëntnaam as invoer ingestel moet word
  8. Kry die huidige datum en tyd met die klok en stel dit in op "DateandTime"
  9. Bel funksie "patientFiles" om die berekende data aan te teken en te teken

Van hier af moet die tweede en derde prentjie die figure wys wat verskyn, en die vierde prentjie wat in die opdragvenster vertoon moet word.

Aanbeveel: