Cuprins:

Brain Box: Urmărirea volumului neuronal în timp: 20 de pași
Brain Box: Urmărirea volumului neuronal în timp: 20 de pași

Video: Brain Box: Urmărirea volumului neuronal în timp: 20 de pași

Video: Brain Box: Urmărirea volumului neuronal în timp: 20 de pași
Video: How to Save Your Muscles From Aging 2024, Iulie
Anonim
Brain Box: Urmărirea volumului neuronal în timp
Brain Box: Urmărirea volumului neuronal în timp

Avansul către frontiera vieții umane mai lungi a adus apariția bolilor nevăzute de civilizații înaintea noastră. Dintre acestea, Alzheimer a afectat aproximativ 5,3 milioane de americani în vârstă vii în 2017 sau aproximativ 1 din 10 americani în vârstă (https://www.alz.org/facts/) și nenumărate alte persoane cu demență. Pentru a ajuta la lupta pentru a înțelege ce afectează bătrânii noștri, acest cod îi va dota pe viitorii cercetători și dornici de curioși cu capacitatea de a urmări volumul creierului în timp.

Pasul 1: Utilizarea Brain Box

Folosind Brain Box
Folosind Brain Box

Pentru a utiliza cutia creierului, este nevoie doar de următoarele:

  • Scanări RMN ale unui creier și numele și formatul acestor fișiere (toate ar trebui să aibă aproximativ aceleași dimensiuni)
  • Lungimea unei scanări
  • Distanța dintre fiecare strat (scanare RMN)
  • Nume pacient (la introducere, nu includeți spații și vă rugăm să scrieți cu majuscule prenumele și prenumele, cum ar fi: prenume prenume)

Și din aceasta, cineva are capacitatea de a urmări tendințele individuale în ceea ce privește volumul creierului în timp. Astfel, cifrele tendințelor Alzheimer pot fi urmărite de acest software. Lungimea pe care am folosit-o în studiu a fost de 180 mm pentru lungimea unei scanări și de 5 mm pentru distanța dintre scanările RMN, pe baza cifrelor medii.

Cu toate acestea, aplicarea cutiei cerebrale nu trebuie să fie limitată la această sarcină. Dacă secțiunile transversale ale unui solid dat sunt fotografiate, ca o tumoare în sine, tendințele schimbărilor de volum pentru acestea pot fi, de asemenea, urmărite în software.

Pasul 2: Introducere: Analizarea secțiunilor transversale

Introducere: Analizarea secțiunilor transversale
Introducere: Analizarea secțiunilor transversale

În structuri tridimensionale, planurile bidimensionale din care constau astfel s-ar numi secțiuni transversale. Imaginați-vă că un teanc de hârtii alcătuiesc o prismă dreptunghiulară, apoi fiecare bucată de hârtie ar fi o secțiune transversală a hârtiei. Imaginând creierul, aplicăm același curs de gândire. RMN (imagistica prin rezonanță magnetică) (vezi informații despre RMN) surprinde secțiunile transversale ale creierului și, folosind limitele definite în fiecare „strat” al creierului furnizat, putem construi o structură pentru a modela și găsi volumul creierului. Cu toate acestea, trebuie să construim mai întâi o funcție care să ofere informații despre astfel de limite.

Pasul 3: Configurarea unei funcții: LevelCurveTracings.m

Configurarea unei funcții: LevelCurveTracings.m
Configurarea unei funcții: LevelCurveTracings.m
Configurarea unei funcții: LevelCurveTracings.m
Configurarea unei funcții: LevelCurveTracings.m
Configurarea unei funcții: LevelCurveTracings.m
Configurarea unei funcții: LevelCurveTracings.m
Configurarea unei funcții: LevelCurveTracings.m
Configurarea unei funcții: LevelCurveTracings.m

Mai întâi, asigurați-vă că computerul dvs. a descărcat MATLAB_R2017b (descărcați aici) și deschideți MATLAB. În interfața MATLAB, faceți clic pe butonul din colțul din stânga sus al ferestrei pe care scrie „Nou” cu un semn galben îngroșat plus și selectați opțiunea „funcție”, pentru a deschide în fereastra editorului un spațiu care seamănă cu cel din a treia poză. Ne vom concentra pe schimbarea primei linii pentru a configura funcția. Unde scrie „outputArg1”, înlocuiți-l cu „brain”, „outputArg2” pentru a spune „găuri”, „untitled2” la „exp2” și „inputArg1” la „imagine” și ștergeți „inputArg2”. Acum aveți o funcție care poate fi numită folosind „exp2”, luând un argument „imagine” și scoțând limitele „creierului” și „găurilor”. Prima linie a funcției ar trebui să semene cu linia descrisă în a patra imagine. Ștergeți tot codul de sub această linie inițială.

Pasul 4: Dezvoltarea algoritmului Bound: Găsirea Bounds

Dezvoltarea algoritmului Bound: Găsirea Bounds
Dezvoltarea algoritmului Bound: Găsirea Bounds

Introduceți codul după cum urmează sub linie. Această secțiune a funcției face următoarea linie cu linie.

  1. Încărcați imaginea „imagine” în variabila „mri”.
  2. Transformați „mri” într-o imagine formată din valori dintr-o gamă de numere la unii și zerouri (aliasă binarizare) pe baza unei valori prag setate. Dacă valoarea unui pixel este egală sau mai mare de 0,1, este setată la unu, dacă nu, valoarea la acel pixel este setată la zero.
  3. Următoarele patru rânduri transformă 10 coloane și rânduri la marginile stratului de scanare RMN în zerouri, pentru a evita citirea valorilor necorespunzătoare ca făcând limite (așa cum s-a învățat din experimentarea cu codul).
  4. În linia finală, bwboundaries urmărește limitele imaginii binarizate „mri” și o setează egală cu „b”, o matrice cu elementele ale căror indici corespund cu cele ale limitelor setate la unu.

Pasul 5: Dezvoltarea algoritmului legat: generarea matricei externe legate

Dezvoltarea algoritmului legat: generarea matricei externe legate
Dezvoltarea algoritmului legat: generarea matricei externe legate

Urmăriți în fereastra editorului cu următorul cod în imagine. Această secțiune a codului face următoarea linie cu linie.

  1. Găsiți lungimea fiecăruia dintre rândurile imaginii binarizate „b” (cellfun aplică lungimea funcției fiecărui rând).
  2. Setați „loc” pentru a stoca lungimile maxime.
  3. Găsiți indexul lungimii maxime, setat pentru a stoca în „cea mai mareTrace”.
  4. Găsiți dimensiunea imaginii „mri”, care constă în aceeași dimensiune ca „b” și setați la „BWsize”.
  5. Găsiți numărul de rânduri din matricea imaginii, setat la „ysize”.
  6. Găsiți numărul de coloane din matricea imaginii, setat la „xsize”.
  7. Generați matricea „largestTraceMat”, o matrice „zero” de „ysize” prin „xsize”.
  8. Găsiți indexul echivalent din valorile subscrise care corespund unde au fost cele mai mari valori Trace x și valorile y, stocați în vectorul "lindex".
  9. În matricea de zerouri, "largestTraceMat", transformați elementele de la indici care corespund valorilor indexului stocate ca elemente în "lindex" în unele.

Astfel, matricea logică "largestTraceMat" are cea mai mare regiune mărginită a secțiunii transversale date de scanare a creierului reprezentată ca cele cu un fundal de zerouri

Pasul 6: Dezvoltarea algoritmului legat: lucrul cu punctul central

Dezvoltarea algoritmului legat: lucrul cu punctul central
Dezvoltarea algoritmului legat: lucrul cu punctul central

Apoi, trebuie să testăm pentru a vedea dacă secțiunea transversală constă din mai multe regiuni (cea mai mare). Testând alinierea centrului cel mai mare al regiunii, putem vedea dacă există o regiune contiguă, care ar produce un centroid mai centrat, sau posibilitatea unor regiuni multiple.

  1. Utilizați „regionProps” pentru a găsi informații despre centrozele prezente, setate egală cu matricea de structuri „tempStruct”
  2. Formați matricea „centroizi” cu date din câmpul „centroid” concatenat vertical
  3. Luați valorile celei de-a doua coloane a "centroizilor" (coordonatele dimensiunii orizontale)
  4. Rulați un filtru pentru a verifica alinierea centrului la centrul orizontal

Pasul 7: Dezvoltarea algoritmului legat: atunci când un Centroid nu este centrat

Dezvoltarea algoritmului legat: atunci când un Centroid nu este centrat
Dezvoltarea algoritmului legat: atunci când un Centroid nu este centrat

În scenariul în care centroidul celei mai mari regiuni de urmărire nu este centrat, parcurgem pașii următori. Așa cum am observat în scanările RMN, tendința a fost să fie prezentate emisfere ale creierului în secțiune transversală atunci când nu sunt adiacente, așa că acum continuăm să trasăm a doua cea mai mare urmă, împreună cu cea mai mare urmă din „cea mai mareTraceMat”.

  1. Setați matricea trasată la o nouă variabilă „b2”
  2. Inițializați matricea goală "b2", cu un set indexat cu "loc"
  3. Creați un condiționat, atunci când un centroid nu este centrat (adică un strat cu mai multe regiuni)
  4. Setați o nouă dimensiune de urmărire pentru fiecare rând (traceSize2)
  5. Setați „loc2” pentru a găsi indicii în care sunt prezente limite
  6. Fie celulele specificate de „loc2” în „b2” să fie egale cu „cea mai mareTrace2”
  7. Convertiți indicii în indici, setați la „lindex”
  8. Schimbați elementele corespunzătoare „lindex” din „largestTraceMat” la 1
  9. Inițializați matricea goală "b2", cu un set indexat cu "loc2"

Pasul 8: Dezvoltarea algoritmului legat: interferența găurilor

Dezvoltarea algoritmului legat: interferența găurilor
Dezvoltarea algoritmului legat: interferența găurilor

În tratarea găurilor, valorile stocate în „b2” țineau evidența altor structuri decât cea mai mare urmă și trasarea acestora pe o formă plină de „cea mai mareTraceMat” va dezvălui unde există găuri în regiunile creierului.

  1. Creați matricea „umplutMat”, care este un formular completat „cel mai mareTraceMat”
  2. Creați matricea „interferenceMat”, o matrice „ysize” prin „xsize” de zerouri
  3. Creați matricea „interferenceloc”, pentru a stoca valorile din „b2”, concatenate vertical
  4. Creați matricea „lindex” pentru a stoca indicii care corespund „interferenceloc”
  5. Pentru indicii din „interferenceMat” care corespund „lindex”, setați valoarea la 1, făcând o altă regiune mărginită

Pasul 9: Dezvoltarea algoritmului legat: localizarea găurilor, finalizarea limitelor creierului și limitelor găurilor

Dezvoltarea algoritmului legat: localizarea găurilor, finalizarea limitelor creierului și limitelor găurilor
Dezvoltarea algoritmului legat: localizarea găurilor, finalizarea limitelor creierului și limitelor găurilor
  1. Setați matricea "tempMat" egală cu "interferenceMat" plus "filledMat", adăugând astfel fiecare valoare din matrice una la cealaltă
  2. Setați matricea "găuriLoc" egală cu indicii în care "interferențăMat" și "umplutMat" ambele au fost egale cu unul
  3. Configurați „holesMat” ca matrice zero a dimensiunilor „ysize” x „xsize”
  4. Setați indicii în „găuriMat” care sunt egale cu „găuriLoc” ca și altele
  5. Setați „creier” la „cel mai mareTraceMat”
  6. Setați „găuri” la „găuriMat”

Cu constatarea în care valorile matricilor adăugate erau egale cu 2, locațiile găurilor au fost ușor securizate și trasate pe o matrice goală.

Pasul 10: Înregistrarea datelor: Funcția PatientFiles.m

Înregistrarea datelor: Funcția PatientFiles.m
Înregistrarea datelor: Funcția PatientFiles.m
Înregistrarea datelor: Funcția PatientFiles.m
Înregistrarea datelor: Funcția PatientFiles.m
Înregistrarea datelor: Funcția PatientFiles.m
Înregistrarea datelor: Funcția PatientFiles.m
Înregistrarea datelor: Funcția PatientFiles.m
Înregistrarea datelor: Funcția PatientFiles.m

La fel ca configurarea ultimei funcții, faceți clic pe butonul din colțul din stânga sus al ferestrei pe care scrie „Nou” cu un semn galben îngroșat plus și selectați opțiunea „funcție”, pentru a deschide în fereastra editorului un spațiu care seamănă cu cel din a treia imagine. În prima linie, ștergeți matricea de ieșire și înlocuiți cu doar „ieșire”, înlocuiți „untitled2” cu „pacientFile”, ștergeți toate argumentele de intrare și urmați în schimb formatarea specificată în a patra imagine a liniei de cod. Prima linie a acestei funcții ar trebui să se potrivească cu formatarea imaginii.

Pasul 11: Conectarea datelor în fișiere

Înregistrarea datelor în fișiere
Înregistrarea datelor în fișiere
Înregistrarea datelor în fișiere
Înregistrarea datelor în fișiere

Pentru a configura un fișier pentru a înregistra datele găsite de funcția principală (încă de descris), trebuie să urmăm acești pași (așa cum este prescris de codul rând cu rând).

  1. Verificați dacă intrarea pentru pacientNume este un șir.
  2. Dacă nu este un șir, afișați că intrarea pacientName ar trebui să fie un șir.
  3. Încheiați instrucțiunea if (preveniți eroarea).
  4. Configurați o declarație șir „DateandTime” care va da următorul format: ora: minute - lună / zi / an.
  5. Setați variabila fileName la următorul: pacientName.m.

Acum la următoarea secțiune a funcției: Există deja un fișier cu acest nume?

1) Să presupunem că fișierul cu acest nume există deja:

  1. Rulați fișierul pentru a obține valorile din trecut în coadă
  2. Adăugați datele „DateandTime” ale iterației curente ca o celulă nouă în matricea de celule cu valori x (sfârșitul indexului + 1)
  3. Adăugați valoarea curentă "brainVolume" ca o celulă nouă în matricea de celule cu valori y (sfârșitul indexului + 1)
  4. Salvați variabilele curente încărcate în fișier.

2) Să presupunem că fișierul cu acest nume nu există:

  1. Creați un fișier nou cu numele stocat în variabila „pacientName”
  2. Adăugați datele curente „DateandTime” ca celulă în matricea de celule goale de valori x
  3. Adăugați datele curente „brainVolume” ca celulă în matricea de celule goale cu valori y
  4. Salvați variabilele curente încărcate în fișier.

Pasul 12: Înregistrarea datelor: Afișarea unui grafic de volum al creierului în timp

Înregistrarea datelor: Afișarea unui grafic de volum al creierului în timp
Înregistrarea datelor: Afișarea unui grafic de volum al creierului în timp
  1. Conversia matricei de valori x (xVals) într-o matrice categorică (xValsCategorical), pentru a permite graficarea
  2. Generați fereastra de cifre 5
  3. Trasați punctele desemnate prin „xValsCategorical” și „yVals” (care conțin volumul creierului), folosind cercuri goale pentru a indica puncte și pentru a fi conectate prin linii punctate.
  4. Denumiți complotul ca: pacientNume Brain Volume Data
  5. Etichetați axa x așa cum se arată în imagine
  6. Etichetați axa y așa cum se arată în imagine
  7. Fie figura 5 egală cu ieșirea

Din aceasta, funcția patientName care este apelată va produce un fișier cu date editate care ține evidența volumului creierului în timp și un grafic care afișează tendințele.

Pasul 13: Închiderea golurilor din subploturi: Subplotclose.m

Închiderea golurilor din subploturi: Subplotclose.m
Închiderea golurilor din subploturi: Subplotclose.m

Funcția, adaptată din codul de pe https://www.briandalessandro.com, funcționează pentru a închide golurile dintre figurile subplotului codului principal, atunci când sunt create figurile care afișează imaginile RMN și straturile creierului. Funcția subplot utilizată în subplotclose.m reglează poziția subploturilor date pentru a se potrivi strâns una cu cealaltă în aspectul dimensiunii mai lungi. De exemplu, dacă codul intenționează o matrice de 7 x 3, rândurile se vor potrivi perfect, deoarece dimensiunea rândului este mai lungă. Dacă codul intenționează o matrice 3 x 7, coloanele se vor potrivi perfect, cu goluri în rânduri, așa cum este afișat în figurile codului nostru principal.

Pasul 14: Codul principal: ștergerea tuturor și solicitarea intrărilor

Codul principal: ștergerea tuturor și solicitarea intrărilor
Codul principal: ștergerea tuturor și solicitarea intrărilor

Pentru a porni codul principal, faceți clic pe același buton care spune „Nou” în colțul din stânga sus al ferestrei și selectați „Script” în loc de „Funcție” din secțiunile anterioare. Tastați codul așa cum se arată în imagine în fereastra editorului. Liniile de cod realizează următoarele sarcini în ordine:

  1. Închideți toate fișierele deschise, cu excepția 0, 1 și 2.
  2. Închideți toate ferestrele cu figuri.
  3. Ștergeți toate variabilele din spațiul de lucru.
  4. Ștergeți fereastra de comandă.
  5. Afișați în fereastra de comandă: Vă rugăm să introduceți următoarele dimensiuni pentru scanările RMN:
  6. Pe o nouă linie din fereastra de comandă, întrebați: Lungimea unei scanări în milimetri:. Răspunsul introdus de utilizator va fi setat la variabila „lengthMM”.
  7. Pe o nouă linie, întrebați: Distanța dintre scanările RMN în milimetri:. Răspunsul introdus de utilizator va fi setat la variabila „ZStacks”.

Pasul 15: Codul principal: Prelucrarea în lot a imaginilor

Codul principal: Prelucrarea în lot a imaginilor
Codul principal: Prelucrarea în lot a imaginilor
Codul principal: Prelucrarea în serie a imaginilor
Codul principal: Prelucrarea în serie a imaginilor

În această secțiune, codul va încărca imaginile (constând din scanările RMN ale secțiunilor transversale ale creierului) și va stoca numele fiecărui fișier imagine în variabila „Baza” și va afișa fiecare scanare RMN. Vă rugăm să urmați codul din imagine, care face următoarele:

  1. Creați o matrice de structuri „BrainImages” care conține informații despre toate fișierele din folderul curent care se potrivesc formatului de nume al RMN _ (). Png
  2. Setați variabila „NumberofImages” egală cu numărul de elemente din matricea de structuri „BrainImages”
  3. Deschideți fereastra figurii 1
  4. Setați o buclă pentru ciclu pentru numărul de imagini numărate în fișier
  5. Pentru fiecare buclă, „CurrentImage” este numele respectiv al fiecărui fișier MRI_i.png, cu numărul de iterație ca „i”
  6. Generați subplotul a 3 x 7 pentru a afișa cele 19 imagini care vor fi încărcate de „imshow”
  7. Afișați fiecare imagine ca un alt element în fereastra figurii subplot
  8. Denumiți fiecare subplot element ca Level_, unde gol este numărul de iterație al buclei for.
  9. Încheiați bucla for (evitând erorile)

Aceasta va afișa în fereastra 1 a tuturor scanărilor RMN sub formă brută într-o configurație 3 x 7 fără goluri în orientarea x.

Pasul 16: Codul principal: Garnitura

Codul principal: Garnitura
Codul principal: Garnitura

Cu căptușeala, evităm apariția unor discrepanțe ușoare în dimensiunile imaginii, care pot produce erori pentru nepotrivirea dimensiunilor în cazul în care o imagine este puțin mai mare decât alta.

  1. Deschideți fereastra cu cifre 2
  2. Încărcați matricea de imagine de la MRI_1-p.webp" />
  3. Găsiți dimensiunea matricei imaginii și setați la „OriginalXPixels” (pentru numărul de rânduri) și „OriginalYPixels” (pentru numărul de coloane)
  4. Configurați matricea „BrainMat” pentru a consta din toate zerourile cu încă 20 de rânduri și încă 20 de coloane pentru fiecare plan și 19 secțiuni transversale totale, câte unul pe plan.
  5. Configurați „HolesMat” pentru a consta din aceeași matrice tridimensională de zerouri pentru a introduce ulterior coordonatele găurilor
  6. Creați „zeroMat” pentru a avea dimensiunea pad-ului plus douăzeci de rânduri și douăzeci de coloane, o matrice bidimensională de zerouri.

Pasul 17: Codul principal: Determinarea limitelor

Codul principal: determinarea limitelor
Codul principal: determinarea limitelor
Codul principal: determinarea limitelor
Codul principal: determinarea limitelor
  1. Setați o buclă for pentru a parcurge datele din fiecare imagine încărcată anterior
  2. În același mod de procesare batch mai devreme, „CurrentImage” încarcă fișierele cu „MRI_i.png”, unde i este numărul de iterație
  3. Rulați fiecare imagine prin funcția de procesare „LevelCurveTracings2.m” pe care ați realizat-o mai devreme
  4. Găsiți dimensiunea rezultatului „Brain”, setați numărul de rânduri la „Currentrow” și numărul de coloane la „Currentcolumns”
  5. Setați „CurrentMat” la o matrice de zerouri cu dimensiunile specificate de „Currentrow” și „Currentcolumns”
  6. Centrați datele din „Brain” în „CurrentMat”, cu o marjă de 10 rânduri pe toate părțile
  7. Generați un subplot de dimensiuni 3 x 7, pentru a afișa limitele imaginilor
  8. Titlați fiecare dintre elementele subplot din fereastra figurii
  9. Generați o matrice tridimensională "BrainMat" compusă din fiecare strat de limite "CurrentMat"
  10. Încheiați bucla for (pentru evitarea erorilor)

Subsecțiunea următoare completează găurile lăsate în partea de sus și de jos a formei tridimensionale propuse

  1. Setați „LevelCurve1” egal cu primul strat din „BrainMat” (partea de jos a solidului)
  2. Setați „LevelCurveEnd” egal cu stratul final al „BrainMat” (partea superioară a solidului)
  3. Suprascrieți „LevelCurve1” cu un strat completat
  4. Suprascrieți „LevelCurveEnd” cu un strat completat
  5. Setați stratul completat ca strat inferior al „BrainMat”
  6. Setați stratul completat ca strat superior al „BrainMat”

Pasul 18: Codul principal: Determinarea dimensiunii Z corespunzătoare

Codul principal: Determinarea dimensiunii Z corespunzătoare
Codul principal: Determinarea dimensiunii Z corespunzătoare

Primele trei linii constau în configurarea unei matrice goale „z” și efectuarea de operații simple de conversie (împărțiți pixelii la lungime) pentru a obține o citire corectă a volumului în mm ^ 3

  1. Creați o buclă for pentru a parcurge fiecare strat
  2. Găsiți numărul celor dintr-un strat dat
  3. Convertiți coordonatele z pentru cele în valori care sunt scalate la raportul adecvat, setat la "tempz", un vector coloană
  4. Adăugați valoarea z pentru curba de nivel vectorului z

Cu aceasta coordonatele z sunt ajustate corect.

Pasul 19: Codul principal: Determinarea coordonatelor X și Y

Codul principal: Determinarea coordonatelor X și Y
Codul principal: Determinarea coordonatelor X și Y

Acum, pentru a determina pozițiile x și y ale fiecăruia dintre punctele din limite.

  1. Inițializați „xBrain” ca matrice goală
  2. Inițializați „yBrain” ca matrice goală
  3. Configurați o buclă pentru buclă prin fiecare imagine încărcată
  4. Compilați o matrice cu două coloane pentru a stoca coordonatele planare ale fiecărui punct din limit, reprezentate de vectorii de coloană "RowBrain" și "ColumnBrain"
  5. Adăugați „xBrain” cu coordonatele „RowBrain” găsite în prezent
  6. Adăugați „yBrain” cu coordonatele „ColumnBrain” găsite în prezent
  7. Încheiați bucla for (pentru a evita erorile)

Pasul 20: Codul principal: trasarea unei structuri tridimensionale, găsirea volumului și înregistrarea datelor

Codul principal: trasarea unei structuri tridimensionale, găsirea volumului și înregistrarea datelor
Codul principal: trasarea unei structuri tridimensionale, găsirea volumului și înregistrarea datelor
Codul principal: trasarea unei structuri tridimensionale, găsirea volumului și înregistrarea datelor
Codul principal: trasarea unei structuri tridimensionale, găsirea volumului și înregistrarea datelor
Codul principal: trasarea unei structuri tridimensionale, găsirea volumului și înregistrarea datelor
Codul principal: trasarea unei structuri tridimensionale, găsirea volumului și înregistrarea datelor
Codul principal: trasarea unei structuri tridimensionale, găsirea volumului și înregistrarea datelor
Codul principal: trasarea unei structuri tridimensionale, găsirea volumului și înregistrarea datelor

Folosind funcția alphaShape, vom crea o structură tridimensională din care putem calcula volumul creierului.

  1. Utilizați funcția alphaShape, conectați vectorii "xBrain", "yBrain" și "z" pentru coordonatele x, y și z și setați egal cu "BrainPolyhedron"
  2. Deschideți fereastra cu cifre 3
  3. Trasați forma alfa calculată „BrainPolyhedron”, afișată în fereastra figurii
  4. Calculați volumul formei alfa, utilizând o funcție „volum” care funcționează pentru formele alfa
  5. Convertiți volumul în mm ^ 3
  6. Imprimați volumul solidului în fereastra de comandă
  7. Solicitați ca numele unui pacient să fie setat ca intrare
  8. Obțineți data și ora curente cu ceasul și setați la „DateandTime”
  9. Apelați funcția „patientFiles” pentru a înregistra și calcula datele calculate

De aici, a doua și a treia imagine ar trebui să prezinte figurile care apar, iar a patra imagine a celor care ar trebui afișate în fereastra de comandă.

Recomandat: