Ústav matematiky a statistiky Přírodovědecká fakulta Masarykova univerzita
Praktikum z analýzy tvaru
Zadania príkladov a niektoré riešenia
Stanislav Katina katina@math.muni.cz
24. februára 2016
Katina, S., 2015: Praktikum z analýzy tvaru
1
Inštrukcie k cvičeniam: Vytvorte si na obrazovke adresár praktikum a tri podadresáře data, dokumenty a Rkod. Do prvého z nich vložte dátové súbory z IS MUNI, do druhého popisy dátových súborov a obrázky stka-praktikum-analyza-tvaru-mar2015.pdf a do tretieho zdrojový súbor dt-kódu naprogramovaných funkcií priezvisko-meno-source-praktikum-at-2015.r a súbor ^-kódu konkrétnych príkladov priezvisko-meno-priklady-praktikum-at-2015.r, ktorý používa tento zdrojový kód.
1 Zadania príkladov a niektoré riešenia
Príklad 1 (Euklidovské vzdialenosti a uhly) Majme dáta data-3d-base-xyz.txt.
(1) Vypočítajte Euklidovské vzdialenosti vybraných landmarkov POdx, POsin a BA (t.j. dĺžky strán trojuholníka definovaného landmarkami POdx, POsin); použite funkcie applyQ a euclid.vzdialenost(). Šírku lebečnej bázy (spojnica bodov pravý a ľavý porion v mm) označte base.B.
(2) Vypočítajte priemerné dĺžky strán a smerodajné odchýlky zvlášť pre mužov a ženy; použite funkcie tapplyQ, meanQ a sd(),
(3) Vypočítajte vnútorné uhly trojuholníka definovaného landmarkami POdx, POsin a BA pomocou kosínusovej vety v radiánoch a stupňoch; použite funkciu uhol.cos. veta(). Uhol 7 v stupňoch premenujte na premennú base.A (ide o uhol, ktorý zvierajú línie prechádzajúce bodom basion a pravostranným a ľavostrannýtm bodom porion)
(4) Nakreslite histogram hodnôt uhlov z (3) na kružnici; použite funkcie circularQ a rose.diagQ z knižnice circular. Grafy usporiadajte do trojice vedľa seba do okna 12 x 4 s nulovými okrajmi použitím funkcií windows(12,4); par(mar=c(0,0,0,0),mfcol=c(l,3)). Pod každý obrázok doplňte text „uhol v bode POdx" (podobne pre ostatné dva uhly) pomocou funkcie mtext("...",side=l,line=-3).
(5.1) Vypočítajte výšku lebečnej bázy base. H pomocou sínusovej vety; použite funkciu uhol.sin. veta()
(5.2) Vypočítajte výšku lebky skull.H. t.j. vzdialenosť bodov basion a bregma.
(6) Vypočítajte lineárno-uhlový korelačný koeficient premenných skull.H a base.A a Waldov 95% empirivký interval spoľahlivosti (IS) pre očakávanú hodnotu tohoto uhla; použite funkciu IS-cor.uhlQ. Zopakujte tento výpočet pre mužov a ženy zvlášť. Nakreslite rozptylový (bodový) graf pre (A) skull.H a sínus uhla base.A a pre (B) skull.H a kosinus uhla base.A pre obe pohlavia do jedného obrázka; použite funkciu plotQ a pointsQ.
(6.1) * Otestujte nulovosť korelačného koeficientu v združenom výbere z (6) pomocou (A) Waldovho testu nulovosti korelačného koeficientu a (B) testu pomerom vierohodnosti nulovosti korelačného koeficientu
(6.2) * Otestujte nulovosť rozdielu korelačných koeficientov u mužov a žien z (6) pomocou (A) Waldovho testu nulovosti rozdielu korelačných koeficientov a (B) testu pomerom vierohodnosti nulovosti rozdielu korelačných koeficientov.
(7) * Vypočítajte lineárno-uhlový korelačný koeficient premenných base. H a base.A a Waldov 95% empirivký interval spoľahlivosti (IS) pre očakávanú hodnotu tohoto uhla; použite funkciu IS-cor.uhlQ. Zopakujte tento výpočet pre mužov a ženy zvlášť. Nakreslite rozptylový (bodový) graf pre (A) base.H a sínus uhla base.A a pre (B) base.H a kosinus uhla base.A pre obe pohlavia do jedného obrázka; použite funkciu plotQ a pointsQ.
Príklad 2 (Euklidovské vzdialenosti a uhly) Majme dáta data-3d-triangles-xyz.txt.
(1) Vypočítajte uhol v bode nasion (front.A; uhol, ktorý zviera línia prechádzajúca bodmi bregma a nasion s líniou prechádzajúcou bodmi nasion a basion).
(24. februára 2016)
Katina, S., 2015: Praktikum z analýzy tvaru
2
basion
Obr. 1: Znázornenie premenných výška lebky (skuli.H), výška lebečnej bázy (base.H), šírka lebečnej bázy (base.B) a uhol, ktorý zvierajú línie prechádzajúce oboma bodmi poríon s vrcholom v bode basion (base.A)
(2) Vypočítajte uhol tvárového trojuholníka v bode prosthion (prog.A; uhol, ktorý zviera línia prechádzajúca bodmi basion a prosthion s líniou prechádzajúcou bodmi prosthion a nasion).
(3) Nakreslite histogram hodnôt uhlov z (1) a (2) na kružnici; použite funkcie circularQ a rose.diagQ z knižnice circular. Grafy usporiadajte do dvojice vedľa seba do okna 8 x 4 s nulovými okrajmi použitím funkcií windows(8,4); par(mar=c(0,0,0,0),mfcol=c(l,2)). Pod každý obrázok doplňte text „uhol v bode nasion" (podobne pre druhý uhol) pomocou funkcie mtext("...",side=l,line=-3).
(4) Vypočítajte uholovo-uhlový korelačný koeficient premenných front.A a prog.A a Waldov 95% empirivký interval spoľahlivosti (IS) pre očakávanú hodnotu tohoto uhla; použite funkciu IScor.uhlQ. Zopakujte tento výpočet pre mužov a ženy zvlášť.
(24. februára 2016)
Katina, S., 2015: Praktikum z analýzy tvaru
3
uhol v bode POsin
uhol v bode POdex
uhol v bode BA
Obr. 2: Histogramy na kružnici pre tri uhly v stupňoch
<
CO .O
Ö
I
00 Ö
I
LO O)
Ö
I
o o
00 qO o
o
• •• o
CfcOo
V<€V
* o o
o
• f
o m
T I I I I I I T
115 125 135 145
skull.H
<
Q)
CO .Q
Ö
CO Ö
Ö
00 a, o *C cf% o • 0 o
• •• 0 o CftOo • . (S9 O . o °o
10
_ o
15
o °o
20
25
<
tú
o
o
o
j8 g °
• • • rP ° o °
u
o • • f o m
I I 10 15 I 20 I 25
base. H
base. H
Obr. 4: Rozptylové grafy - vľavo base.H a cos(base.A) a vpravo base.H a sin(base.A)
o
I
<
0)
CO .Q
00 O
I
O)
o
I
o0 o°
CP
O o
• f
o m
o «
o 0»
o © o o • oo cP „ o
cc
o* p
T"
T"
T
T
110 115 120 125
base. B
<
O
LO O
O
pp
cp
' p o >p °
• f
p m
<
o
o © p o . op <*> o
eo
T"
110
115 120 base. B
125
Obr. 5: Rozptylové grafy - vľavo base.B a cos(base.A) a vpravo base.B a sin(base.A) Príklad 4 (PSC a PMS) Majme dáta data-3d-triangles-xyz.txt.
(í) Transformujte súradnice z dátovej tabuľky do objektu matica a potom pole. Vypočítajte počet landmarkov a počet jedincov.
(2) Vypočítajte Procrustovské tvarové súradnice (PSC), Procrustov priemerný tvar (PMS), PMS pre mužov a ženy.
(3) Nakreslite PSC do 3D okna; použite knižnicu Face3D a rgl a funkcie open3d(), rgl.viewpoint(theta = 0,phi = 0,fov=30,zoom=0.7), bg3d("white"), par3d(windowRect=c(100,100,600, 600)) a spheres3d().
(4) Nakreslite PMS do 3D okna spolu s PMS pre mužov a ženy.
(5) Nakreslite PMS do 3D okna s popisom skratky landmarku pomocou funkcie text3d().
(24. februára 2016)
Katina, S., 2015: Praktikum z analýzy tvaru
5
bregma
prosthion
Obr. 6: Znázornenie premenných uhol v bode nasion (front.A) a uhol tvárového trojuholníka v bode prosthion (prog.A)
Príklad 5 (PSC, PMS a wireframe) Majme dáta data-3d-skull-xyz.txt.
(1) Transformujte súradnice z dátovej tabuľky do objektu matica a potom pole. Pomenujte riadky poľa skratkami názvov landmarkov. Vypočítajte počet landmarkov a počet jedincov.
(2) Vypočítajte Procrustovské tvarové súradnice (PSC), Procrustov priemerný tvar (PMS), PMS pre mužov a ženy.
(3) Nakreslite PSC do 3D okna; použite knižnicu Face3D a rgl a funkcie open3d(), rgl.viewpoint(theta = 0,phi = 0,fov=30,zoom=0.7), bg3d("white"), par3d(windowRect=c(100,100,600, 600)) a spheres3d().
(4) Nakreslite PMS do 3D okna spolu s PMS pre mužov a ženy. Dokreslite do obrázka wireframe definovanú nasledovne:
- mid-sagitálna krivka - g, b, l, op (zelená farba)
- krivka vľavo a vpravo - fmoL, juL, poL a fmoR, juR, poR (červená farba)
- landmarky bázy lebky dokreslite čiernou farbou
(5) Nakreslite PMS do 3D okna s popisom skratky landmarku pomocou funkcie text3d().
(6) Zväčšite rozdiel medzi mužmi a ženami 10 x tak, že PMS pre ženy ponecháte a PMS mužov transformujete tak, že k nemu pripočítate 10 x rozdiel medzi PMS mužov a žien.
Príklad 6 (PSC, PMS skeny rúk) Majme dáta data-2d-hands-scan.txt.
(í) Transformujte súradnice z dátovej tabul'ky do objektu matica a potom pole. Pomenujte riadky poľa skratkami čísel landmarkov (LI, L2, atď.). Vypočítajte počet landmarkov, počet jedincov, počet opakovaní a počet meraní na stranu. Vytvorte vektory pre prediktory pohlavie, opakovanie, strana, vek (v rokoch), výška (v mm) a hmotnosť (v kg).
(2) Preškálujte súradnice landmarkov z pixelov na palec (ppi) na milimetre (150 pixelov na 1 palec, 1 palec = 25.4 rnrn)
(24. februára 2016)
Katina, S., 2015: Praktikum z analýzy tvaru
6
uhol v bode nasion
uhol v bode prosthion
Obr. 7: Histogramy na kružnici pre dva uhly v stupňoch
o
Q.
00 O)
O
CO O)
O O)
o
OJ O)
o o
O)
o
- o m
° <%>. o
<
• °© ° prog..
• o % • C0S(|
t-1-1-1-1-r
0.92 0.94 0.96 0.98 1.00 1.02 sin(front.A)
o m _ o
o o
• f
o m
o
o
o •
O ©o •
° «o % o
© °
^OO o
°» o
o
i—i—i—i—i—i—i—r
0.00 0.10 0.20 0.30 cos(front.A)
Obr. 8: Rozptylové grafy - vľavo sin(front.A) a sin(prog.A) a vpravo cos(front.A) a cos(prog.A)
(3) Zobrazte krabicové diagramy centroidovej velkosti voči pohlaviu, strane a interkacii strany a pohlavia. Do obrázkov dokreslite aritmetické priemery.
(4) Nakreslite PSC a PMS do jedného obrázka (PSC čiernou cex=0.5 a PMS červenou cex=l).
(5) Pre prvého jedinca a pre všetky tri opakovania zobrazte PSC (pch=l, col="black") a ich PMS (zvlášť pre stranu L a R; pch=16, col="red"). Do obrázka dokreslite PMS celého súboru (pch=3, col="blue").
(6) Zobrazte PSC a ich PMS prvého jedinca pre všetky tri opakovania (strana L a R, landmark 1; strana L pch=l, col="black", strana R pch=4, col="black"). Do obrázka dokreslite PMS ľavej a PMS pravej strany (pch=16, col="red"), PMS všetkých opakovaní ľavej strany (pch=3,col="black"), PMS všetkých opakovaní pravej strany (pch=4,col="black") a PMS všetkých opakovaní (ľavej a pravej strany; pch=16, col="blue").
(7) Zobrazte deformáciu PMS prvého jedinca na PMS tohoto jedinca (strana L). Zobrazte deformáciu PSC prvého jedinca ku ich PMS pre všetky tri opakovania (strana L). Zobrazte deformáciu PMS prvého jedinca na PMS tohoto jedinca (strana R). Zobrazte deformáciu PSC prvého jedinca ku ich PMS pre všetky tri opakovania (strana R). Všetky deformačné siete usporiadajte po riadkoch do matice 2x4. Použite funkciu TPSsietQ.
(24. februára 2016)
Katina, S., 2015: Praktikum z analýzy tvaru
7
B
POdx
POsin
BA
Obr. 9: PSC a PMS pre dáta data-3d-base-xyz.txt (frontálny pohľad)
(8) Zobrazte deformáciu PMS L na PMS R pre prvého jedinca. Túto defromáciu zväčšite 0.6x; lx a 1.4x. Všetky deformačné siete usporiadajte po riadkoch do matice 1x4. Použite funkciu TPS-
(9) Zobrazte deformáciu PMS L na PMS R všetkých jedincov. Túto defromáciu zväčšite lx, 8x a 16 x. Všetky deformačné siete usporiadajte po riadkoch do matice 1x4. Použite funkciu TPSsietQ.
(10) Vypočítajte uhol, ktorý zviera spojnica landmarkov 2 a 11 s osou y. Zobrazte deformáciu PMS L na PMS R všetkých jedincov tak, aby spojnica landmarkov 2 a 11 bola rovnobežná s osou y.
(11) Zobrazte PSC a PMS tak, aby spojnica landmarkov 2 a 11 na PMS bola rovnobežná s osou y.
(12) Zrkadlenie. Zrkadlite PMS L na PMS pseudo-L. Zobrazte PMS L a PMS pseudo-L s očíslovanými landmarkami a tiež ako deformačnú sieť PMS L na PMS pseudo-L.
(13) Zobrazte PSC pseudo L a PMS pseudo-L do jedného obrázka.
sietQ.
(24. februára 2016)
Katina, S., 2015: Praktikum z analýzy tvaru
8
BA
Obr. 10: PSC a PMS pre dáta data-3d-base-xyz.txt (laterálny pohľad; dexter)
I
%
JUdx FMOdx
OP
POdx BA POsin
G P
JUsin FMOsin
Obr. 11: PSC a PMS pre dáta data-3d-skull-xyz.txt (vertikálny pohľad)
(24. februára 2016)
Katina, S., 2015: Praktikum z analýzy tvaru
9
Obr. 12: PMS a wíreframe pre dáta data-3d-skull-xyz.txt (vertikálny pohľad vľavo a laterálny pohľad dexter vpravo)
Obr. 13: PMS žien (červenou) a mužov (modrou) a wíreframe pre dáta data-3d-skull-xyz.txt (vertikálny pohľad vľavo a laterálny pohľad dexter vpravo )
(24. februára 2016)
Katina, S., 2015: Praktikum z analýzy tvaru
10
i-r
L.m R.m
Obr. 14: Krabicové diagramy centroidovej velkosti
cg d
O CO
Q. 9
d -
# 4 s
n-1-1-1-r
-0.4 -0.2 0.0 0.2 0.4 x-PSC
Obr. 15: PSC a PMS pre dáta data-2d-hands-scan.txt
■sici
O CO CL I
■sici I
-0.4
n—
-0.2
-1-
0.0
x-PSC ID-1,L
—I—
0.2
-r
0.4
O CO CL I
■sici
■sici I
-b
"I-1—
-0.4 -0.2
-1-
0.0
x-PSC ID-1,R
0.2
-r
0.4
O co
CL I
~\-1-1-1-r
0.12 0.14 0.16 0.18 0.20
x-PSC ID-1, landmark 1
Obr. 16: PSC a PMS jedinca ID-1, ľavá a pravá strana (vľavo a uprostred); PSC a PMS jedinca ID-1, landmark 1, ľavá a pravá strana (vpravo)
(24. februára 2016)
Katina, S., 2015: Praktikum z analýzy tvaru
11
Obr. 17: Deformačné siete prvého jedinca - PSC prvého jedinca ku ich PMS pre všetky tri opakovania - strana L (prvý riadok) a strana R (druhý riadok)
(24. februára 2016)
Katina, S., 2015: Praktikum z analýzy tvaru
12
1
Obr. 19: Deformačná sieť PMS L na PMS R pre prvého jedinca - origiálna orientácia (vl'avo) a optimálna rotácia (vpravo)
(24. februára 2016)
94727691^087
Katina, S., 2015: Praktikum z analýzy tvaru
13
o
C/3 Q. I
O
o
o o
o I
o I
-0.4 -0.2 0.0 0.2 0.4 x-PSC
O c/) o. i
o
o
o o
o I
o I
Obr. 20: PSC a PMS všetkých jedincov - origiálna orientácia (vľavo) a optimálna rotácia (vpravo)
2 2
__A__
—»—
5 5
64 46 ZZlZI ZZ'ZZ
— « - -
8 8 9 7 7 9
11 11 *
12 10 10 12
PMS L PMS pseudo-L TPS model; PMS L na PMS pseudo-L
Obr. 21: PMS L, PMS pseudo-L a deformačná sieť PMS L na PMS pseudo-L
(24. februára 2016)
Katina, S., 2015: Praktikum z analýzy tvaru
14
cg
tk <*
▼
* *
1 1 -0.4 -0.2 1 0.0 i i 0.2 0.4
x-PSC hands 1A
Obr. 22: PSC pseudo-L a PMS pseudo-L
(24. februára 2016)