Мазмуну:

Мээ кутуча: убакыттын өтүшү менен нейрон көлөмүн көзөмөлдөө: 20 кадам
Мээ кутуча: убакыттын өтүшү менен нейрон көлөмүн көзөмөлдөө: 20 кадам

Video: Мээ кутуча: убакыттын өтүшү менен нейрон көлөмүн көзөмөлдөө: 20 кадам

Video: Мээ кутуча: убакыттын өтүшү менен нейрон көлөмүн көзөмөлдөө: 20 кадам
Video: Сиздин мээңиз кандай иштейт👀??? Логикалык суроолор🤪!!! 2024, Июль
Anonim
Мээ кутуча: Убакыттын өтүшү менен нейрон көлөмүн көзөмөлдөө
Мээ кутуча: Убакыттын өтүшү менен нейрон көлөмүн көзөмөлдөө

Узунураак адам өмүрүнүн чегине карай жылуу цивилизациялар биздикине чейин көрбөгөн оорулардын пайда болушуна алып келди. Булардын ичинен Альцгеймер 2017 -жылы болжол менен 5.3 миллион жашаган улгайган америкалыктарга, же болжол менен 1ден 10 улгайган америкалыкка (https://www.alz.org/facts/) жана башка көптөгөн башка кем акылдыгы менен жабыркаган. Аксакалдарыбыздын эмне азап чегип жатканын түшүнүү үчүн күрөшүүгө жардам берүү үчүн, бул код келечектеги изилдөөчүлөрдү жабдып, убакыттын өтүшү менен мээнин көлөмүн көзөмөлдөөгө жөндөмдүү.

1 -кадам: Brain Boxту колдонуу

Мээ кутусун колдонуу
Мээ кутусун колдонуу

Мээ кутусун колдонуу үчүн бирөө төмөнкүлөрдү талап кылат:

  • MRI сканерлери жана мындай файлдардын аталышы жана форматы (бардыгы болжол менен бирдей өлчөмдө болушу керек)
  • Бир сканердин узактыгы
  • Ар бир катмардын ортосундагы аралык (MRI сканерлөө)
  • Бейтаптын аты (Киргизүүдө боштуктарды камтыбаңыз жана атын жана фамилиясын баш тамга менен жазыңыз, мисалы: Аты -жөнү)

Жана ушундан улам, убакыттын өтүшү менен мээнин көлөмүнүн жеке тенденцияларын көзөмөлдөө мүмкүнчүлүгү бар. Ошентип, Альцгеймердин тенденцияларынын көрсөткүчтөрүн бул программа көзөмөлдөп турат. Биз сыноодо колдонгон узундук бир сканердин узундугу үчүн 180 мм жана MRI сканерлеринин ортосундагы аралык үчүн орточо көрсөткүчтөргө негизделген.

Бирок, мээ кутусунун колдонулушу бул бир гана иш менен чектелбеши керек. Эгерде берилген катуу нерсенин кесилиштери өзүнчө шишик сыяктуу сүрөт болсо, анда алардын көлөмүнүн өзгөрүүсүнүн тенденциясын программалык камсыздоодо да байкоого болот.

2 -кадам: Киришүү: кесилиштерди талдоо

Киришүү: кесилиштерди талдоо
Киришүү: кесилиштерди талдоо

Үч өлчөмдүү түзүлүштөрдө мындай эки өлчөмдүү тегиздиктер кесилиштер деп аталат. Элестетсеңиз, бир кагаз кагазы тик бурчтуу призманы түзөт, анда ар бир кагаз кагаздын кесилиши болмок. Мээни элестетүүдө биз дагы ошол эле ой жүгүртүүнү колдонобуз. MRI (магниттик -резонанстык томография) (MRI боюнча маалыматты караңыз) мээнин кесилиштерин басып алат жана мээнин ар бир "катмарында" аныкталган чектерди колдонуу менен биз мээнин көлөмүн моделдөө жана табуу үчүн структура кура алабыз.. Биз биринчи кезекте мындай чек аралар боюнча маалымат берүү үчүн функция түзүшүбүз керек.

3 -кадам: Функцияны орнотуу: LevelCurveTracings.m

Функцияны орнотуу: LevelCurveTracings.m
Функцияны орнотуу: LevelCurveTracings.m
Функцияны орнотуу: LevelCurveTracings.m
Функцияны орнотуу: LevelCurveTracings.m
Функцияны орнотуу: LevelCurveTracings.m
Функцияны орнотуу: LevelCurveTracings.m
Функцияны орнотуу: LevelCurveTracings.m
Функцияны орнотуу: LevelCurveTracings.m

Биринчиден, компьютериңизде MATLAB_R2017b жүктөлүп алынганын текшериңиз (бул жерден жүктөп алыңыз) жана MATLAB ачыңыз. MATLAB интерфейсинде, терезенин жогорку сол бурчунда "Жаңы" деп жазылган, сары түстөгү плюс белгиси бар баскычты чыкылдатыңыз жана "функция" опциясын тандап, редактордун терезесинде окшош боштукту ачыңыз. үчүнчү сүрөт. Биз функцияны орнотуу үчүн биринчи сапты өзгөртүүгө көңүл бурабыз. Кайсы жерде "outputArg1" деп жазылса, аны "мээ", "outputArg2" менен алмаштырып, "тешиктерди", "untitled2" ден "exp2" ге, "inputArg1 "ди" image "ге алмаштырып," inputArg2 "жок кылыңыз. Сизде азыр "exp2" деп аталуучу, "имидж" деген аргументти алуу жана "мээ" менен "тешиктердин" чектерин чыгаруу функциясы бар. Функциянын биринчи сабы төртүнчү сүрөттө көрсөтүлгөн сызыкка окшош болушу керек. Бул баштапкы саптын астындагы бардык кодду жок кылыңыз.

4 -кадам: Чектелген алгоритмди иштеп чыгуу: Чектерди табуу

Чектелген алгоритмди иштеп чыгуу: Чектерди табуу
Чектелген алгоритмди иштеп чыгуу: Чектерди табуу

Сызыктын астына кодду төмөнкүдөй териңиз. Функциянын бул бөлүмү төмөнкү саптарды аткарат.

  1. "Image" сүрөтүн "mri" өзгөрмөсүнө жүктөңүз.
  2. Белгиленген босого мааниге негизделген "mri" диапазонундагы сандар диапазонундагы сандарга жана нөлдөргө (aka binarizing) айландырыңыз. Эгерде пикселдин мааниси 0,1ге барабар же андан чоң болсо, анда ал бирге коюлат, эгер андай болбосо, ал пикселдеги мааниси нөлгө коюлат.
  3. Төмөнкү төрт сап MRI сканерлөө катмарынын четиндеги 10 мамычаны жана сапты нөлгө айландырат, чек коюу сыяктуу туура эмес баалуулуктарды окубаш үчүн (код менен эксперименттен үйрөнгөндөй).
  4. Акыркы сапта, bwboundaries "mri" бинаризацияланган сүрөттүн чектерин издейт жана аны "b" ге теңейт, индекстери бир чекке коюлган элементтерге туура келген элементтери бар массив.

5 -кадам: Чектүү алгоритмди иштеп чыгуу: Сырткы чектүү массивди түзүү

Чектүү алгоритмди иштеп чыгуу: Сырткы чектүү массивди түзүү
Чектүү алгоритмди иштеп чыгуу: Сырткы чектүү массивди түзүү

Сүрөттөгү төмөнкү код менен редактордун терезесин ээрчиңиз. Коддун бул бөлүмү төмөнкү сапты түзөт.

  1. "B" бинаризацияланган сүрөттүн ар бир катарынын узундугун тапкыла (cellfun функциянын узундугун ар бир сапка колдонот).
  2. Максималдуу узундуктарды сактоо үчүн "loc" коюңуз.
  3. Максималдуу узундуктун индексин табыңыз, аны "LargeTrace" сактоого коюңуз.
  4. Сүрөттүн "mri" өлчөмүн табыңыз, ал "b" менен бирдей өлчөмдөн турат жана "BWsize" деп коюңуз.
  5. Сүрөттүн массивиндеги "ysize" деп коюлган катарлардын санын табыңыз.
  6. Сүрөттүн массивиндеги "xsize" деп коюлган мамычалардын санын табыңыз.
  7. Нөлдөрдүн "xsize" матрицасынын "ysize" жана "largeTraceMat" массивдерин түзүү.
  8. Эң чоң индекстин х индекстерин жана y маанилерин "lindex" векторунда сакталган, жазылган маанилердин эквивалентин табыңыз.
  9. Нөлдөрдүн матрицасында, "largeTraceMat", "lindexте" элементтер катары сакталган индекстин маанилерине туура келген индекстердеги элементтерди бирине айландырыңыз.

Ошентип, "LargeTraceMat" логикалык массивинде мээ сканеринин кесилишинин эң чоң чектелген аймагы бар, ал нөлдүн фонунда болгон.

6 -кадам: чектүү алгоритмди иштеп чыгуу: борбордук чекит менен иштөө

Чектүү алгоритмди иштеп чыгуу: борбордук чекит менен иштөө
Чектүү алгоритмди иштеп чыгуу: борбордук чекит менен иштөө

Андан кийин, биз кесилишинин бирден ашык региондон (эң чоңунан) тургандыгын текшеришибиз керек. Эң чоң региондун центроидинин тегизделишин текшерүү менен, биз борборлоштурулган центроидди же бир нече региондордун мүмкүнчүлүгүн бере турган чектеш бир аймак бар экенин көрө алабыз.

  1. "TempStruct" структуралык массивине барабар болгон центроиддер жөнүндө маалыматты табуу үчүн "regionProps" колдонуңуз
  2. "Центроиддер" массиви "центроид" талаасындагы маалыматтар менен тигинен бириктирилген
  3. "Центроиддордун" экинчи мамычасынын маанилерин алыңыз (горизонталдуу өлчөм координаттары)
  4. Центроиддун горизонталдуу борборго тегизделишин текшерүү үчүн чыпканы иштетиңиз

7 -кадам: Чектүү алгоритмди иштеп чыгуу: Центройд борборлошпогондо

Чектүү алгоритмди иштеп чыгуу: Центройд борборлошпогондо
Чектүү алгоритмди иштеп чыгуу: Центройд борборлошпогондо

Сценарийде эң чоң из регионунун борбору эмес, биз төмөнкү кадамдарды жасайбыз. Биз MRI сканерлеринде байкаганыбыздай, мээнин жарым шарлары кесилишинде чектеш болбогондуктан, биз азыр "LargeTraceMat" тин эң чоң изи менен бирге экинчи эң чоң изди пландап жатабыз.

  1. Изделген матрицаны жаңы "b2" өзгөрмөсүнө коюңуз
  2. "B2" бош матрицасын баштоо, "loc" индекси менен
  3. Центроид борборлошпогондо (б.а. бир нече регион катмары) шарттуу түзүү
  4. Ар бир сап үчүн жаңы издин өлчөмүн коюңуз (traceSize2)
  5. Чектер бар индекстерди табуу үчүн "loc2" коюңуз
  6. "B2" ичинде "loc2" тарабынан көрсөтүлгөн уячалар "largeTrace2" ге барабар болсун
  7. Жазылууларды индекстерге айландырыңыз, "lindex" деп коюңуз
  8. "LargeTraceMat" ичиндеги "lindexке" тиешелүү элементтерди 1ге өзгөртүңүз
  9. "B2" бош матрицасын баштаңыз, "loc2" индекстелген топтому менен

8 -кадам: Чектүү алгоритмди иштеп чыгуу: Тешиктердин интерференциясы

Чектүү алгоритмди иштеп чыгуу: Тешиктердин интерференциясы
Чектүү алгоритмди иштеп чыгуу: Тешиктердин интерференциясы

Тешиктер менен иштөөдө "b2" де сакталган баалуулуктар эң чоң изден башка структураларды көзөмөлдөп турган жана аларды "LargeTraceMat" формасына толтуруу мээ аймактарында тешиктер бар экенин көрсөтөт.

  1. "Хамгийн чоңTraceMat" түрүндө толтурулган "fillMat" массивин түзүңүз
  2. Нөлдөрдүн "xsize" массивинин "ysize" "interferenceMat" массивин түзүү
  3. "B2" ден баалуулуктарды тигинен бириктирилген сактоо үчүн "interferenceloc" массивин түзүңүз
  4. "Интерференцияга" туура келген индекстерди сактоо үчүн "lindex" массивин түзүңүз
  5. "InterdexMat" индекстери үчүн "lindexке" туура келет, маанини 1ге коюп, башка чектелген аймакты түзүңүз

9 -кадам: Чектелген алгоритмди иштеп чыгуу: Тешиктерди табуу, Мээ чектерин жана Тешиктерди чектөө

Чектелген алгоритмди иштеп чыгуу: тешиктерди табуу, мээ чектерин жана тешиктерди чектөө
Чектелген алгоритмди иштеп чыгуу: тешиктерди табуу, мээ чектерин жана тешиктерди чектөө
  1. "TempMat" массивин "interferenceMat" плюс "fillMat" менен барабар кылып, матрицанын ар бир маанисин бири -бирине кошуңуз
  2. "ТескөөLoc" массивин "interferenceMat" жана "fillMat" экөө тең бирдей болгон индекстерге барабар коюңуз
  3. Өлчөмдөрдүн нөл матрицасы катары "holeMat" орнотуу "ysize" x "xsize"
  4. "HoleMat" ичинде "holeLoc" бирдей болгон индекстерди коюңуз
  5. "Мээни" "largeTraceMat" кылып коюңуз
  6. "Тешиктерди" "holeMat" кылып коюңуз

Кошулган матрицалардын мааниси 2ге барабар болгон жерде, тешиктердин жайгашкан жерлери оңой эле корголуп, бош матрицага түшүрүлгөн.

10 -кадам: Маалыматтарды каттоо: Функция PatientFiles.m

Маалыматтарды каттоо: Функция PatientFiles.m
Маалыматтарды каттоо: Функция PatientFiles.m
Маалыматтарды каттоо: Функция PatientFiles.m
Маалыматтарды каттоо: Функция PatientFiles.m
Маалыматтарды каттоо: Функция PatientFiles.m
Маалыматтарды каттоо: Функция PatientFiles.m
Маалыматтарды каттоо: Функция PatientFiles.m
Маалыматтарды каттоо: Функция PatientFiles.m

Акыркы функцияны орнотуу сыяктуу эле, терезенин жогорку сол бурчундагы "Жаңы" деген белгини басып, сары түстө плюс белгиси бар жана "функция" опциясын тандап, редактордун терезесинен боштукту ачыңыз. үчүнчү сүрөттө окшош. Биринчи сапта, чыгуу матрицасын өчүрүп, жөн гана "чыгаруу" менен алмаштырыңыз, "untitled2" дегенди "PatientFiles" менен алмаштырыңыз, бардык киргизүү аргументтерин жок кылыңыз жана анын ордуна коддун төртүнчү сүрөтүндө көрсөтүлгөн форматтоону аткарыңыз. Бул функциянын биринчи сабы сүрөттүн форматына дал келиши керек.

11 -кадам: Файлдарга маалыматтарды киргизүү

Файлдарга маалыматтарды киргизүү
Файлдарга маалыматтарды киргизүү
Файлдарга маалыматтарды киргизүү
Файлдарга маалыматтарды киргизүү

Негизги функция тарабынан табылган маалыматтарды каттоо үчүн файлды орнотуу үчүн (азырынча сүрөттөлө элек), биз бул кадамдарды аткарышыбыз керек (код боюнча линия боюнча).

  1. PatientName үчүн киргизүү сап экенин текшериңиз.
  2. Эгерде ал сап болбосо, анда пациенттин атын киргизиңиз сап болушу керек.
  3. If билдирүүсүн токтотуңуз (катанын алдын алуу).
  4. "DateandTime" сап билдирүүсүн орнотуңуз, ал төмөнкү форматты берет: саат: мүнөт-ай/күн/жыл.
  5. FileName өзгөрмөсүн төмөнкүлөргө коюңуз: PatientName.m.

Эми функциянын кийинки бөлүмүнө: Бул аталыштагы файл мурунтан эле барбы?

1) Бул аталыштагы файл мурунтан эле бар дейли:

  1. Өткөн кезектеги маанилерди алуу үчүн файлды иштетиңиз
  2. Учурдагы итерациянын "DateandTime" маалыматтарын уячалардын массивине x уячасынын жаңы уячасы катары кошуңуз (индекстин аягы+1)
  3. Учурдагы "brainVolume" маанисин у маанилеринин уясынын массивине жаңы клетка катары кошуңуз (индекстин аягы+1)
  4. Файлга жүктөлгөн учурдагы өзгөрмөлөрдү сактаңыз.

