From 3d59b97a099911c765dde75c5c24f5738ad3774e Mon Sep 17 00:00:00 2001 From: seyffejn <55194230+seyffejn@users.noreply.github.com> Date: Tue, 9 Feb 2021 15:43:23 +0100 Subject: [PATCH] P1-P42 analyze script! --- .../current_positions.npy | Bin 1136 -> 1136 bytes ..._diagonal_sf=0.0020410410410410407_k=3.npy | Bin 0 -> 1136 bytes .../off_center_sf=0.001_k=3.npy | Bin 0 -> 728 bytes .../off_center_sf=0.00204_k=3.npy | Bin 0 -> 728 bytes ...off_center_sf=0.002105105105105105_k=3.npy | Bin 0 -> 728 bytes .../off_center_sf=0.002_k=3.npy | Bin 0 -> 728 bytes .../off_center_sf=0.003_k=3.npy | Bin 0 -> 728 bytes .../off_center_sf=0.004_k=3.npy | Bin 0 -> 728 bytes .../off_center_sf=0.005_k=3.npy | Bin 0 -> 728 bytes .../PyPrecisionGUI/plot_precision_tests.py | 498 ++++++++++-------- ...zation system for medical applications.aux | 14 +- ...zation system for medical applications.log | 38 +- ...zation system for medical applications.pdf | Bin 5459603 -> 5505845 bytes ...system for medical applications.synctex.gz | Bin 172632 -> 174159 bytes ...zation system for medical applications.tex | 28 +- 15 files changed, 332 insertions(+), 246 deletions(-) create mode 100644 BachelorThesis/Software/PyPrecisionGUI/calculated_positions/horizontal_and_diagonal_sf=0.0020410410410410407_k=3.npy create mode 100644 BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.001_k=3.npy create mode 100644 BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.00204_k=3.npy create mode 100644 BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.002105105105105105_k=3.npy create mode 100644 BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.002_k=3.npy create mode 100644 BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.003_k=3.npy create mode 100644 BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.004_k=3.npy create mode 100644 BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.005_k=3.npy diff --git a/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/current_positions.npy b/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/current_positions.npy index bbe20ae452dac342886d4d61705ac747d3d3fb53..eef4baeb3b3de3e70f3d1af7639051a22ab5c4c0 100644 GIT binary patch literal 1136 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I#yMmh?{nmP)#3giMV1`u$_cYx9MF}F8*PO1Pd{vQmSA^Zmg z4)=aP)_DIj&jCeTp~!*7PiK>1PcB@XHPd{l<>x}UIgDV7Tp)a)dN3Dg|F#cFh1W8j z9CA|pQhD5p;o@L<2B`W3g!q9?pQmFC3aPN)h!9`A#IyCguqDL)`6Y03q*&@c za~at?oHRLXJL#Q&tRegd2ywxQzTdmA+c~g2GP2MQD}$@IQ_ySvoCH;` zP!1RGy!s|{Yqy=l$ti22-Bu%s``p}>y2S>fE};Uhz9jgq^KVIe2i@l#57x<6!o^P& z^>MtrWe?#mK!~sYB)9SABzuQ&u3L+5Rae2)?+>~lclDkF#J~3u;`bC!)kpR?I5^y$ zx3+_^2Ckm@)wdj19%wuQ!=2U2sNuRaH2#6%Y~;MIv0yEfe;@}QkKlL%#ygk>iW^LF zaIoC!1ThyVzO(eOg5Z)Y2p<+-!1x8LcgS-1)$wcxcQaHyEZz^KJ2qgVr5pP7YQN-|_!CTIx`C=&t;i?j*Q+h`(U*p5Rc%X&1IO-5KI;VEjVdpWsmK zwoyW~%Ne2%D1PGnSEk5^(GJB4BENiXq2j>!1?PwQXa}?29(56agm^)jS>m&_a0dn9 z$+pHuP7cdX%O1`1s)VW!gS&?T1c33*UtPI@Q!^MYZhhf#!6!3l{5Ax_#b24+tja%K R1vLjDo@e!Es_srqaR6;%T0Z~) literal 1136 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I#yMmh?{nmP)#3giMV1`u$_cYx8B(rPaxq#Ysr2L%pAr>;HoV$XMA1S@cX zi^J5%RZSM+J?!KVyJ(8wIfEjI{DB+@%>Y%e02K$?qhIvwo)Ci#L_VPyLIcIGb|wC) z;c&tb@0t49v+btV1z%^~lZ|GGEss3!^u)T#lOzRGS!$rVaD^2_T|xz1J+IMeN9K>V4!R+q!x z?QvVE`)lCh?Xo&-C2`PjLyGsP*2;FNc}@;}8|q$q<`+Qh*^h`vh`j|4H4@yd%lon* z^8cM3465I6E_zZ3vBx0`Vh>WhgVW7{bO$9J&D6I=&JKQ)?XNV(6+6sPt6#yqHyy4X zY<_&PL!CqP`=G>B2d00MoVHXsJ9PS5{W~KEi{Dg--Wy9EpMPTy(Fct8NuiDmDZi5( z_N@H%FJH(RF3tb~2a+6u`t%aI*leNU290;1_)d*mTeB?9AnM`iA;H19fHjQG%MKzA zkM{(JbwZKHcq?oiqAs^?y5&(0@oz&kL>cRe<4~=)A_~|Z(%(X5y4)?ZwF}i04jo*eqcsSSTdh-_Vt%BMc=wPJbt9@R>%wg&L i{TxQ_)eiTWn0MtL^M{+y00IxH9G>+jN9GE8!Nma}mq(NU diff --git a/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/horizontal_and_diagonal_sf=0.0020410410410410407_k=3.npy b/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/horizontal_and_diagonal_sf=0.0020410410410410407_k=3.npy new file mode 100644 index 0000000000000000000000000000000000000000..eb3703294f8bcf83249b4ea11b5a4205132e5fd0 GIT binary patch literal 1136 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I#yMmh?{nmP)#3giMV1`u$_cYx7t!CUUV6L)m@4+8fK9Ab@rFt7WU2a#uR zfzS^M;OgTtR6CV-J2@0>>N0v^R0I(}kONoG$N&TiP;sC=|Bn1tI`GOGBA-wUp@HH$ zavW8AJ~(2CCw{IscfD=x@Gm$sLQJIuuKvS(ufv-Z93cD!2=PCU=HKcIw{<8#w&6>P zYbjiPS~`!nf0!MF{{SH#ljxCi?X8W&{_pX2JRxOp^^7(DpB{FAx>KPXF8;`7lI7Z9 zTL+`(2UPELBg74h`C<<3wSuTisDP_qE_AGW(`#FY4?p4=RJJ3;-}U`xbttlgs9R78 zSAQa=SHE1_&Y@wG-YzxiD!4eO#_L7do2;Snf)H0R`*4bLlfA=v#z(w2YpUVuKgcND zn{d_^!dIw)i+c--ztf3=h8t46f4F#{D|VKXgO}!xbsPl+5PSCLK%$zJ8cvzdwYPDY$$IqrJF_aN`armPzYyblkM=?1y&=#+arY^iOM+$& jA&mFzirlLmlE3nE<{j~e=!56eDu$B~e)7 literal 0 HcmV?d00001 diff --git a/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.001_k=3.npy b/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.001_k=3.npy new file mode 100644 index 0000000000000000000000000000000000000000..cef5587703052ee5576b6f4fc32d5cef8d238b9f GIT binary patch literal 728 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7raB77nmP)#3giMVlR~zzncGVo7(hUw96~d=IJn*X)+;cv6v79JGlJxS z;?2U199^7caB;9OP#i1|RM(rydtKmH8C<;P=D@^Pn_T=M7ghmx zPwzI3#*d4N9sYyB{7SgJQ`1Fvb3ZO|$eQuWu<{w;Cn zUL?rCEr<~R#TWe0zz!N-3lR41PFcZuaW~y~tmQO1QXm*$1zS z{q_zbC-z+Wty%^VUjUV7aB)Ztx_>8jB|;o*&wpo!{GO&5cZRz{&;1GAEnQ4-Kslz4FegDiXsv+_~|H`jBxKMb08HE3!3KAYb@nd=q z#SA>4@q#3NBvWD1nd6w^Njf`sd}W3D7fF4LLOp|^VwuC``~&sn@zoB>f7$+&f46p6 zw)klN?$5w*(3AC06031YFMR1Bw9(dKzFOMcIp0bgHoWoKxN%C2!=X*aM~_`{aOjKU pf0;F@#9?PZMfa&=HE?&P2S0055#^a%g} literal 0 HcmV?d00001 diff --git a/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.002105105105105105_k=3.npy b/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.002105105105105105_k=3.npy new file mode 100644 index 0000000000000000000000000000000000000000..81a3f8869af40c25714f120f1e962ec38a415978 GIT binary patch literal 728 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7raB77nmP)#3giMV1`tpvcL37~6%IZ8K|XU;%^et_;$RvmUgh@TY*m@H z!;`FEV#!Al>K)fD%Qpf6=I8VATE?t&bdWD| zom}r#22npBD$n5JFyW)TfZP#G@oNh5oC$}a_AaP|xDTiv#a^H}qK{Zz*w~#R_5sxy z30%tSYD1VWGS|*xKUbMU*~SOS3$&^n(!{y#*jCv%c)YJsyYRToA*SQt8}WUW4hLE# z&eT0Lb+CCZJk#IwZATq$$7+F7^#Dr+^|UyKnClEPxjA$%nD)*+We{LVq$ zgCw4+b8|xj2h?7mI5^&b<||K9s0!MTZjOn=@hO3Fr>n{x=9ykEm=#p*a5}P>ce$pu z!=c~ZFLbV!IVdvi>dstR?eI(BLadLrgF{10+Y|PVGKYP8_wfEXUG4Dm?bF-`@s18g Q33o4)r6BADhX*ix0Idz>4gdfE literal 0 HcmV?d00001 diff --git a/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.002_k=3.npy b/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.002_k=3.npy new file mode 100644 index 0000000000000000000000000000000000000000..01ac664cf307ba597bd073aa1362a252751b5f4e GIT binary patch literal 728 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7raB77nmP)#3giN=E7`j1UKN))Ffsr^LWP6n-fNFm+1WaPxC{#A4*x+Q zzQVyEruH_+6&r{1zg#3Zrj|qGf$E>E@o#Aiu!i$N+Cb)T|2H_>;ArPi^yjEK*VhWT zyvFhPn#BRO4hs1-iqqbeLc|wTLhSkP>|pg{-O1St%HZNa(}2Lm;rIeG))Pz0A?^gK z2MYtm!8Fjm9WP2QWLH)?oOE5@9CzBu!L)h*DVqYQIwbWEd7n%;KdIC~;AgM-jI=6; zniKhZ4w^VPyypEp>bZW$@c&_k+KVLq^LS~zqDZL&i;Qc) z`=`|ok`FYRs`Q;4gwj9%;T9}$DEDb&tYWWqxN9iM_F}G+!(+?WY%SM{9b}G){H%Ui s19wlZX@~cX2gMGPPnB;`zmE_%JFc{}g|8A4FF<>j^ju!MRovDA0Gr?Q-2eap literal 0 HcmV?d00001 diff --git a/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.003_k=3.npy b/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.003_k=3.npy new file mode 100644 index 0000000000000000000000000000000000000000..7c2d0e0bd97e09c4dfa03e05bf3e1eb84c9fca09 GIT binary patch literal 728 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7raB77nmP)#3giMV1`tpvcL381Dji;|{$T#q+1A0?Xzw3cg$lShSf0TI z!cVAh_zwc}D;@T(zdj>H*UW)mbFJ6O_DT%(j3A9ba~&-=aQc}*<$>l*He}b9?LgQI zQpNxj->-V{huRy2I9NYWe6f)8A&wYK_tg8lK|*g@$ozuG-zgnMA-U%ec>Odm$52LQ7w_T>No literal 0 HcmV?d00001 diff --git a/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.004_k=3.npy b/BachelorThesis/Software/PyPrecisionGUI/calculated_positions/off_center_sf=0.004_k=3.npy new file mode 100644 index 0000000000000000000000000000000000000000..a18f5575212ea0bfd5737e6f897500989c2cb1e4 GIT binary patch literal 728 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7raB77nmP)#3giMVuk-gjmVGRDU;u#yl@9;Gz}R6&Nrpd@QU!!RA0e(K z>||~)QVCbj2-auELjC5T3#n06RSqy3tenBb!82H??XF-2+#Hy=vALB2 zhft*hm=3Cf$OF}bodt9UU&yxB3)?Zpww`R!Wdz!rpI$fn{|kirs5=*uw>bgb38I^7;Qkf+&l@tiu-XAkZ$yaapIlQ3~2ci$vz}^4SB;NQ?XSKr%5Ph-+?oOU_2Nb3VR6^7#Ak1NB=_oQvhx!XB4hx5V zi`F3Hca;tvbDUO6x+B!j^F6$5_v9*v^UD%1-<^pNzkP-NK47p4|M{fngj z+DR32k?bmmHz|{(yPj4<+y(US8I`bWe9qMlr$Kac4P1Q1yB`X>{Hq<7f#`mOIM{y* zH4e)Z8g|SNsB!oY2F4EQZH$)ZK36)J9&V6%?uk&}d+%a+Yh0Cs+xr)*o$3+dO;x6H zLa(YE9QI1_a~`dM#|tZy$rr8L)ecOIQdLuJYvJN4W)t7+*jw!YrvD=Bz3D8ldexUo zhc}8Hp`ou3;wEXXSH*m)9Hcfc%HkHQh5M_GHN1A6ca_7Trqy=WMG@j^8w)j3W>q;% bx?v$=1hg0Cul2$KI~T95a##nVbrI?T@m}M{ literal 0 HcmV?d00001 diff --git a/BachelorThesis/Software/PyPrecisionGUI/plot_precision_tests.py b/BachelorThesis/Software/PyPrecisionGUI/plot_precision_tests.py index 5eb6818..0c5ed27 100644 --- a/BachelorThesis/Software/PyPrecisionGUI/plot_precision_tests.py +++ b/BachelorThesis/Software/PyPrecisionGUI/plot_precision_tests.py @@ -16,6 +16,82 @@ xy_subplot = plt.subplot2grid((1, 2), (0, 1)) yz_subplot = plt.subplot2grid((1, 2), (0, 0)) +# Load all the IndLoc Recordings +center = np.load("recorded_data/center.npy")[1:, :, :] +off_center = np.load("recorded_data/off_center.npy")[1:, :, :] +horizontal = np.load("recorded_data/horizontal.npy")[1:, :, :] +diagonal = np.load("recorded_data/diagonal.npy")[1:, :, :] +zigzag_1 = np.load("recorded_data/zigzag_1.npy") +zigzag_2 = np.load("recorded_data/zigzag_2.npy") +wave_1 = np.load("recorded_data/wave_1.npy") +wave_2 = np.load("recorded_data/wave_2.npy") +spiral_1 = np.load("recorded_data/spiral_1.npy") +half_current_horizontal = np.load("recorded_data/half_current_horizontal.npy")[1:, :, :] +half_current_diagonal = np.load("recorded_data/half_current_diagonal.npy")[1:, :, :] +double_current_horizontal = np.load("recorded_data/double_current_horizontal.npy")[1:, :, :] +double_current_diagonal = np.load("recorded_data/half_current_diagonal.npy")[1:, :, :] +z_axis = np.load("recorded_data/z_axis.npy")[1:, :, :] +z_axis_off_center = np.load("recorded_data/z_axis_off_center.npy")[1:, :, :] +Three_D_movement_1 = np.load("recorded_data/3D_movement_1.npy") +Three_D_movement_2 = np.load("recorded_data/3D_movement_2.npy") +Three_D_zigzag_1 = np.load("recorded_data/3D_zigzag_1.npy") +Three_D_zigzag_2 = np.load("recorded_data/3D_zigzag_2.npy") +z_axis_moving_1 = np.load("recorded_data/z_axis_moving_1.npy") +# z_axis_moving_2 = np.load("recorded_data/z_axis_moving_2.npy") # Recording missing? +z_wave_1 = np.load("recorded_data/z_wave_1.npy") +z_wave_2 = np.load("recorded_data/z_wave_2.npy") + +recordings_dict = {"center": center, # shape: (26, 2000, 19) = [P1-P25, 2k samples, fv] + "off_center": off_center, + "horizontal": horizontal, + "diagonal": diagonal, + "horizontal_and_diagonal": np.append(horizontal, diagonal, axis=0), + "zigzag_1": zigzag_1, + "zigzag_2": zigzag_2, + "wave_1": wave_1, + "wave_2": wave_2, + "spiral_1": spiral_1, + "half_current_horizontal": half_current_horizontal, + "half_current_diagonal": half_current_diagonal, + "double_current_horizontal": double_current_horizontal, + "double_current_diagonal": double_current_diagonal, + "z_axis": z_axis, + "z_axis_off_center": z_axis_off_center, + "Three_D_movement_1": Three_D_movement_1, + "Three_D_movement_2": Three_D_movement_2, + "Three_D_zigzag_1": Three_D_zigzag_1, + "Three_D_zigzag_2": Three_D_zigzag_2, + "z_axis_moving_1": z_axis_moving_1, + "z_wave_1": z_wave_1, + "z_wave_2": z_wave_2} + + +# this only takes the first sample of each recording +recording_dict_fs = {"center": center[:, 0, :], + "off_center": off_center[:, 0, :], + "horizontal": horizontal[:, 0, :], + "diagonal": diagonal[:, 0, :], + "horizontal_and_diagonal": recordings_dict["horizontal_and_diagonal"][:, 0, :], + "zigzag_1": zigzag_1[0, :], + "zigzag_2": zigzag_2[0, :], + "wave_1": wave_1[0, :], + "wave_2": wave_2[0, :], + "spiral_1": spiral_1[0, :], + "half_current_horizontal": half_current_horizontal[:, 0, :], + "half_current_diagonal": half_current_diagonal[:, 0, :], + "double_current_horizontal": double_current_horizontal[:, 0, :], + "double_current_diagonal": double_current_diagonal[:, 0, :], + "z_axis": z_axis[:, 0, :], + "z_axis_off_center": z_axis_off_center[:, 0, :], + "Three_D_movement_1": Three_D_movement_1[0, :], + "Three_D_movement_2": Three_D_movement_2[0, :], + "Three_D_zigzag_1": Three_D_zigzag_1[0, :], + "Three_D_zigzag_2": Three_D_zigzag_2[0, :], + "z_axis_moving_1": z_axis_moving_1[0, :], + "z_wave_1": z_wave_1[0, :], + "z_wave_2": z_wave_2[0, :]} + + def plot_surroundings(): font = {"family": "serif", "color": "black", "size": 15} @@ -130,11 +206,7 @@ def plot_surroundings(): # yz_subplot.add_patch(rect2) -plot_art_call_counter = 1 # used for annotating P1 to P25 - - -def plot_art(recording_name, annotate_point): - global plot_art_call_counter +def art_file_to_position(recording_name): """ :param recording_name: int, Choose which recording to print e.g. Recording_!1! , Recording_!2!, etc. """ @@ -173,105 +245,30 @@ def plot_art(recording_name, annotate_point): pos_counter += 1 - if label_flag: # only add the label to one of the points - xy_subplot.scatter(art_info[0, 1], art_info[0, 2], color="green", label="ART System", s=100, marker="x") - yz_subplot.scatter(art_info[0, 3], art_info[0, 2], color="green", label="ART System", s=100, marker="x") - else: - xy_subplot.scatter(art_info[0, 1], art_info[0, 2], color="green", s=100, marker="x") - yz_subplot.scatter(art_info[0, 3], art_info[0, 2], color="green", s=100, marker="x") - - #print("ART: x=", art_info[0, 1], ", y=", art_info[0, 2], ", z=", art_info[0, 3]) - - if annotate_point: - xy_subplot.annotate("P" + str(plot_art_call_counter), (art_info[0, 1], art_info[0, 2]), color="green", size=15) - yz_subplot.annotate("P" + str(plot_art_call_counter), (art_info[0, 3], art_info[0, 2]), color="green", size=15) - plot_art_call_counter += 1 - # print("x=", art_info[:, 1]) # print("y=", art_info[:, 2]) - pos = [art_info[0, 1], art_info[0, 2], art_info[0, 3]] + pos = [art_info[0, 1], art_info[0, 2], art_info[0, 3]] # only take the first x,y,z position of each recording (as the 0.33mm precision wont have a lot of noise anyways) return pos -center = np.load("recorded_data/center.npy")[1:, :, :] -off_center = np.load("recorded_data/off_center.npy")[1:, :, :] -horizontal = np.load("recorded_data/horizontal.npy")[1:, :, :] -diagonal = np.load("recorded_data/diagonal.npy")[1:, :, :] -zigzag_1 = np.load("recorded_data/zigzag_1.npy") -zigzag_2 = np.load("recorded_data/zigzag_2.npy") -wave_1 = np.load("recorded_data/wave_1.npy") -wave_2 = np.load("recorded_data/wave_2.npy") -spiral_1 = np.load("recorded_data/spiral_1.npy") -half_current_horizontal = np.load("recorded_data/half_current_horizontal.npy")[1:, :, :] -half_current_diagonal = np.load("recorded_data/half_current_diagonal.npy")[1:, :, :] -double_current_horizontal = np.load("recorded_data/double_current_horizontal.npy")[1:, :, :] -double_current_diagonal = np.load("recorded_data/half_current_diagonal.npy")[1:, :, :] -z_axis = np.load("recorded_data/z_axis.npy")[1:, :, :] -z_axis_off_center = np.load("recorded_data/z_axis_off_center.npy")[1:, :, :] -Three_D_movement_1 = np.load("recorded_data/3D_movement_1.npy") -Three_D_movement_2 = np.load("recorded_data/3D_movement_2.npy") -Three_D_zigzag_1 = np.load("recorded_data/3D_zigzag_1.npy") -Three_D_zigzag_2 = np.load("recorded_data/3D_zigzag_2.npy") -z_axis_moving_1 = np.load("recorded_data/z_axis_moving_1.npy") -# z_axis_moving_2 = np.load("recorded_data/z_axis_moving_2.npy") # Recording missing? -z_wave_1 = np.load("recorded_data/z_wave_1.npy") -z_wave_2 = np.load("recorded_data/z_wave_2.npy") -recordings_dict = {"center": center, # shape: (26, 2000, 19) = [P1-P25, 2k samples, fv] - "off_center": off_center, - "horizontal": horizontal, - "diagonal": diagonal, - "horizontal_and_diagonal": np.append(horizontal, diagonal, axis=0), - "zigzag_1": zigzag_1, - "zigzag_2": zigzag_2, - "wave_1": wave_1, - "wave_2": wave_2, - "spiral_1": spiral_1, - "half_current_horizontal": half_current_horizontal, - "half_current_diagonal": half_current_diagonal, - "double_current_horizontal": double_current_horizontal, - "double_current_diagonal": double_current_diagonal, - "z_axis": z_axis, - "z_axis_off_center": z_axis_off_center, - "Three_D_movement_1": Three_D_movement_1, - "Three_D_movement_2": Three_D_movement_2, - "Three_D_zigzag_1": Three_D_zigzag_1, - "Three_D_zigzag_2": Three_D_zigzag_2, - "z_axis_moving_1": z_axis_moving_1, - "z_wave_1": z_wave_1, - "z_wave_2": z_wave_2} +def plot_art_positions(positions, annotate_flag, markersize, annotation_size): -# print("recordings_dict: ", recordings_dict["zigzag_1"]) -# print("shape: recordings_dict: ", np.shape(recordings_dict["zigzag_1"])) + for i in range(len(positions)): + if i == 0: # only add the label to one of the points + xy_subplot.scatter(positions[i, 0], positions[i, 1], color="green", label="ART System", s=markersize, marker="x") + yz_subplot.scatter(positions[i, 2], positions[i, 1], color="green", label="ART System", s=markersize, marker="x") + else: + xy_subplot.scatter(positions[i, 0], positions[i, 1], color="green", s=markersize, marker="x") + yz_subplot.scatter(positions[i, 2], positions[i, 1], color="green", s=markersize, marker="x") -# this only takes the first sample of each recording -recording_dict_fs = {"center": center[:, 0, :], - "off_center": off_center[:, 0, :], - "horizontal": horizontal[:, 0, :], - "diagonal": diagonal[:, 0, :], - "horizontal_and_diagonal": recordings_dict["horizontal_and_diagonal"][:, 0, :], - "zigzag_1": zigzag_1[0, :], - "zigzag_2": zigzag_2[0, :], - "wave_1": wave_1[0, :], - "wave_2": wave_2[0, :], - "spiral_1": spiral_1[0, :], - "half_current_horizontal": half_current_horizontal[:, 0, :], - "half_current_diagonal": half_current_diagonal[:, 0, :], - "double_current_horizontal": double_current_horizontal[:, 0, :], - "double_current_diagonal": double_current_diagonal[:, 0, :], - "z_axis": z_axis[:, 0, :], - "z_axis_off_center": z_axis_off_center[:, 0, :], - "Three_D_movement_1": Three_D_movement_1[0, :], - "Three_D_movement_2": Three_D_movement_2[0, :], - "Three_D_zigzag_1": Three_D_zigzag_1[0, :], - "Three_D_zigzag_2": Three_D_zigzag_2[0, :], - "z_axis_moving_1": z_axis_moving_1[0, :], - "z_wave_1": z_wave_1[0, :], - "z_wave_2": z_wave_2[0, :]} + #print("ART: x=", art_info[0, 1], ", y=", art_info[0, 2], ", z=", art_info[0, 3]) + + if annotate_flag: + xy_subplot.annotate("P" + str(i+1), (positions[i, 0], positions[i, 1]), color="green", size=annotation_size) + yz_subplot.annotate("P" + str(i+1), (positions[i, 2], positions[i, 1]), color="green", size=annotation_size) - - -def calc_multiple_positions(recording_name, only_fs, sf_list, k_list): +def calc_multiple_positions(data, output_filename, only_fs, sf_list, k_list): """ Takes a recording name and calculates a lot of positions for it, for each given scaling_factor and k_nearest_factor and stores them all as numpy arrays in folder "calculated_positions/..." @@ -279,28 +276,45 @@ def calc_multiple_positions(recording_name, only_fs, sf_list, k_list): :param only_fs: only take first sample of recording :param sf_list: list with all scaling factors to localize with :param k_list: list with all k_nearest factors to localize with + :param output_filename: it saves the positions under this name. It adds stuff like the scaling factor , k-nearest automatically + :return returns an array containing all positions [3, len(sf_list)*len(k_list)] """ - if only_fs: - data = recording_dict_fs[recording_name] - else: - data = recordings_dict[recording_name] + positions = np.zeros((len(sf_list)*len(k_list), np.shape(data)[0], 3)) # shape: [1000, 42, 3] = [Combinations of sf and k, P1-P42, 3 xyz] - path_list = [] + i = 0 + j = 0 print("----Calculating positions for ", len(sf_list) * len(k_list), " combinations of sf and k-----") for sf in sf_list: localization.scale_factor = sf for k in k_list: localization.k_nearest = k - localization.localize_all_samples_direct(data, recording_name + "_sf=" + str(sf) + "_k=" + str(k)) - path_list.append("calculated_positions/"+recording_name + "_sf=" + str(sf) + "_k=" + str(k)+".npy") + positions[(i+j), :, :] = localization.localize_all_samples_direct(data, output_filename + "_sf=" + str(sf) + "_k=" + str(k)) + + if len(k_list) != 1: # only increment this if we have multiple k_nearests getting tested + j += 1 + if len(sf_list) != 1: # only increment i if we have mutliple scaling factors getting tested + i += 1 + print("progress ", i, "/", (len(sf_list)*len(k_list))) print("----Finished all position calculations-----") - for path in path_list: - print(path) + return positions -def plot_multiple_positions(recording_name, sf_list, k_list, only_label_once, xy_title, yz_title, annotate_points, labels, color_all_black): - global plot_art_call_counter +def plot_multiple_positions(positions_filename, sf_list, k_list, only_label_once, xy_title, yz_title, annotate_points, labels, color_all_black, markersize, annotationsize): + """ + You can give this function the name of an IndLoc recording and a bunch of scaling factors and k-nearests + and it will plot you all of them. + :param recording_name: + :param sf_list: + :param k_list: + :param only_label_once: + :param xy_title: + :param yz_title: + :param annotate_points: + :param labels: + :param color_all_black: + :return: + """ colors = iter(plt.cm.jet(np.linspace(0, 1, len(sf_list)*len(k_list)))) #markers = iter(['o', '8', 'p', '>', 'd', 'H', 'x','v', '^','*', 'D','s', 'h', '+', '<']) markers = iter(['x', 'x']) @@ -310,23 +324,23 @@ def plot_multiple_positions(recording_name, sf_list, k_list, only_label_once, xy for k in k_list: color = next(colors) marker = next(markers) - positions = np.load("calculated_positions/"+recording_name + "_sf=" + str(sf) + "_k=" + str(k)+".npy") + positions = np.load("calculated_positions/"+positions_filename + "_sf=" + str(sf) + "_k=" + str(k)+".npy") # print("Plotting positions for: sf=", sf, ", k=", k, positions) # show all positions print("Plotting positions for: sf=", sf, ", k=", k) # minimal print view if color_all_black: - xy_subplot.scatter(positions[:, 0], positions[:, 1], marker=marker, color="black", label=next(labels), s=100) - yz_subplot.scatter(positions[:, 2], positions[:, 1], marker=marker, color="black", s=100) + xy_subplot.scatter(positions[:, 0], positions[:, 1], marker=marker, color="black", label=next(labels), s=markersize) + yz_subplot.scatter(positions[:, 2], positions[:, 1], marker=marker, color="black", s=markersize) if annotate_points: for i in range(len(positions[:, 0])): - xy_subplot.annotate("P" + str(i + 1), (positions[i, 0], positions[i, 1]), color="black", size=15) - yz_subplot.annotate("P" + str(i + 1), (positions[i, 2], positions[i, 1]), color="black", size=15) + xy_subplot.annotate("P" + str(i + 1), (positions[i, 0], positions[i, 1]), color="black", size=annotationsize) + yz_subplot.annotate("P" + str(i + 1), (positions[i, 2], positions[i, 1]), color="black", size=annotationsize) else: xy_subplot.scatter(positions[:, 0], positions[:, 1], marker=marker, facecolor=color, label=next(labels)) yz_subplot.scatter(positions[:, 2], positions[:, 1], marker=marker, facecolor=color) if annotate_points: for i in range(len(positions[:, 0])): - xy_subplot.annotate("P" + str(i + 1), (positions[i, 0], positions[i, 1]), color=color, size=15) - yz_subplot.annotate("P" + str(i + 1), (positions[i, 2], positions[i, 1]), color=color, size=15) + xy_subplot.annotate("P" + str(i + 1), (positions[i, 0], positions[i, 1]), color=color, size=annotationsize) + yz_subplot.annotate("P" + str(i + 1), (positions[i, 2], positions[i, 1]), color=color, size=annotationsize) @@ -334,124 +348,168 @@ def plot_multiple_positions(recording_name, sf_list, k_list, only_label_once, xy xy_subplot.set_title(str(yz_title), size=20) +def eval_loc(IndLoc_pos, ART_pos): + """ + Takes 2 arrays full of x,y,z positions. Calculated the distance between the two for each position. + Then calculates the distance for each point. Then the mean_distance and the standard_deviation of all positions together. -recording_selection = "horizontal_and_diagonal" + :param IndLoc_pos: np.array[i, 3] (a number of positions: x,y,z) + :param ART_pos: np.array[i, 3] (a number of positions: x,y,z) + :return: distances, mean_distance, std_dev_distance + """ + if np.shape(IndLoc_pos) != np.shape(ART_pos): + print("During calc distance function. Positions arrays dont have the same shape. \n IndLoc (shape):", + np.shape(IndLoc_pos), " ART (shape):", np.shape(ART_pos)) + else: + distances = np.zeros((np.shape(IndLoc_pos)[0], 1)) # create an array containing all distances + for i in range(np.shape(IndLoc_pos)[0]): # iterate through all positions + x_IndLoc = IndLoc_pos[i, 0] + y_IndLoc = IndLoc_pos[i, 1] + z_IndLoc = IndLoc_pos[i, 2] + + x_ART = ART_pos[i, 0] + y_ART = ART_pos[i, 1] + z_ART = ART_pos[i, 2] + + distance = math.sqrt( + (x_IndLoc - x_ART) ** 2 + (y_IndLoc - y_ART) ** 2) # calculate difference for each position + distances[i] = distance + # print("i", i) + # print("IndLoc: x=", x_IndLoc, ", y=", y_IndLoc) + # print("ART: x=", x_ART, ", y=", y_ART) + + mean_distance = np.mean(distances) + std_dev_distance = np.std(distances) + + return distances, round(mean_distance, 2), round(std_dev_distance, 2) + + +def load_entire_ART(recording_names): + """ + :param recording_names: list of all recording that are to be loaded ["center", "horizontal", "diagonal"] + :return: an array containing them all appended together + """ + x_list = [] + y_list = [] + z_list = [] + + for i in range(len(recording_names)): # iterate through list of wanted recordings + print("Loading ART", recording_names[i]) + for j in range(1, 30): # it always starts with "P1 and ends variable but never over P30" + try: + current_pos = art_file_to_position(recording_names[i]+"_P"+(str(j))) + x_list.append(current_pos[0]) + y_list.append(current_pos[1]) + z_list.append(current_pos[2]) + except FileNotFoundError: + break + + pos = np.zeros((len(x_list), 3)) + + pos[:, 0] = x_list + pos[:, 1] = y_list + pos[:, 2] = z_list + + return pos + + + + # Normal ART Loading (1 Recording) + # for i in range(1, 26): + # print("i", i) + # # if i <= 21: + # # pos = plot_art("horizontal_P" + str(i), annotate_point=False) + # if i == 26: + # label_flag = True + # pos = plot_art(recording_selection+"_P" + str(i), annotate_point=False) + # x_list.append(pos[0]) + # y_list.append(pos[1]) + # z_list.append(pos[2]) + + +# Make the plot look nice plot_surroundings() +# Load ART positions +ART_pos = load_entire_ART(["double_current_horizontal", "double_current_diagonal"]) + +# Load IndLoc data +horizontal = recordings_dict["double_current_horizontal"] +diagonal = recordings_dict["double_current_diagonal"] +IndLoc_data = np.append(horizontal, diagonal, axis=0) # shape (42, 2000, 19) = (P1-P42, 2k samples, fv) + +# Average IndLoc data +IndLoc_data = np.average(IndLoc_data, axis=1) # shape (42, 19) = (P1-P42, fv_avg) + +# Localize IndLoc data for each scaling factor in sf_list and each k in k_list +sf_list = [0.001] # [0.002] +k_list = [3] +IndLoc_pos = calc_multiple_positions(data=IndLoc_data, + output_filename="horizontal_diagonal", + only_fs=True, + sf_list=sf_list, + k_list=k_list) + +# Find the best localization +best_mean = 10000 +best_std_dev = 10000 +best_both = 10000 +for i in range((len(sf_list)*len(k_list))): + distances, curr_mean, curr_std_dev = eval_loc(ART_pos=ART_pos, IndLoc_pos=IndLoc_pos[i]) + + curr_both = curr_mean + curr_std_dev + + if curr_mean <= best_mean: + best_both = curr_both + best_mean = curr_mean + best_std_dev = curr_std_dev + index = i + +best_sf = sf_list[index] + +print("\n----Best localization parameters were found!-----\n scaling_factor = ", best_sf, "\n mean_error = ", best_mean, + "\n standard_deviation = ", best_std_dev) - -# # std dev and average calculations -ART = np.zeros((42, 3)) -label_flag = False - -x_list = [] -y_list = [] -z_list = [] - -for i in range(1, 43): - print("i", i) - if i <= 21: - pos = plot_art("horizontal_P" + str(i), annotate_point=False) - else: - if i == 42: - label_flag = True - pos = plot_art("diagonal_P" + str(i-21), annotate_point=False) - x_list.append(pos[0]) - y_list.append(pos[1]) - z_list.append(pos[2]) - -ART[:, 0] = x_list -ART[:, 1] = y_list -ART[:, 2] = z_list - - -# print("ART shape", np.shape(ART)) -# print("ART nach dem laden:\n", ART) - - -IndLoc = np.zeros((42, 3)) -data = recording_dict_fs[recording_selection] - -scale_factor_list = [0.00204] #[0.001755, 0.001, 0.002, 0.003, 0.004, 0.005] -print("Testing so many scaling_factors: ", len(scale_factor_list)) -min_avg = 10000 -min_std = 10000 -min_both = 10000 - -best_sf = 0 -mean_at_best_sf = 1000 -std_at_best_sf = 1000 - -for s_f in scale_factor_list: - localization.scale_factor = s_f - localization.k_nearest = 3 - IndLoc = localization.localize_all_samples_direct(data, "current_positions") - - # print("IndLoc shape", np.shape(IndLoc)) - # print("IndLoc:\n", IndLoc) - - - distances = np.zeros((42, 1)) - for i in range(np.shape(IndLoc)[0]): - x_IndLoc = IndLoc[i, 0] - y_IndLoc = IndLoc[i, 1] - z_IndLoc = IndLoc[i, 2] - - x_ART = ART[i, 0] - y_ART = ART[i, 1] - z_ART = ART[i, 2] - - distance = math.sqrt( (x_IndLoc - x_ART)**2 + (y_IndLoc - y_ART)**2 ) - distances[i] = distance - # print("i", i) - # print("IndLoc: x=", x_IndLoc, ", y=", y_IndLoc) - # print("ART: x=", x_ART, ", y=", y_ART) - - avg_distance = np.average(distances) - median_distance = np.median(distances) - mean_distance = np.mean(distances) - std_dev_distance = np.std(distances) - - both = avg_distance + std_dev_distance - - if avg_distance < min_avg: - min_avg = avg_distance - # print("[mean]minimum found at scaling_factor = ", s_f, "; min_avg = ", min_both) - if std_dev_distance < min_std: - min_std = std_dev_distance - # print("[std_dev]minimum found at scaling factor = ", s_f, "; min_std = ", min_std) - if both < min_both: - min_both = both - # print("[both]scaling factor for lowest min_both = ", s_f, "; min_both = ", min_both) - best_sf = s_f - mean_at_best_sf = avg_distance - std_at_best_sf = std_dev_distance - -print("Best scaling factor = ", best_sf, " mean = ", mean_at_best_sf, "std_dev = ", std_at_best_sf, "; min_both = ", min_both) - - # print("avg_distance", avg_distance) - # print("median_distance", median_distance) - # print("mean_distance", mean_distance) - # print("std dev distance", std_dev_distance) - -calc_multiple_positions(recording_name=recording_selection, - only_fs=True, +# Plot IndLoc pos +plot_multiple_positions(positions_filename="horizontal_diagonal", sf_list=[best_sf], - k_list=[3]) - -plot_multiple_positions(recording_name=recording_selection, - sf_list=[best_sf], - k_list=[3], + k_list=k_list, only_label_once=True, - xy_title="Testing the scaling factor for the entire localization area", - yz_title="Testing the scaling factor for the entire localization area", + xy_title="Statistical optimization of the scaling factor for the entire localization area", + yz_title="Statistical optimization of the scaling factor for the entire localization area", annotate_points=False, - labels=iter(["scaling factor = " + str(best_sf)]), - color_all_black=True) + annotationsize=15, + labels=iter(["scaling factor = " + str("{:.6f}".format(best_sf))]), + color_all_black=True, + markersize=100) + +# Plot ART positions +plot_art_positions(ART_pos, annotate_flag=False, markersize=100, annotation_size=15) +# print(IndLoc_pos) +#recording_selection = "horizontal_and_diagonal" + + + +# scale_factor_list = [0.001755] +# +# calc_multiple_positions(recording_name=recording_selection, +# only_fs=True, +# sf_list=[0.001755], +# k_list=[3]) +# +# plot_multiple_positions(recording_name=recording_selection, +# sf_list=[0.001755], +# k_list=[3], +# only_label_once=True, +# xy_title="Statistical optimization of the scaling factor for an offcenter set of points", +# yz_title="Statistical optimization of the scaling factor for an offcenter set of points", +# annotate_points=False, +# labels=iter(["scaling factor = " + str("{:.6f}".format(0.001755))]), +# color_all_black=True) xy_subplot.legend(bbox_to_anchor=(1.01, 1.00), loc=2, borderaxespad=0., fontsize=10) plt.show() diff --git a/BachelorThesis/Writing/2021_Seyffer_Investigating the precision of an induction-based localization system for medical applications.aux b/BachelorThesis/Writing/2021_Seyffer_Investigating the precision of an induction-based localization system for medical applications.aux index 9a22179..e3d578b 100644 --- a/BachelorThesis/Writing/2021_Seyffer_Investigating the precision of an induction-based localization system for medical applications.aux +++ b/BachelorThesis/Writing/2021_Seyffer_Investigating the precision of an induction-based localization system for medical applications.aux @@ -190,15 +190,17 @@ \newlabel{fig:estimation_scaling_factor_1}{{14}{21}} \@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces A zoomed in view of Figure \ref {fig:estimation_scaling_factor_1} shows which scaling factors result in a localization closest to the correct positions.\relax }}{22}\protected@file@percent } \newlabel{fig:estimation_scaling_factor_2}{{15}{22}} -\@writefile{lof}{\contentsline {figure}{\numberline {16}{\ignorespaces Placing the object in 25 positions near the centre of the localization area with a scaling factor of 0.001755, resulting in mean error $\mu = 3.757\textit {m}m$ and standard deviation $\sigma = 3.279\textit {m}m$.\relax }}{23}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {16}{\ignorespaces Placing the object in 25 positions near the centre of the localization area with a scaling factor of 0.001755, resulting in mean error $\mu = 3.76\textit {m}m$ and standard deviation $\sigma = 3.28\textit {m}m$.\relax }}{23}\protected@file@percent } \newlabel{fig:estimation_scaling_factor_3}{{16}{23}} -\@writefile{lof}{\contentsline {figure}{\numberline {17}{\ignorespaces The localization with a scaling factor of 0.001755 with a set of points which is located more towards the edges of the localization area\relax }}{24}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {17}{\ignorespaces Placing the object in 25 positions near the corner of the localization area with a scaling factor of 0.001755, , resulting in mean error $\mu = 6.18\textit {m}m$ and standard deviation $\sigma = 7.71\textit {m}m$.\relax }}{24}\protected@file@percent } \newlabel{fig:estimation_scaling_factor_4}{{17}{24}} -\@writefile{lof}{\contentsline {figure}{\numberline {18}{\ignorespaces Using the entire localization area. The best scaling factor was found at 0.00204 $\mu = 7.42 \tmspace +\medmuskip {.2222em} \sigma = 6.48$\relax }}{24}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {18}{\ignorespaces Placing the object in 42 positions running from the centre to the edges of the localization area with a scaling factor of 0.00204, , resulting in mean error $\mu = 7.42\textit {m}m$ and standard deviation $\sigma = 6.48\textit {m}m$.\relax }}{24}\protected@file@percent } \newlabel{fig:estimation_scaling_factor_5}{{18}{24}} -\@writefile{toc}{\contentsline {section}{\numberline {6}RESULTS}{25}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {7}DISCUSSION}{26}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {8}SUMMARY, OUTLOOK INTO THE FUTURE}{27}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {19}{\ignorespaces With averaged IndLoc feature vectors 0.00204, , resulting in mean error $\mu = 7.34\textit {m}m$ and standard deviation $\sigma = 6.49\textit {m}m$.\relax }}{25}\protected@file@percent } +\newlabel{fig:estimation_scaling_factor_6}{{19}{25}} +\@writefile{toc}{\contentsline {section}{\numberline {6}RESULTS}{26}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {7}DISCUSSION}{27}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {8}SUMMARY, OUTLOOK INTO THE FUTURE}{28}\protected@file@percent } \bibdata{Literatur_BA_2} \bibcite{HARRIEHAUSEN.2020b}{1} \bibcite{Albach.2014}{2} diff --git a/BachelorThesis/Writing/2021_Seyffer_Investigating the precision of an induction-based localization system for medical applications.log b/BachelorThesis/Writing/2021_Seyffer_Investigating the precision of an induction-based localization system for medical applications.log index 5877255..1d83351 100644 --- a/BachelorThesis/Writing/2021_Seyffer_Investigating the precision of an induction-based localization system for medical applications.log +++ b/BachelorThesis/Writing/2021_Seyffer_Investigating the precision of an induction-based localization system for medical applications.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.20 (MiKTeX 2.9.7250 64-bit) (preloaded format=pdflatex 2020.4.5) 9 FEB 2021 09:08 +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (MiKTeX 2.9.7250 64-bit) (preloaded format=pdflatex 2020.4.5) 9 FEB 2021 13:48 entering extended mode **"./2021_Seyffer_Investigating the precision of an induction-based localizatio n system for medical applications.tex" @@ -1079,23 +1079,33 @@ LaTeX Warning: `h' float specifier changed to `ht'. File: Images/estimation_scaling_factor_5.png Graphic file (type png) Package pdftex.def Info: Images/estimation_scaling_factor_5.png used on input -line 575. +line 580. (pdftex.def) Requested size: 372.48503pt x 257.75844pt. LaTeX Warning: `h' float specifier changed to `ht'. -[23 <./Images/estimation_scaling_factor_3.png>] [24 <./Images/estimation_scalin -g_factor_4.png> <./Images/estimation_scaling_factor_5.png>] [25 + +File: Images/estimation_scaling_factor_6.png Graphic file (type png) + +Package pdftex.def Info: Images/estimation_scaling_factor_6.png used on input +line 592. +(pdftex.def) Requested size: 371.28055pt x 250.23044pt. -] [26 +LaTeX Warning: `h' float specifier changed to `ht'. + +[23 <./Images/estimation_scaling_factor_3.png>] [24 <./Images/estimation_scalin +g_factor_4.png> <./Images/estimation_scaling_factor_5.png>] [25 <./Images/estim +ation_scaling_factor_6.png>] [26 ] [27 +] [28 + ] ("2021_Seyffer_Investigating the precision of an induction-based localization s -ystem for medical applications.bbl" [28 +ystem for medical applications.bbl" [29 -] [29]) [30] +] [30]) [31] ("2021_Seyffer_Investigating the precision of an induction-based localization s ystem for medical applications.aux") ) (\end occurred inside a group at level 1) @@ -1103,10 +1113,10 @@ ystem for medical applications.aux") ) ### semi simple group (level 1) entered at line 27 (\begingroup) ### bottom level Here is how much of TeX's memory you used: - 16145 strings out of 492482 - 326303 string characters out of 3121123 - 413498 words of memory out of 3000000 - 20168 multiletter control sequences out of 15000+200000 + 16153 strings out of 492482 + 326600 string characters out of 3121123 + 413508 words of memory out of 3000000 + 20176 multiletter control sequences out of 15000+200000 14809 words of font info for 52 fonts, out of 3000000 for 9000 1141 hyphenation exceptions out of 8191 64i,19n,83p,1843b,12246s stack positions out of 5000i,500n,10000p,200000b,50000s @@ -1133,10 +1143,10 @@ ers/Julian/AppData/Local/Programs/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cms y9.pfb> Output written on "2021_Seyffer_Investigating the precision of an induction-bas -ed localization system for medical applications.pdf" (33 pages, 5459603 bytes). +ed localization system for medical applications.pdf" (34 pages, 5505845 bytes). PDF statistics: - 253 PDF objects out of 1000 (max. 8388607) + 258 PDF objects out of 1000 (max. 8388607) 0 named destinations out of 1000 (max. 500000) - 244 words of extra memory for PDF output out of 10000 (max. 10000000) + 249 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/BachelorThesis/Writing/2021_Seyffer_Investigating the precision of an induction-based localization system for medical applications.pdf b/BachelorThesis/Writing/2021_Seyffer_Investigating the precision of an induction-based localization system for medical applications.pdf index be2b105a8c7a641a936bd93610be3a9b66d29132..92c06211ca73a80848741d4a2aeb0918d252db40 100644 GIT binary patch delta 51879 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%0APN4oXC4uL3T2X5x&Em`Z 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 delta 35180 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≤i}iWBA_oBEjyZ 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