2) Бул аталыштагы файл жок дейли:

  1. "PatientName" өзгөрмөсүндө сакталган аты менен жаңы файл түзүңүз
  2. Учурдагы "DateandTime" маалыматын уячалар катары бош уячалардын массивине x маанилерине кошуңуз
  3. Учурдагы "brainVolume" маалыматын у маанилеринин бош уяча массивине клетка катары кошуңуз
  4. Файлга жүктөлгөн учурдагы өзгөрмөлөрдү сактаңыз.

12 -кадам: Маалыматтарды каттоо: Убакыттын өтүшү менен мээнин көлөмүнүн участогун көрсөтүү

Кирүү маалыматы: Убакыттын өтүшү менен мээнин көлөмүнүн сюжетин көрсөтүү
Кирүү маалыматы: Убакыттын өтүшү менен мээнин көлөмүнүн сюжетин көрсөтүү
  1. Колдонууга уруксат берүү үчүн x баалуулуктар массивин (xVals) категориялык массивге (xValsCategorical) айландырыңыз
  2. Фигура терезесин түзүү 5
  3. "XValsCategorical" жана "yVals" (мээнин көлөмүн камтыган) тарабынан белгиленген чекиттерди чукуңуз жана чекиттүү сызыктар менен туташуу үчүн көңдөй тегерекчелерди колдонуңуз.
  4. Сюжеттин аталышын: PatientName Brain Volume Data
  5. Сүрөттө көрсөтүлгөндөй x огун белгилеңиз
  6. Сүрөттө көрсөтүлгөндөй y огун белгилеңиз
  7. Сүрөт 5 чыгууга барабар болсун

Ушундан улам, пациенттин аты чакырылып, убакыттын өтүшү менен мээнин көлөмүн көзөмөлдөгөн түзөтүлгөн маалыматтар менен трендди көрсөтүүчү сюжет пайда болот.

13 -кадам: Бөлүмдөрдөгү боштуктарды жабуу: Subplotclose.m

Подпоттордогу жабык боштуктар: Subplotclose.m
Подпоттордогу жабык боштуктар: Subplotclose.m

Http://www.briandalessandro.com кодунан ылайыкташтырылган функция, MRI сүрөттөрүн жана мээ катмарларын көрсөткөн фигуралар түзүлгөндө, негизги коддун субплотунун фигураларынын ортосундагы боштуктарды жабуу үчүн иштейт. Subplotclose.m ичинде колдонулган субплот функциясы, берилген субплоттордун позициясын узунураак өлчөмдө бири -бирине тыгыз дал келтирүү үчүн тууралайт. Мисалы, эгер код 7 x 3 матрицасын көздөсө, саптар узунураак болгондуктан саптар бири -бирине төп келет. Эгерде код 3 x 7 матрицасын көздөсө, мамычалар негизги кодубуздун сүрөттөрүндө көрсөтүлгөндөй катарлардагы боштуктар менен тыгыз жайгашат.

14 -кадам: Негизги код: Баарын тазалоо жана Киргизүүлөрдү сурануу

Негизги код: Баарын тазалоо жана Кириштерди сурануу
Негизги код: Баарын тазалоо жана Кириштерди сурануу

Негизги кодду баштоо үчүн, терезенин жогорку сол бурчунда "Жаңы" деп жазылган ошол эле баскычты чыкылдатыңыз жана мурунку бөлүмдөрдөн "Функциянын" ордуна "Сценарийди" тандаңыз. Редактор терезесиндеги сүрөттө көрсөтүлгөндөй кодду териңиз. Код линиялары төмөнкү тапшырмаларды аткарат:

  1. 0, 1 жана 2ден башка бардык ачык файлдарды жабыңыз.
  2. Фигуранын бардык терезелерин жабыңыз.
  3. Иш мейкиндигиндеги бардык өзгөрмөлөрдү тазалоо.
  4. Командалык терезени тазалаңыз.
  5. Командалык терезеде көрсөтүү: MRI сканерлөө үчүн төмөнкү өлчөмдөрдү киргизиңиз:
  6. Командалык терезедеги жаңы сапта мындай деп сураңыз: миллиметрдеги бир сканердин узундугу:. Колдонуучу койгон жооп "lengthMM" өзгөрмөсүнө коюлат.
  7. Жаңы сапта сураңыз: MRI сканеринин ортосундагы аралык миллиметрде:. Колдонуучу койгон жооп "ZStacks" өзгөрмөсүнө коюлат.

15 -кадам: Негизги код: Сүрөттөрдү иштетүү

Негизги код: Сүрөттөрдү иштетүү
Негизги код: Сүрөттөрдү иштетүү
Негизги код: Сүрөттөрдү иштетүү
Негизги код: Сүрөттөрдү иштетүү

Бул бөлүмдө код сүрөттөрдү жүктөйт (мээнин кесилиштеринин MRI сканерлеринен турат) жана "Base" өзгөрмөсүндө ар бир сүрөт файлынын аталыштарын сактайт жана MRI сканерлеринин ар бирин көрсөтөт. Сураныч, төмөндөгүдөй болгон сүрөттөгү кодду ээрчиңиз:

  1. MRI _ () аталыш форматына туура келген учурдагы папкадагы бардык файлдар жөнүндө маалыматты камтыган "BrainImages" структуралык массивин түзүңүз. Png
  2. "BrainImages" структуралык массивиндеги элементтердин санына барабар "NumberofImages" өзгөрмөсүн коюңуз.
  3. Фигура терезесин ачуу 1
  4. Файлда саналган сүрөттөрдүн саны үчүн цикл үчүн циклди коюңуз
  5. Ар бир цикл үчүн "CurrentImage" ар бир файлдын тиешелүү аталышы MRI_i.png, итерация номери 'i'
  6. "Imshow" тарабынан жүктөлө турган 19 сүрөттү көрсөтүү үчүн 3 x 7 подплотун түзүңүз.
  7. Ар бир сүрөттү субплот фигурасы терезесинде башка элемент катары көрсөтүү
  8. Ар бир субплоттун элементин Level_ деп атаңыз, мында бош - for циклинин кайталоо номери.
  9. For циклин бүтүрүү (катадан качуу)

Бул 1 терезесинде MRI сканерлеринин бардыгын 3 x 7 конфигурациясында x багытында эч кандай боштуктар жок чийки түрдө сканерлейт.

16 -кадам: Негизги код: Толтуруу

Негизги код: Толтуруу
Негизги код: Толтуруу

Толтуруу менен, биз бир сүрөт экинчисинен бир аз чоңураак болгон учурда, өлчөмдүн дал келбестиги үчүн ката кетириши мүмкүн болгон сүрөттүн өлчөмдөрүндөгү кичине дал келбестиктерден качабыз.

  1. Фигуралык терезени ачуу 2
  2. Сүрөт матрицасын MRI_1.pngден "padBase" өзгөрмөсүнө жүктөңүз
  3. Сүрөттүн матрицасынын көлөмүн таап, "OriginalXPixels" (катар саны үчүн) жана "OriginalYPixels" (мамычалардын саны үчүн) деп коюңуз
  4. "BrainMat" матрицасын ар бир учак үчүн дагы 20 сап жана дагы 20 мамычасы бар нөлдөрдөн жана жалпысынан 19 кесилиштен турган кылып орнотуңуз.
  5. Кийинчерээк тешик координаттарын киргизүү үчүн нөлдөрдүн үч өлчөмдүү массивинен турган "HolesMat" орнотуңуз
  6. "ZeroMat" түзүңүз, анын өлчөмү плюс жыйырма катар жана жыйырма мамыча, нөлдөрдүн эки өлчөмдүү массиви.

17 -кадам: Негизги код: Чек араларды аныктоо

Негизги код: Чек араларды аныктоо
Негизги код: Чек араларды аныктоо
Негизги код: Чек араларды аныктоо
Негизги код: Чек араларды аныктоо
  1. Мурун жүктөлгөн ар бир сүрөттөгү маалыматтарды карап чыгуу үчүн for циклин орнотуңуз
  2. Мурда партияны иштетүү ыкмасында эле, "CurrentImage" файлдарды "MRI_i.png" менен жүктөйт, мында иерация номери
  3. Ар бир сүрөттү мурда иштеп чыккан "LevelCurveTracings2.m" иштетүү функциясы аркылуу иштетиңиз
  4. "Мээ" өндүрүшүнүн көлөмүн табыңыз, катарлардын санын "Currentrow" жана мамычалардын санын "Currentcolumns" деп коюңуз
  5. "CurrentMat" менен "Currentrow" жана "Currentcolumns" тарабынан белгиленген өлчөмдөрдү нөлдөрдүн матрицасына коюңуз.
  6. "CurrentMat" ичиндеги "Brain" маалыматтарын борборлоштуруп, ар тараптан 10 катардан турган маржа менен
  7. Сүрөттөрдүн чектерин көрсөтүү үчүн 3х7 өлчөмдөгү подплотту түзүңүз
  8. Фигуралар терезесиндеги субплоттун ар бир элементин атагыла
  9. "BrainMat" үч өлчөмдүү матрицасын түзүү "CurrentMat" ар бир чек катмарынан турат
  10. For циклин бүтүрүү (каталарды болтурбоо үчүн)

Кийинки бөлүм сунушталган үч өлчөмдүү форманын үстү жана асты жагында калган тешиктерди толтурат

  1. Set "LevelCurve1" "BrainMat" биринчи катмарына барабар (катуу түбү)
  2. "LevelCurveEnd" орнотуу "BrainMat" акыркы катмарына барабар (катуу үстү)
  3. Толук катмар менен "LevelCurve1" үстүнө жазыңыз
  4. Толук катмар менен "LevelCurveEnd" жазыңыз
  5. Толтурулган катмарды "BrainMat" тин астыңкы катмары катары коюңуз
  6. Толтурулган катмарды "BrainMat "тин жогорку катмары катары коюңуз

18 -кадам: Негизги код: Туура Z өлчөмүн аныктоо

Негизги код: Туура Z өлчөмүн аныктоо
Негизги код: Туура Z өлчөмүн аныктоо

Биринчи үч сап бош "z" массивин орнотуудан жана мм^3 көлөмүнүн туура окулушун алуу үчүн жөнөкөй конверсиялык операцияларды (пикселдерди узундугуна бөлүү) турат.

  1. Ар бир катмардан өтүү үчүн for циклин түзүңүз
  2. Берилген катмардагы адамдардын санын табыңыз
  3. Z координаттарын "tempz", мамычанын векторуна коюлган тиешелүү катышка масштабталган мааниге айлантыңыз.
  4. Z векторуна деңгээл ийри сызыгы үчүн z маанисин кошуңуз

Муну менен z координаттары туура жөнгө салынат.

19 -кадам: Негизги код: X жана Y координаттарын аныктоо

Негизги код: X жана Y координаттарын аныктоо
Негизги код: X жана Y координаттарын аныктоо

Эми чек аралардагы чекиттердин ар биринин x жана y позицияларын аныктоо үчүн.

  1. "XBrainди" бош массив катары баштаңыз
  2. "YBrain" ды бош массив катары баштаңыз
  3. Жүктөлгөн ар бир сүрөт аркылуу цикл үчүн for циклин орнотуңуз
  4. Ар бир чекиттин планардык координаттарын сактоо үчүн эки мамычалуу матрицаны түзүңүз, "RowBrain" жана "ColumnBrain" тилке векторлору менен көрсөтүлгөн
  5. Учурда табылган "RowBrain" координаттары менен "xBrain" тиркеңиз
  6. Учурда табылган "ColumnBrain" координаттары менен "yBrain" тиркеңиз
  7. For циклин бүтүрүү (ката кетирбөө үчүн)

20 -кадам: Негизги код: үч өлчөмдүү структураны түзүү, көлөмдү табуу жана маалыматтарды каттоо

Негизги код: үч өлчөмдүү структураны түзүү, көлөмдү табуу жана маалыматтарды каттоо
Негизги код: үч өлчөмдүү структураны түзүү, көлөмдү табуу жана маалыматтарды каттоо
Негизги код: үч өлчөмдүү структураны түзүү, көлөмдү табуу жана маалыматтарды каттоо
Негизги код: үч өлчөмдүү структураны түзүү, көлөмдү табуу жана маалыматтарды каттоо
Негизги код: үч өлчөмдүү структураны түзүү, көлөмдү табуу жана маалыматтарды каттоо
Негизги код: үч өлчөмдүү структураны түзүү, көлөмдү табуу жана маалыматтарды каттоо
Негизги код: үч өлчөмдүү структураны түзүү, көлөмдү табуу жана маалыматтарды каттоо
Негизги код: үч өлчөмдүү структураны түзүү, көлөмдү табуу жана маалыматтарды каттоо

AlphaShape функциясын колдонуп, биз мээнин көлөмүн эсептей турган үч өлчөмдүү түзүлүштү түзөбүз.

  1. AlphaShape функциясын колдонуңуз, x, y жана z координаттары үчүн "xBrain", "yBrain" жана "z" векторлорун туташтырыңыз жана "BrainPolyhedron" ге барабар коюңуз
  2. Фигуралык терезени ачуу 3
  3. Эсептелген альфа формасын "BrainPolyhedron" графигине салыңыз, сүрөт терезесинде көрсөтүңүз
  4. Альфа фигуралары үчүн иштеген "көлөм" функциясын колдонуп, альфа формасынын көлөмүн эсептеңиз
  5. Көлөмдү mm^3ке айлантыңыз
  6. Катуу заттын көлөмүн Command терезесинде басып чыгарыңыз
  7. Киргизүү катары пациенттин атын коюуну сурануу
  8. Саат менен учурдагы күндү жана убакытты алыңыз жана "DateandTime" деп коюңуз
  9. Чыгуу функциясы "PatientFiles" эсепке алынган маалыматтарды каттоо жана пландаштыруу үчүн

Бул жерден экинчи жана үчүнчү сүрөттөр калкып чыгуучу фигураларды көрсөтүшү керек, ал эми төртүнчү сүрөт Командалык терезеде көрсөтүлүшү керек.

Сунушталууда: