diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..95dd6ef Binary files /dev/null and b/.DS_Store differ diff --git a/._.DS_Store b/._.DS_Store new file mode 100644 index 0000000..338bd7b Binary files /dev/null and b/._.DS_Store differ diff --git a/._drawStims.py b/._drawStims.py new file mode 100644 index 0000000..8869f89 Binary files /dev/null and b/._drawStims.py differ diff --git a/._drawStims.pyc b/._drawStims.pyc new file mode 100644 index 0000000..8869f89 Binary files /dev/null and b/._drawStims.pyc differ diff --git a/._shapes.py b/._shapes.py new file mode 100644 index 0000000..8869f89 Binary files /dev/null and b/._shapes.py differ diff --git a/._shapes.pyc b/._shapes.pyc new file mode 100644 index 0000000..8869f89 Binary files /dev/null and b/._shapes.pyc differ diff --git a/data/9.txt b/data/9.txt new file mode 100644 index 0000000..e5eb646 --- /dev/null +++ b/data/9.txt @@ -0,0 +1,16 @@ +1 N B N B A 4 3 shapes B 0 False 9 (7.8670768943017677, -1.4914653639559141) (-8.409656593042266, -2.8144611061696496) (-8.0804010793360046, 4.0054554569572005) (4.2178678338839166, 7.8313971036362773) 1.0 slash 0.685998 +2 N A B N M 4 2 shapes B 0 False 9 (4.2464205552807535, -6.8173306040906407) (1.5955404097999022, 8.6885517024948236) (-2.2070847255166841, 5.5209765137600915) (-4.2150098913659271, -0.62291222783768951) 1.0 slash 0.78517 +3 M A N A B 4 2 shapes N 0 False 9 (-5.071852423396539, 7.9814993072395239) (7.6345086585107893, -2.4969092115231906) (1.8611159067398688, 8.4638527358962214) (-0.76090695240490724, -2.9177332097101942) 1.0 slash 0.479162 +4 N B M A B 4 3 shapes A 0 False 9 (-1.3499525105812333, 0.64023603710738186) (-7.8104139653168767, -8.7170101339916304) (2.9136769300927874, -8.5794714053696666) (5.6089985278277474, 7.9833201847395969) 1.0 slash 0.37794 +5 N A N B M 4 3 shapes B 0 False 9 (4.1117474021891773, -5.1813373972324204) (-0.40574647847038392, -0.17653214041867216) (3.6882307516961639, 3.9046743934364425) (-6.8696783940444348, 1.3546177124744752) 1.0 slash 0.600779 +6 M B M N M 4 1 shapes B 0 False 9 (-1.8098661115823074, -0.87604565268332824) (7.6110350152998478, 2.6231119287299727) (-2.2976360674151337, 8.1746684706879087) (0.14015109779801449, -4.6166038322257501) 1.0 slash 0.390241 +7 N B N M M 4 2 shapes N 0 False 9 (5.0834726840321967, -6.2819468997322261) (2.6804791012986549, 0.71786455018573747) (-5.6090527983580163, 1.5306867168551825) (-8.5854484365947545, -7.4856587041949965) 1.0 slash 0.580526 +8 N A A M B 4 2 shapes A 0 False 9 (-2.5706002365003746, -2.5144775729358591) (-5.9844721965766228, 2.6649898764207105) (2.3710606252203537, -6.0432504907931692) (3.3095210751947484, 5.8621724741012535) 1.0 slash 0.49845 +1 P D P P D 4 0 shapes P 1 False 9 (2.7211527343958757, 6.0699541248324937) (-1.2071923641898854, 4.486494256668804) (-3.1123073654485225, -2.6715702197448765) (8.5146227657693458, -2.773982792446005) 1.0 slash 0.640781 +2 O D P O P 4 1 shapes D 1 False 9 (2.2165201700805444, -7.044158016544265) (-2.884561924606972, 2.7919657105631277) (-7.8493312498339112, -3.6496039853604731) (4.0114369966016739, 1.668371791171003) 1.0 slash 0.468234 +3 P D O C P 4 2 shapes O 1 False 9 (2.4413844416820307, -6.9679271563871392) (-4.6545425602607899, 8.1946524595109196) (-8.6568316872850417, -2.8734042534396851) (1.7218566743334307, 3.143953156504196) 1.0 slash 0.487054 +4 P C O O C 4 3 shapes O 1 False 9 (-7.1116279584424849, -1.9589733046914235) (5.7611418801772594, -7.3684334705721435) (-3.4911161453275747, 1.4915606848485634) (2.7443156351598983, 4.6734075769012531) 1.0 slash 0.689221 +5 O D C C O 4 2 shapes C 1 False 9 (-3.8215811848834198, 6.7069979202377041) (1.5967588941811517, -4.0036254716171467) (6.4182871428046298, 7.1916588921521338) (-7.6044778522130096, -0.55050711708110356) 1.0 slash 0.506402 +6 O C P D P 4 1 shapes C 1 False 9 (7.8375237481272038, 0.97737096325096928) (3.4003076492398705, -2.5458631819159958) (-7.4199299170159367, -2.8215194559865839) (-2.5118665035088945, 5.7632554964163685) 1.0 slash 0.491967 +7 O D P O C 4 2 shapes P 1 False 9 (-5.9509832195165533, 6.575963470643444) (5.7325942777996364, 5.7741344422939651) (5.3551869372829728, -4.1944374673272433) (-6.3930834118569182, -0.79177285719671797) 1.0 slash 0.50145 +8 P C D P O 4 0 shapes P 1 False 9 (0.10719198622865278, 7.5301575442929973) (6.8497877966360434, -1.9371589241647111) (-2.2962488773308545, -3.7291598653730791) (-7.9979399180799025, 4.409290473328987) 1.0 slash 0.390918 diff --git a/data/all.txt b/data/all.txt new file mode 100644 index 0000000..bdf4286 --- /dev/null +++ b/data/all.txt @@ -0,0 +1,313 @@ +TrialNumber stim0 stim1 stim2 stim3 stim.probe ttl.stims corr.num trial.type stim.corr block match Subject stim.pos0 stim.pos1 stim.pos2 stim.pos3 ran resp RT +1 M A A M A 8 7 shapes M Practice False 9 (2.3357192888667804, -7.9777021980747147) (6.8058748611994222, -1.4432479075190754) (-0.48152278558229433, 5.9690196824821875) (4.013879998718993, 2.1849615091721617) 1.0 slash 1.30411 +2 M B N A N 8 2 shapes N Practice True 9 (5.2520664095460639, 8.1624164239430534) (5.6209880941266999, 2.890337754900127) (-8.3368629517180395, -4.3777535035643567) (-6.1988456099478562, -0.59185548309511304) 1.0 z 1.47964 +3 M A N B A 8 2 shapes N Practice False 9 (-4.0798946856763232, 0.9605325110886529) (3.7374833007779582, 1.8756476617300386) (-6.4477866406402802, -4.4478547818035183) (8.1998592008803435, -4.9808942840778041) 1.0 z 1.01331 +4 N B A M B 4 1 shapes B Practice True 9 (-3.6357331328133391, 8.083018760885988) (4.1105273647565532, -5.6405026809068533) (7.6086763671784219, 4.6375924450217596) (-0.56841792195760554, -2.0497557318976032) 1.0 z 0.812993 +5 N A N B M 4 1 shapes A Practice False 9 (-0.70553720315421664, -0.9834172350290018) (5.7458542770099346, 5.2279679525218725) (3.6262007324079928, -0.47162293648202969) (-7.4646902870375298, 7.3229652120268938) 1.0 slash 0.91686 +6 N A N A A 8 1 shapes A Practice True 9 (-4.3650022858584521, -2.9038150243651701) (8.1521298638967536, -3.2595811576667391) (7.5442892809494424, 2.2186177547052406) (4.7297813486347309, 6.0498895234174732) 1.0 z 0.850255 +7 N B M B N 4 0 shapes N Practice True 9 (4.3492147204270122, 1.7303083283949281) (2.0139942112627214, -6.6301172618040036) (-5.3122982750509262, -1.7840044511323949) (-4.9845894088245242, 2.8011733640210466) 1.0 z 0.881968 +8 M B M A A 4 2 shapes M Practice False 9 (7.3869752595439557, 0.69688283657158578) (8.1344601386267037, -3.8922185959434588) (-5.3285392817770161, 6.8719409627212649) (-6.8239459597981877, -0.71706439075138029) 1.0 slash 0.763592 +1 N B M B A 4 0 shapes N 0 False 9 (2.0380641860999518, 0.53275054715643577) (-8.2510201065307776, -7.7973050269381758) (-0.77880599270994466, 7.7796388688041063) (3.4004768515364798, -8.1051059892214354) 1.0 slash 1.24271 +2 N B B N B 8 1 shapes B 0 True 9 (-2.1569959368107918, -3.9175625914284131) (-5.7031630750326929, -1.9831094481963607) (7.7831889306405309, -7.0656766935251127) (1.6005069865957431, 8.3462638473995021) 1.0 z 1.45444 +3 N B N N N 4 0 shapes N 0 True 9 (-3.2042155249901425, 1.876412947292815) (6.3560669832262064, 2.7373753668041108) (-5.9949572493445356, -7.0863770834349769) (3.6449128363065988, -7.9008705920882472) 1.0 z 0.806227 +4 M B A M B 4 1 shapes B 0 True 9 (7.3933366904433448, 0.12289518808196753) (-5.2710085051039144, -3.8180939476436482) (-7.6335966667226263, 5.1531304189375948) (0.53498912418205968, -7.1386680108465255) 1.0 z 0.687529 +5 N A A B N 4 0 shapes N 0 True 9 (6.5349516872142281, 1.4240697756737184) (5.3617913350254582, -6.2345897167007696) (-5.154885099551576, 8.5212005362572789) (-4.9644664734754276, -7.3522140179867019) 1.0 z 0.73535 +6 M B M A B 8 2 shapes M 0 False 9 (-4.7634622155366628, -7.4388852465687254) (2.4413442197248205, -7.1138614831356124) (5.1743177542092518, -0.79807716818977603) (-1.3501534019956436, 8.527504833717245) 1.0 slash 1.05701 +7 N A A A B 4 0 shapes N 0 False 9 (-0.046872075565243421, -6.1891259414293902) (-7.773983781761852, 1.9448521365553155) (1.0064080143735943, 6.1316117064722633) (6.4970783769295348, -2.6384711922578008) 1.0 slash 0.582599 +8 N A B B N 8 5 shapes M 0 False 9 (-4.9201618233444391, 8.6821861084715621) (6.6220770381950071, -5.1311124398182946) (-5.2515048845948353, -4.1758307954465428) (6.944170387691937, 3.2329752312283038) 1.0 slash 1.16629 +9 M B B A M 4 0 shapes M 0 True 9 (3.291077037989762, -4.2612574299617902) (-1.3072420070995525, 3.3828490353401346) (-0.049129366894387516, -1.6498754157176734) (6.169407740609536, 5.5204158312680782) 1.0 z 0.74386 +10 N A A M B 8 3 shapes M 0 False 9 (3.0188143019267937, -0.22481950681686058) (-6.2083382652415651, -1.5394813262773859) (-5.9171872589168428, -6.9942972417200444) (-4.5861862505369446, 7.7136530005082271) 1.0 slash 0.751557 +11 M B B B B 8 4 shapes M 0 False 9 (6.7528231656241573, 7.4303171407790494) (-3.2985459124214582, 6.1256260106395661) (2.9136249865675552, -7.6408993184759924) (-7.4257212068851768, 2.9789443738100836) 1.0 slash 0.94876 +12 N A M B A 4 1 shapes A 0 True 9 (4.9797958873056043, 5.3273619582868221) (-1.1809237775233576, -7.9085282286596295) (-6.4886578258676018, 1.3088147016238629) (7.1056942662560907, -0.10575856211251278) 1.0 z 0.664811 +13 M B M M N 4 3 shapes M 0 False 9 (-4.3976418430187367, -4.8944973895362303) (7.6472768527116273, 1.2799502644485639) (-0.56944152434276241, 4.9426165960416846) (0.28699246063095885, -0.82550780883364538) 1.0 slash 0.630625 +14 N A A A A 4 0 shapes N 0 False 9 (-6.9935737704588332, 4.5112350077582661) (3.5742406731935521, -3.5788034315488364) (-0.6567697142435005, -0.97702159300987734) (4.0389856424542128, 2.5336157467081044) 1.0 slash 0.634077 +15 N A B N M 4 2 shapes B 0 False 9 (-6.5186106430208666, -1.5059909946595527) (-0.41964545013273735, 0.092263713458770269) (5.8988220165767444, 4.9250544430037042) (7.5857070181393773, -7.0069610427641411) 1.0 slash 0.685886 +16 M B M B M 8 1 shapes B 0 False 9 (6.910524947375114, 0.86867214946719784) (0.16111863054385722, 1.4249749814910491) (-5.3156648119381709, -6.0342248625489185) (-5.9596890774716798, 4.9735479069493795) 1.0 slash 0.633769 +17 N B A M M 8 3 shapes M 0 True 9 (6.1385328436401512, -5.9073522349633549) (-5.6442815290735311, -6.0092244369673757) (-0.30286156602935854, 4.4790231841304973) (8.6920872375217471, -2.7498981850315642) 1.0 slash 0.943105 +18 M B B B M 8 7 shapes N 0 False 9 (-2.4563404868543897, 1.7992817965112096) (-7.3260294504572601, -1.8457681372947352) (3.1610323136624192, 2.8805808185377444) (6.7927772145310925, -3.9156997814051291) 1.0 z 0.942888 +19 M B A A N 8 5 shapes N 0 True 9 (0.25753819902096531, 7.212884783143263) (-3.8808791681874162, 2.0995579656688168) (6.8253199371862454, -3.7695532150611708) (1.1741640291682707, -7.0225330918222459) 1.0 slash 0.982535 +20 M A M N A 4 2 shapes M 0 False 9 (-1.7815137709747892, 8.7498004729213861) (6.4201559325981883, 2.9770869689034889) (1.6420241000286513, -4.1401525700289747) (-2.0578852194348238, -1.8670898325320886) 1.0 slash 0.668306 +21 M B M B B 8 4 shapes B 0 True 9 (4.4781254773845554, 4.7788186845837402) (4.8898949535988496, -1.8650076301575913) (7.0797112488541014, -6.4771818646412864) (-4.7958271634330938, -6.3593595098119584) 1.0 z 0.66784 +22 N A B B N 8 4 shapes N 0 True 9 (-3.1336887061908767, 3.5602799405600578) (-6.1676263807965048, -7.0685349784315648) (3.6937662989362519, 4.6356669505826424) (-2.2618395958827016, -4.2688095056457911) 1.0 z 0.819423 +23 M A M N M 4 0 shapes M 0 True 9 (-1.3934643547261372, -3.4059455494382211) (1.4138998745417553, 0.20233406573723656) (-6.6184265997193759, 0.85838261035455155) (7.1434145089788679, -5.3918755122522821) 1.0 z 0.79311 +24 M B B A A 8 3 shapes A 0 True 9 (-8.2005496027843012, -3.8313125853008119) (1.5850926062299244, -1.5152920694647634) (-4.6103440048137614, 3.9925068463157736) (6.7166149274921718, -3.0172484082291362) 1.0 slash 1.27084 +25 M B B N N 4 3 shapes N 0 True 9 (-0.68924379778315625, 4.2046745298607195) (3.9638092331500729, 4.2076406325999898) (-2.9232023914080401, -5.5313607616413361) (6.7053226816393732, -6.3605318997697164) 1.0 slash 0.778437 +26 N B A B N 8 7 shapes N 0 True 9 (2.1109264592985291, -6.4313194349054381) (2.310292466104821, 2.5417003805289387) (7.1679608120312626, -8.7473932184537873) (-4.2758925006687774, -7.9664105236129235) 1.0 z 1.04396 +27 M A M B M 4 0 shapes M 0 True 9 (-7.1514185323783517, -8.6364185913796128) (3.788459463153302, 6.174570512840905) (-1.4013066182639626, 7.4993809056944265) (8.7038972721384482, -7.1613058904698956) 1.0 z 0.833503 +28 N B A M M 4 2 shapes A 0 False 9 (6.8464105426683535, -6.7443990064980683) (-4.4972605274382795, 5.2538733126640569) (-2.7362452365407055, -2.7048711431887549) (6.8716955808012194, 4.3846646034962351) 1.0 slash 0.60736 +29 N A A M A 8 2 shapes A 0 True 9 (-5.3517478233867815, -4.2484116760809503) (5.7039136900588208, -1.1933113516219391) (-4.2031370016279261, 5.5735112876204678) (1.8133731059185791, -4.6005928828127747) 1.0 z 0.635116 +30 N B A A B 4 3 shapes A 0 False 9 (-6.9820943302505221, -0.89821481672139392) (-8.1196813261286351, 7.7922801715526724) (6.5353533588567938, 5.5800219836569891) (4.7860301817262503, -0.66284277244271372) 1.0 z 0.654748 +31 M A N N A 8 2 shapes N 0 False 9 (-5.5664734130191071, -0.19074970888635256) (8.4632085913727124, 8.1249251500101707) (-0.088745407815864041, -0.010722436282826209) (2.1951920097543685, 8.3094379911158676) 1.0 slash 0.711959 +32 M B B N B 8 0 shapes M 0 False 9 (-0.45044051860875278, -4.8590242169206537) (2.5611207829539797, 7.5724087375636877) (-4.1341361788091779, -2.8170445083956501) (5.9896707958237734, 4.0950623824184014) 1.0 slash 0.614033 +1 P D C P P 4 0 shapes P 1 True 9 (-4.4202824499479663, 0.443090116655668) (2.5104118261468269, -0.090514610422935959) (-6.6559482274709527, -2.926901734955516) (2.9454975741351834, 4.9610552146840927) 1.0 z 0.615644 +2 O D P P O 4 1 shapes D 1 False 9 (-4.6673973383691081, 2.1404958429820837) (5.7846370614555447, -0.4309286988699661) (4.633507456626015, 8.6522989924720655) (-3.672453053855568, -4.5683728293584807) 1.0 slash 0.807269 +3 P C D P C 4 3 shapes P 1 False 9 (3.0269416184034519, -7.5127662490147946) (0.43387612865433312, 3.4987590629352869) (-6.6772358104592593, -6.5530439416584638) (-8.3336042217654249, 2.0163892727940329) 1.0 slash 0.969047 +4 O D P P O 8 1 shapes D 1 False 9 (4.6566347857748287, -8.2221203501411679) (-0.39759440393292955, 6.6576820024533774) (5.4299403513904281, 8.2677694331022487) (8.5999439183964554, -6.7126665663648364) 1.0 slash 0.652643 +5 O D O O D 8 1 shapes D 1 True 9 (-6.2672882546049102, -3.7835782814619883) (2.40017622049543, -2.7755180811702589) (4.8290350608036086, 6.8690939556938684) (7.2751491254653793, -5.6268438674044639) 1.0 z 0.542338 +6 O D C O O 8 2 shapes C 1 False 9 (1.6554199953754178, -5.5177601541478936) (-6.9300066278863168, -8.3461663108724178) (2.6609262998567633, -1.2521589804541815) (5.2394979201769551, 7.5058369813237924) 1.0 slash 0.78995 +7 O D O C D 4 3 shapes C 1 False 9 (-7.0000820703182534, 1.2622728069607376) (-4.4363444632128894, -4.8713906957098709) (8.2054247580368589, -5.9108212012817472) (5.5009050148486551, 7.5711145627123848) 1.0 z 0.617613 +8 O C O P C 8 1 shapes C 1 True 9 (8.0741337403235285, -3.9673982942874009) (5.6559601037180798, -8.2627593786106122) (-5.5369172069031407, -1.3625014261068351) (-4.5800200908474817, -8.6245388215345464) 1.0 slash 1.00342 +9 P D D C O 8 2 shapes D 1 False 9 (6.3560669866645476, 1.8206815938834726) (-4.4282364626195587, -5.77203276756343) (-4.3358172299386206, 4.9431601335433939) (3.1902387894994728, 6.0690273920059568) 1.0 slash 0.694889 +10 P D O P D 4 1 shapes D 1 True 9 (-6.9646692331006639, -2.4646997603300287) (2.4820158519273257, 8.6136603965754581) (-2.9350857935866079, 1.3219558831579352) (3.9568823075220632, -7.2298479135210636) 1.0 z 0.61458 +11 O D P O O 4 0 shapes O 1 True 9 (-7.9269920154257472, 1.048607005791224) (5.4613195989287604, 2.0054429880302997) (0.38217900870568222, -7.4783537876286665) (-3.1037469031069014, -4.8305466412525293) 1.0 slash 0.918382 +12 P C D C C 8 6 shapes O 1 False 9 (5.8807156051179881, 2.9090145345275378) (0.78675177615341596, 6.2162059876575029) (-7.290432883416802, -6.610837496035928) (3.6837872468524484, -6.2546160655427592) 1.0 z 0.99546 +13 P D C C O 8 5 shapes O 1 True 9 (1.5010928294706218, -6.2307622834739913) (5.0851952383537871, 8.5929256435055166) (-5.5191423907068238, 8.1198005132018984) (7.8126390044957468, -1.8853027388152128) 1.0 z 1.00099 +14 P C O O D 8 1 shapes C 1 False 9 (6.7755606775450428, 8.3176622819779951) (-4.1161519239629394, -8.0213269006900862) (0.11074736608127189, -3.1823566390439595) (4.3894307262796541, -6.4847446695459521) 1.0 z 1.11702 +15 O D O C P 4 1 shapes D 1 False 9 (-5.9989405061315058, -7.6564116918713401) (-8.3829425389756107, 1.7541539554138943) (4.5511471989514565, -2.474685951847639) (8.2233521323031376, 1.5771467387329885) 1.0 slash 0.80881 +16 P D O P O 4 2 shapes O 1 True 9 (-5.2921750848222864, 0.5514816701046179) (3.9080956754569467, 2.0778324471523657) (2.5552639212051229, -6.2129324494187701) (-0.12276507786341995, -1.1105445700600338) 1.0 z 0.68054 +17 P C C O P 8 5 shapes P 1 True 9 (-4.0205193551221381, 1.5528084431704396) (4.6480527081688976, -2.6323292944967021) (-7.3805314752683255, 6.9611274393290987) (4.5695296625833404, 3.9062166451557303) 1.0 z 0.614137 +18 P D P D D 8 2 shapes P 1 False 9 (1.7352157298070647, -6.9503827076724534) (5.5045667333823118, 4.5264504388762727) (-4.2463404941868772, -2.7277000791318917) (-3.9554524965862043, -7.3931786768358512) 1.0 slash 0.759332 +19 O C O D C 8 6 shapes C 1 True 9 (-8.1170733709262475, 4.5440535417395509) (4.2812321168308216, -5.7580501372120434) (7.9513212631277241, -8.7371182546194195) (-3.8164650846712806, -3.7261029901461189) 1.0 z 0.733471 +20 O D D O D 4 1 shapes D 1 True 9 (4.3152557347309983, 7.2355984097393797) (-7.0883674701863679, 8.4028738899031019) (-0.002068513052273957, -0.28942043528576988) (3.9476294817426734, -5.3497474615829939) 1.0 z 0.604821 +21 O D C O O 4 0 shapes O 1 True 9 (2.4800344818964852, 7.5858187103416164) (-3.1777171077715138, -6.4677570928839767) (-2.9203204652043873, 0.30018654271000855) (3.6337118084322135, -5.3730642935208834) 1.0 z 0.862745 +22 P D C C P 4 0 shapes P 1 True 9 (-0.8180037235044697, -4.2035563608780668) (2.6609035454266916, 3.6695711597478162) (-3.9921006631602953, 3.94774326207075) (3.1006771422786592, -6.15375585068288) 1.0 slash 0.724424 +23 P C O C C 8 0 shapes P 1 False 9 (-0.0098894083009000155, 4.0642067142473142) (-0.26967458847802561, -3.6778587288426436) (3.5594525078544947, 6.4427961176668269) (4.1730732380793842, -6.0194018513675687) 1.0 slash 0.575989 +24 O D O C C 4 2 shapes O 1 False 9 (3.6057647701462816, -2.8153910248106344) (-5.9677000794553354, -4.2396710179313279) (4.3731394664213994, 3.9000258604887694) (-3.9927477331384509, 2.8608290915625965) 1.0 slash 0.647769 +25 O D P C P 8 2 shapes P 1 True 9 (-1.1177482521128654, 7.5800783639549394) (6.0996806791737725, 6.4341588576335766) (8.4194578950358157, -1.8601647314313245) (-0.86125154249879365, -5.7020871033834482) 1.0 z 0.915436 +26 P D D O P 8 7 shapes D 1 False 9 (7.1777215598212329, 4.0513035904730472) (-8.1555912221690008, 6.8517425073190328) (2.5736870346356504, 8.6945835207974369) (0.36748640639384078, -1.8065162903582044) 1.0 slash 0.624981 +27 O D O O P 4 1 shapes D 1 False 9 (-0.97044826480091562, 3.7051045061028951) (1.9818179035516525, -4.473864547479784) (-8.050356466462496, -5.7672775891469055) (2.7160679102323471, 7.7537879774860485) 1.0 slash 0.532602 +28 O C D O O 8 3 shapes O 1 True 9 (3.7897555992733309, -6.3161655747832528) (-5.1411661013814012, -7.7858216182983799) (-8.365536869355525, -3.1517282617037035) (5.1199558240142871, 3.8366253401525938) 1.0 z 0.686474 +29 O C D C P 8 4 shapes P 1 True 9 (6.4404114471397218, 3.0038427637387048) (7.2788445730611251, -1.0709744124406919) (-4.9142521835127457, -6.0074936984369272) (0.36391389807023344, -0.35308016897200645) 1.0 z 0.849986 +30 P D O C D 4 3 shapes C 1 False 9 (0.60570992541973645, -2.1516623887512285) (-5.8459510152975023, -6.688186930475652) (-5.5692794312536886, 1.3268521665801813) (3.9718893924333525, 6.1049747006578059) 1.0 z 0.569708 +31 O C O P O 4 2 shapes O 1 True 9 (7.6584167809785022, 2.7729401130651343) (-7.8223434313893145, -4.976627830578046) (-2.2263227682317313, 1.6126131122378791) (2.2707030060022948, -4.6234891976061121) 1.0 z 0.625319 +32 P D P O C 4 1 shapes D 1 False 9 (6.4247446957847885, -2.4870292994036554) (7.3393080275727378, 2.1993249630926623) (-1.5194602891774238, -3.491710952424592) (-8.1828253329340406, 4.0573569151057498) 1.0 z 0.687068 +1 R F R F R 8 6 shapes E 2 False 9 (4.8430291585632386, -7.7113851391558885) (7.7946712469120101, -4.0160728681121993) (1.3757954502561436, 7.5604249898279043) (-1.974708030053824, -6.8781549460940266) 1.0 slash 0.688769 +2 Q F R E Q 4 3 shapes E 2 False 9 (7.8044037468104968, 1.4587072326862422) (4.4713772309604991, -0.94618972091016484) (-0.83402897253067643, 8.547625381229377) (-4.7019776274332479, -2.7009182269488052) 1.0 slash 0.880446 +3 R F F Q R 8 7 shapes F 2 False 9 (3.7294322803566047, 8.5977314387464219) (4.0714588122591593, -6.8940927374052308) (8.4577014543676903, 4.0599696877110567) (-5.6016378577378774, 5.8798670309799199) 1.0 slash 0.654035 +4 R F E Q R 8 7 shapes F 2 False 9 (-8.21977134461976, -4.1060802943087911) (-2.130163365166152, 8.0904791123374515) (6.142442447269806, -0.23404373180506965) (-0.929353113193228, -7.4945402792754541) 1.0 slash 0.649822 +5 Q E E R F 4 1 shapes E 2 False 9 (7.7017705189132357, -6.3141871317679197) (-4.0118368782626845, -7.9407189810762162) (-8.498916355059837, 7.3253048272788064) (2.7089160580935054, 8.0216426171830619) 1.0 z 0.857357 +6 R F R F R 4 0 shapes R 2 True 9 (-3.7312814739713982, -4.6855336155421821) (4.0592782105013576, 8.2785044390792599) (-1.5521019773822138, 0.37712671871009817) (3.9298508430104935, -1.9011869562237464) 1.0 slash 0.840991 +7 R F F F F 8 2 shapes F 2 True 9 (4.4302175338237024, -2.8103481244929007) (5.2711748980515747, 4.2651235176679236) (8.6593558887349111, -8.6467753102201979) (-6.2153520527884929, -3.4801196181879392) 1.0 z 0.566597 +8 R F F F F 4 2 shapes F 2 True 9 (4.0591132829618957, 1.5864150792699832) (-1.7821172546784014, -3.8185135174701932) (6.5851790760352529, -3.216086365861913) (-6.2457654077560214, 1.5242708687514828) 1.0 z 0.640316 +9 Q E Q E Q 4 2 shapes Q 2 True 9 (8.3376011991203534, -7.6603748175697692) (6.9044480753595927, 7.2911832308768147) (-2.2875280724009945, 0.22403701226983763) (-3.3049483792592769, -6.8250038750878375) 1.0 z 0.721917 +10 R E E F R 4 0 shapes R 2 True 9 (2.0664457759351382, 1.4075342375110562) (-7.3514489947596902, 2.5874784938776116) (-4.7094042026136584, -6.2666916426410673) (5.1214748420587206, -5.5902394486155833) 1.0 z 0.459714 +11 R E Q R R 8 3 shapes R 2 True 9 (-0.35057619664076434, 7.0541206179333145) (4.1355401577932067, -3.0149612049862284) (-0.37617937938936663, -1.3189129037080587) (-8.7470338590946337, -1.2899482115914953) 1.0 z 0.565336 +12 R F R Q Q 4 0 shapes R 2 False 9 (-2.1513243928085517, -3.1571795096814501) (7.1869292592216389, 4.6631430304532415) (1.1874469265486329, -8.1045664394109682) (-4.719145853889346, 5.5008357389872202) 1.0 z 0.463095 +13 R F E Q Q 8 0 shapes R 2 False 9 (-2.6118570201127493, -3.849647400926079) (7.316270626622245, 8.7308770061237695) (1.6972192768939269, 4.6821981935898513) (1.4816113613572401, -0.75436182147048036) 1.0 slash 1.03078 +14 R F F R R 4 2 shapes F 2 False 9 (-8.3310877970445301, -5.4787275774920836) (0.88723241738632197, -6.2361095878072765) (-5.5108900603401274, 7.544087396641622) (8.6548865893838247, 2.8948856517865806) 1.0 slash 0.626406 +15 R E Q Q R 8 3 shapes Q 2 False 9 (-2.213454673103926, -8.2023796305685881) (2.024431913539873, 7.5618192515995766) (6.5384311305365568, 7.144653226441271) (-5.6448953127240866, -5.8068437643992219) 1.0 slash 0.817911 +16 R F E Q F 4 1 shapes F 2 True 9 (-0.53161978866532777, -5.2138312779727372) (6.7331998116801941, 4.3568174015222745) (-0.85175620661746176, 1.79762787586127) (2.0383836991183948, -8.7020174508470554) 1.0 z 0.641606 +17 Q E F E F 4 2 shapes F 2 True 9 (6.3574131257314104, 7.2452506015676512) (3.9294205882291671, -8.148804402626677) (-4.0846458275813058, 5.5520014505870172) (-5.1739823630340265, -5.7081929806518525) 1.0 z 0.579328 +18 R E Q F R 4 0 shapes R 2 True 9 (-1.3770664318831711, 6.8028465632384698) (1.83473430750613, 1.1324467072347382) (-2.5899854576445991, -7.7175047769666101) (5.3897665452281416, -3.9738544118534804) 1.0 z 0.600957 +19 R F R R R 4 1 shapes F 2 False 9 (-1.7094061144661596, -0.67449380858735886) (4.5525345402663948, 7.7344301843252197) (5.9535745786377507, -8.7299548831827831) (-8.1659246289913714, 4.5208256744626656) 1.0 slash 0.642712 +20 Q E Q E F 8 4 shapes R 2 False 9 (1.4660793508731178, 0.81009195235276543) (0.89525906986731663, -4.8974100479499239) (7.9380257960032559, -4.5256948706175377) (5.342719392705316, 5.7721368100265522) 1.0 slash 0.862256 +21 Q F R F E 8 7 shapes E 2 True 9 (0.049219043500885462, -5.9976887427187009) (7.0730755529310905, 3.1727286951006963) (-2.541907268514433, 1.5214183969451796) (2.2350326821981934, 1.7681849315675802) 1.0 z 0.637955 +22 Q E Q Q R 8 6 shapes R 2 True 9 (-7.5855481726446605, 5.3224043623658641) (5.7777665414947297, -4.9479202031116163) (2.6896962549216656, 2.2191162252715877) (7.3102876281237279, 0.37195364009831344) 1.0 slash 0.795653 +23 R E R E Q 4 0 shapes R 2 False 9 (-8.572077471418277, -0.029641116592074468) (-0.90888597707623386, 4.3927574710568571) (3.6806588572104832, -1.5121158039181992) (2.9997741978171977, 2.9626473525331818) 1.0 z 0.631247 +24 Q F E R Q 4 0 shapes Q 2 True 9 (-3.5757905142070472, 6.8376951610133858) (1.8373867922031923, -1.8438776729733162) (6.9477917286423914, 6.4441267736395869) (-1.8755201073556051, -5.0175228028960017) 1.0 z 0.770821 +25 Q F F E F 8 3 shapes E 2 False 9 (5.2367310324057179, -6.9253608528458326) (2.9078647366842603, 7.1979867049631387) (-4.0860825869836619, -0.67467608061641648) (-5.0886586905841824, 7.087109200996764) 1.0 slash 0.992716 +26 R F F Q Q 4 0 shapes R 2 False 9 (8.092500249409877, -6.8992366617510825) (-5.8748572968287291, 6.0890979178125999) (5.4409915988770159, 7.7918327654291311) (-4.1590424112863218, -5.410524035113367) 1.0 z 0.868397 +27 R E R Q Q 4 1 shapes E 2 False 9 (-8.7235259281684421, 6.2685506493875724) (1.6669437212800844, -2.0402826989642824) (-6.9459378003523655, -7.7208765633367626) (4.0293686954623897, 8.2156962543659553) 1.0 slash 1.02387 +28 Q E Q F R 8 4 shapes R 2 True 9 (-8.5228402416796403, 5.7224775645076971) (4.8281594480987984, 7.4688621382385101) (-3.5767699358479614, 6.5868266498302361) (-2.6634025082612593, -3.2460042823356758) 1.0 z 0.679526 +29 Q F Q F Q 8 2 shapes Q 2 True 9 (-3.8653454032848922, 7.8902939732938613) (-5.9681668730210813, -7.5165148901474348) (1.5662088995017793, -4.7356742985219062) (5.7161756748270083, 7.9055328284129445) 1.0 z 0.861308 +30 R E R R Q 8 6 shapes Q 2 True 9 (-5.3321654411392441, -0.18590990350509529) (-0.21974665393916659, 2.7931799398962198) (5.1388924139301402, 3.6413955331527159) (-6.2410538113853846, 4.9003149395899328) 1.0 z 1.31092 +31 Q E E R E 8 7 shapes E 2 True 9 (8.7326853434682477, -0.34297305060227323) (-1.3451504599558248, 2.4140316371923873) (3.1466827671930346, 8.2361027078343696) (7.9259300983591778, -7.0627783061198652) 1.0 z 1.59048 +32 Q E R R R 8 5 shapes Q 2 False 9 (5.4099145425167574, 7.2134322853955446) (7.6626792891632682, -3.0938131702559355) (0.73815036571710557, 4.2366760769626506) (-6.9354610559663517, 5.7364151374193142) 1.0 z 0.700073 +1 N A A B M 4 1 shapes A 3 False 9 (-4.2145440292202769, -3.6765976419033386) (7.7483641804914392, -4.9914934938916602) (3.9906216402066441, 1.4186443806480007) (-1.3926811572450255, 2.9142741621054338) 1.0 slash 0.647851 +2 M A M N M 8 2 shapes M 3 True 9 (6.2175057824901181, 3.6832664465847476) (1.5669268470285758, 1.7567879299302458) (-2.2971620063998808, 3.3512794821673531) (-0.52771530039628622, -3.3601863617230272) 1.0 z 0.747538 +3 N B M A A 8 1 shapes B 3 False 9 (-2.2501578651505287, -5.478402877449712) (0.013813334838591373, 8.162903277863375) (6.5370056037507478, 5.6748917740767997) (-0.46816431953334536, 3.4690346413090349) 1.0 slash 0.699007 +4 M B B N B 4 3 shapes N 3 False 9 (0.2827993425014963, 0.99609829551757656) (-2.5770079469171598, -2.1302403002692758) (5.6686548005184978, -3.4386583062867553) (-6.2331488349860464, 1.0882762208207417) 1.0 slash 0.648664 +5 N B M M M 4 0 shapes N 3 False 9 (-6.4691874777758382, 6.8414425127524332) (5.1348105170060769, -1.6885774499216222) (-4.3703549715315244, -5.2466060490747726) (5.6520701177418253, 7.8643974553764089) 1.0 slash 0.656448 +6 M B A A M 4 3 shapes A 3 False 9 (-1.2578587630492644, -4.1635329942265935) (-1.7148579534646826, 7.930729004339014) (3.8640885668508318, -0.73970337914013307) (2.1277237228221786, 5.5617644962567105) 1.0 slash 0.791927 +7 M A B N A 8 5 shapes A 3 True 9 (8.7459712574021076, -8.6987516698707896) (0.26590590125819702, -8.7264157684494918) (-2.437102428249025, 3.4974764709012316) (-5.2944951674949632, -8.1605739660669414) 1.0 z 0.925812 +8 M A A M M 8 0 shapes M 3 True 9 (6.2461588525323375, -7.4009689869384871) (-5.8188411506101891, 6.0220068514886034) (6.488606960572378, 5.7334715433183039) (-1.3709952660479292, -8.7192565299864881) 1.0 slash 1.26545 +9 M B M N B 4 1 shapes B 3 True 9 (1.0225310624568937, 3.8159509468678277) (-2.4971987114114249, -6.578366026454483) (5.7573063612305493, -6.4409933130326422) (-5.326799498080689, 5.9906981504315038) 1.0 z 0.846985 +10 N B B N M 4 0 shapes N 3 False 9 (-4.5876722024785224, 6.5284947902017407) (6.8825792180798793, -6.5478489860993294) (5.9960206227523933, 2.2803297742312232) (-6.7124348565724556, -4.2290087062332251) 1.0 z 0.816554 +11 N B N M A 4 0 shapes N 3 False 9 (-5.5555544359378581, 6.9059929222208378) (-0.32148494834074626, -8.5441144839206693) (5.3810502125398827, -4.5362970962075293) (4.0043683282319353, 6.3235204831433531) 1.0 slash 0.648296 +12 M A A N A 8 2 shapes A 3 True 9 (-5.815921994694321, -5.9031451055043824) (1.8842190633768343, -5.8036311447136981) (7.957629214724129, -6.3196063750990543) (-5.9538884820376667, -1.6125190389301771) 1.0 z 0.838043 +13 N B N M N 8 7 shapes A 3 False 9 (-8.2735968872236736, 6.2335599876940382) (6.2637891843879299, 4.5783567702041488) (-5.3717261644695666, -2.9824521550862677) (7.4959432347778474, -6.1365265363642267) 1.0 slash 2.67388 +14 M B A N A 4 3 shapes N 3 False 9 (7.4108453002933032, -6.5795496145335175) (7.9250003705343985, 4.5662226472380087) (-1.5499857794646701, 8.0272385199827809) (-2.8031120170661019, -7.0825960524731517) 1.0 slash 0.572753 +15 M B A B M 8 0 shapes M 3 True 9 (3.0813494108208435, -8.3257871521920208) (-7.8914664063138176, 7.4510341867627403) (4.7365057843339962, 5.6644888376871521) (-2.7313339145920814, 2.3264534866952502) 1.0 z 0.694736 +16 M B B A B 8 7 shapes M 3 False 9 (-5.9912735803506454, -7.1104341091686374) (-3.0240473595630508, 0.10466812740299325) (2.6623070280758032, -5.3935086218520132) (0.61738512873635187, 7.6485773425471528) 1.0 slash 0.896494 +17 M B M A A 4 3 shapes A 3 True 9 (-4.8117915479019118, -6.2185341727444392) (0.079740757270517548, 0.96525452473670903) (2.8817333509664884, -3.5612655839224994) (-4.1196362816463754, 1.99880771271512) 1.0 z 0.680081 +18 M A M B A 4 1 shapes A 3 True 9 (-2.3722832254154698, -8.7479893455127122) (-5.7001697716189721, 1.1466225407054846) (4.8214345538006373, 1.8586163297761171) (2.9840010286861798, -2.6688860975324413) 1.0 z 0.593766 +19 M A M A M 4 2 shapes M 3 True 9 (-4.4544251579408352, 5.1373605621083644) (2.0864641215806508, -1.985433712289713) (0.023076820744689641, 1.5230097247479062) (-5.4749226471634707, -0.99997491632948154) 1.0 z 0.853382 +20 M B N B A 8 6 shapes A 3 True 9 (0.32154376717374689, -6.0819758311127678) (1.7366417987205072, 7.8771160231547768) (-5.1422245536501903, 5.2949569443708899) (8.2001058836316147, 4.7413341518020946) 1.0 slash 0.895072 +21 N A A M N 8 1 shapes A 3 False 9 (0.8424510359578754, -1.7798332567913997) (-8.4619561776580561, -5.0198982153533258) (7.5285652877401645, -4.9996292447071884) (-7.4576588264119925, 4.8967205852490316) 1.0 slash 0.840772 +22 M B M N M 4 2 shapes M 3 True 9 (4.085543034013531, 7.2814529857335408) (0.045056103969267625, -8.1958547195937079) (-7.4630846809274836, -5.6115760206634651) (-2.7190477530482751, 3.0076121558736411) 1.0 z 0.64172 +23 M B N B B 4 3 shapes B 3 True 9 (5.0241937167452431, -8.7039489909858556) (-6.7909018255769169, -5.8273308352723507) (6.9562475784098421, 4.3534015414683491) (-4.6744763456597012, 8.7482700798374751) 1.0 z 0.732102 +24 N B N M N 4 2 shapes N 3 True 9 (5.3188706601601243, -6.176649582334317) (6.2473462549841035, 6.6722376516606126) (-5.5455919477210083, 6.3612687454678465) (-7.7469424027741853, -0.16855744086458557) 1.0 z 0.891774 +25 N B N A N 8 3 shapes A 3 False 9 (-1.4401465310955386, 0.41672264746954824) (-1.501734764735998, 4.902493912620832) (-0.13638602132841804, -6.189197458882882) (3.4373500317010581, 6.3139293083215318) 1.0 slash 0.966034 +26 M A A B A 8 1 shapes A 3 True 9 (7.1569408846820846, -4.8560618001087832) (2.5216741561954255, 4.5181957774531334) (1.4288345624223897, -1.3108126511272138) (-4.2050452830394205, -6.1400900458951266) 1.0 z 0.848899 +27 N B N M B 4 1 shapes B 3 True 9 (-7.6934977136234286, 6.0905585529889894) (-1.6753662581528186, -7.3071469893905734) (8.132342294527664, -4.0133083410987709) (2.214422984573428, 1.9837349694251412) 1.0 z 0.848685 +28 N B A M N 8 6 shapes N 3 True 9 (-6.1973519775984389, -2.5830305972216188) (2.1242794858908578, -8.1120893835429797) (3.8345308123040045, 7.3467188404904711) (0.58655053665565227, 4.9965245358197397) 1.0 slash 0.796382 +29 M A B N B 8 7 shapes A 3 False 9 (7.3862807030998958, -4.8877477659348951) (1.0287325536402658, -5.6131984902924961) (3.0820228532781098, 5.043240392184817) (-7.1790060854395019, 2.2039113300023274) 1.0 slash 0.681659 +30 N A N B M 4 0 shapes N 3 False 9 (-2.6305546925676859, 0.073663446365712204) (0.32943890256230013, -4.256266616248439) (-7.4848769280232421, -8.1595299642144923) (3.8491782114311359, 4.2023959933185573) 1.0 z 0.723646 +31 N B B N B 8 4 shapes M 3 False 9 (6.9615138035767732, -7.0930839807220005) (3.0847560964842966, -4.841771950649858) (2.1573570846639996, 0.04160679568439285) (-3.3074661703501338, -8.5125647476960058) 1.0 slash 0.503181 +32 N B A B M 8 2 shapes A 3 False 9 (-6.1667527892339447, 2.5218136494907881) (1.7453373671559635, 0.47543763041868203) (-7.8677560453913493, -2.4876687140465004) (-0.57851404791503747, 4.1133686415816424) 1.0 z 0.830997 +1 P C D O O 8 7 shapes C 4 False 9 (6.4250040240031421, -5.6376902803552333) (-8.1031561448340454, 3.2668817247707214) (-0.041373676308939622, 3.9508655826842549) (8.5849683639982715, 6.1220549910929822) 1.0 slash 1.08862 +2 P D O C C 8 3 shapes C 4 True 9 (-3.7099504726048878, 3.780217118427263) (4.0614720450546802, 0.13137074148975181) (-7.6426487534135878, 2.0776686076250073) (-4.8487163032935818, -8.146948416361381) 1.0 slash 1.71603 +3 O C O C O 4 3 shapes C 4 False 9 (6.1899068625769598, 3.9208133365477043) (6.9414259372564189, -5.1658448645603023) (-5.0421811090021906, -1.3535290955595931) (-5.0312416288337634, 4.1372619226564176) 1.0 slash 1.32782 +4 P C P P O 4 2 shapes P 4 False 9 (2.52329094397912, 6.0039237691261871) (-5.6613934459878266, 3.9559598320025646) (-5.1462504131232851, -5.0482021360718434) (2.5954179927146761, -4.0870317188578227) 1.0 z 1.18536 +5 O C O D D 4 1 shapes C 4 False 9 (8.6299464573771658, 1.6465266644806178) (-0.54277075616946036, 1.1157341954466062) (1.3283714741189065, -7.2207326532231262) (-2.7821289546128929, -3.0760049263122262) 1.0 z 1.39902 +6 O C O P C 8 6 shapes C 4 True 9 (-7.7585494408272959, -5.085084328209895) (-2.7216807701599368, 2.4076579156936688) (-8.680198968839246, 3.4437614146203828) (-3.3067995130840142, -3.457556973072796) 1.0 slash 1.7888 +7 O C O C P 8 0 shapes O 4 False 9 (-8.2907460078918565, -2.4489787231114004) (-1.4398040608822882, -7.7498637449006047) (5.4497259305952195, 5.7683846021756917) (4.4667326430894807, -3.650006055058336) 1.0 z 1.48226 +8 P D P O O 4 3 shapes O 4 True 9 (2.7006686686845693, 3.4199746448145785) (5.0821655198494433, -3.6421320537211788) (-2.2837421201636863, -3.9395244317732026) (-6.3526457074415212, 6.04269012089431) 1.0 slash 2.21188 +9 O D O D P 8 7 shapes P 4 True 9 (-4.287369644142192, -8.4508089369334716) (4.3032875485607676, -5.636054441734208) (-6.7708817695729575, 2.584179562167261) (-3.8361101673604665, 7.7123757049091743) 1.0 slash 2.12532 +10 O C P O P 4 2 shapes P 4 True 9 (-8.448225984742761, -7.6929133539879189) (7.842446446578542, -5.2772329992205638) (-1.0372487997890447, 6.9738372844586181) (6.9086008487790718, 5.8917610815686192) 1.0 z 1.59099 +11 O D O D P 4 1 shapes D 4 False 9 (0.67505464898967027, 2.4055556083803484) (5.0922833913349059, -1.8406093845830807) (-4.5140716041770714, -8.5046158935605138) (-5.6217816372409839, 0.088304776315094813) 1.0 slash 1.35455 +12 P C P D D 4 3 shapes D 4 True 9 (-8.660975147931314, 7.1835862270344606) (6.2361209932430697, -5.3228449333652268) (8.4719133723487339, 2.2279920853315733) (-8.2788418341903363, -2.4836382381917463) 1.0 slash 1.20596 +13 O D O O D 4 3 shapes O 4 False 9 (4.3697854270745005, -3.0249386651960659) (4.7598602982054352, 2.8188259154556636) (-0.29395369745739863, 0.77909793558297658) (-8.0652922557260123, -5.9323550353403665) 1.0 slash 1.59978 +14 P D P D O 4 3 shapes D 4 False 9 (4.0277284293147524, 3.4132772129605158) (-8.0999449770765715, -7.3323200573151919) (2.6780202666110053, -6.1795847156684527) (-5.0347738227348842, 8.1491257638206278) 1.0 slash 1.13733 +15 P D P P P 8 0 shapes P 4 True 9 (-2.0338728683820868, 4.7878285373958018) (3.9250845629804392, -2.8857926037611055) (-7.2808459425619594, 6.3893297401159312) (6.2269561500245469, 0.53776775739814831) 1.0 slash 1.35454 +16 O D C C C 4 3 shapes C 4 True 9 (0.64227745992191743, -5.618726379952899) (5.3619523132096099, 8.3191210052657603) (-6.5324191310551321, -3.9217711871347944) (-4.0137787441656032, 5.7962679461456883) 1.0 z 1.13457 +17 P C D C O 8 1 shapes C 4 False 9 (8.4974333242365283, -0.28765345493333072) (-0.089387586018942145, 1.9570543277930561) (-7.0220867634253343, 6.5551343792665584) (-5.2196040548406728, -0.41079223863986414) 1.0 slash 1.4641 +18 O C O P O 4 2 shapes O 4 True 9 (3.6846021238038418, 6.2278323156602529) (6.7218248188494005, -5.9153038601072634) (-0.51596388015734185, 8.5320013855280479) (-2.0243028330644268, -6.2942074611332917) 1.0 z 1.21379 +19 O D P D O 8 5 shapes C 4 False 9 (1.1829084400314862, 4.0377539631066224) (3.0941316765383799, -3.8306988757151688) (-7.1512088870839268, 6.7025044525905102) (6.5825701035515856, -6.9104753341873071) 1.0 slash 2.79143 +20 P D D C C 8 7 shapes P 4 False 9 (-3.710811846053482, 1.7715324141757272) (-2.6515452077710675, 6.508084007638903) (-3.8801470606528863, -8.6208907440295359) (5.1673603704514299, -8.4815837752515435) 1.0 slash 1.87674 +21 P D D P D 4 1 shapes D 4 True 9 (0.62507555008880011, -5.417990259530173) (1.0900301108351407, 6.7813413296180691) (-1.8338840789844228, -1.3248371375255372) (-6.4879874407212839, 3.6912785491616908) 1.0 z 1.16844 +22 P C D C P 8 4 shapes P 4 True 9 (-1.1902611221337649, 5.9723449690946389) (7.9434284431940441, 5.6092953246401294) (3.8234189232238975, -2.5698774597906411) (1.6443855220402899, -8.5606996145609546) 1.0 slash 2.0581 +23 O D C C P 8 4 shapes P 4 True 9 (3.2974019598709088, 1.2595694998423799) (-5.2470444815064372, -8.3834694050337397) (8.4786171598472677, 5.3261363015374119) (8.1271232868969783, -2.7349279005155855) 1.0 slash 2.52951 +24 O D D D P 8 6 shapes C 4 False 9 (-5.6966660261740572, 1.3667001452994967) (2.0690471162866935, -1.2617430206112417) (-7.0035456326056833, -8.266788810371656) (0.2194169452210275, -8.3179724014449086) 1.0 slash 1.40522 +25 O D D C O 4 0 shapes O 4 True 9 (-3.8239029918450109, 3.5680147563837608) (4.748504821952487, 3.1971875419314753) (-2.23084264331023, -4.3365125953745318) (5.6499420941805205, -2.0147907851790841) 1.0 z 1.1588 +26 P C P D D 4 3 shapes D 4 True 9 (-8.0454821939803498, -4.454304604954606) (-5.7556910477983916, 6.6526319923973798) (2.3594631791464113, 7.5305836019866028) (2.8521267381225854, -4.5681832928836688) 1.0 z 1.2165 +27 O C C D O 8 7 shapes O 4 True 9 (-3.5374427433619982, -1.9000478107677932) (4.603596863806624, -6.3579340778469291) (-1.0879936678258719, 8.4011860264382534) (-7.6789593453122595, 4.8812175197785752) 1.0 z 1.3621 +28 O C P D O 8 6 shapes O 4 True 9 (5.9622096486552127, 2.7334383309652335) (-5.5843010496401, 5.226286226127332) (1.9065095274863193, 4.7337994895693889) (-3.0130615918201773, -5.1886825925205917) 1.0 z 1.24566 +29 P D C O D 8 2 shapes C 4 False 9 (-5.2720472209837057, 0.49922000786240339) (-2.263602460798368, 4.5519769113287492) (0.86464307178717448, -1.4817266717118223) (-8.7482055162700565, -2.8223389185691437) 1.0 z 1.50521 +30 O D D C D 4 3 shapes C 4 False 9 (7.4920399139288207, 2.8531478820554455) (6.1758170875291878, -5.4446668182503037) (-1.6977076133870783, -0.57081000870175558) (-6.662583053573881, 0.4327098097270472) 1.0 z 1.27079 +31 O C O O P 4 0 shapes O 4 False 9 (-0.090706589293157336, -6.6850927740080293) (0.37548353554802461, 3.8638939218856994) (3.4268841673458681, -0.4040621265555373) (-6.1479151418086726, 1.401848159113559) 1.0 slash 1.28249 +32 P C D P O 8 1 shapes C 4 False 9 (6.8526732822756031, 1.6403638089456027) (2.5656411704629427, -3.0197645536954827) (3.7890403568416406, 4.4729202582348861) (-5.5593306389829795, 0.98360099454449568) 1.0 slash 1.28607 +1 Q F F F F 8 6 shapes F 5 True 9 (-2.9299266531137178, 1.3211611364687421) (4.8008501628636715, 0.47408188496068071) (-2.5923519711814187, -8.5915723279836804) (4.093635105021459, 6.1799979331434827) 1.0 z 1.30975 +2 Q F Q R E 8 2 shapes Q 5 False 9 (-8.4331551062457422, 4.3139848071171762) (-2.6817923793030918, 3.4482251932333838) (1.3491726430764608, -6.6799895012377508) (-5.7297234978016869, -1.263090829573315) 1.0 z 1.58937 +3 R E F R E 8 1 shapes E 5 True 9 (-8.4435899480772107, -3.244804111382372) (0.079874929745809453, 3.0742945281833336) (2.5707708297212477, -1.8284276922995151) (4.6015609456552866, 4.812985342160097) 1.0 slash 2.23701 +4 Q E F Q E 4 1 shapes E 5 True 9 (-4.7803172799822065, 6.3988816842502398) (7.227911437428741, 7.4185852764040057) (7.9962421820780456, -2.7476043005265929) (-0.8967460335419899, -8.6671860451989708) 1.0 z 1.26434 +5 Q E E F R 4 3 shapes F 5 False 9 (4.9392982909144756, 4.8487390468667151) (-3.5350054697292892, 5.7258489581355096) (-1.9971450016820436, -0.47608448869455877) (4.6160740493228829, -6.0363445784415504) 1.0 slash 1.55801 +6 Q F F E Q 8 6 shapes E 5 False 9 (-8.3807095561930574, 5.2295499741938798) (1.2011324658879357, -6.2256183448211289) (-2.5505468643163596, 8.3065288715791823) (0.13953171332595993, 1.2740041949691587) 1.0 slash 1.61965 +7 Q F R R R 4 3 shapes R 5 True 9 (3.223259775658688, 3.4881915720382857) (-3.1092640324552159, -2.0882961282965473) (-6.6901314967420138, 3.2489981070399701) (4.8481966048147083, -7.6276144345208685) 1.0 z 1.60138 +8 Q F Q R Q 8 4 shapes Q 5 True 9 (2.2589102546925588, -7.3863625479420154) (-5.2481001905496161, -6.0241756064186358) (6.1943070023976237, 5.0870374382326702) (7.3276565422894073, -3.2686559305063616) 1.0 z 1.20496 +9 Q F E E E 4 3 shapes E 5 True 9 (-8.2079677583832567, 5.33306335205382) (6.7232086891542124, -8.5147689878169768) (-2.2751231407537631, -8.597104844264301) (1.1431790257039243, 8.425881245701202) 1.0 slash 1.58242 +10 R F R R Q 8 2 shapes R 5 False 9 (4.3834082836219537, 5.2876759600126828) (5.3333859033723972, 0.14213962162846272) (-6.5847688299314839, -0.159869414360438) (-0.775714920972848, 7.5471208159017493) 1.0 z 1.11213 +11 Q F R E E 8 1 shapes F 5 False 9 (4.5404340381792014, 0.93329591986718263) (-6.3661226553225276, -5.7989352346695018) (1.0511474132339718, -7.5827894028789853) (-6.7759513955433697, 7.9312041028230276) 1.0 z 1.18978 +12 Q F Q E R 8 5 shapes R 5 True 9 (4.3887888196858622, 6.593329584459342) (-6.7293186779659369, -4.8392751751640084) (-7.439811109123549, 5.000634695389822) (8.4384398832501617, 8.6372278407557666) 1.0 z 1.15728 +13 Q F R F Q 4 3 shapes F 5 False 9 (-4.08874505216217, -4.5508925728495875) (-6.2502637373494743, 3.105503050021083) (8.215223279553804, -7.045314458356307) (5.9576558525880881, 4.5427965571107496) 1.0 slash 1.31286 +14 R E R F F 4 0 shapes R 5 False 9 (-8.2191883951762961, -8.5182698273313999) (5.9565078525534716, -2.6770193614986315) (-0.93059286833937982, 7.1968854797277828) (2.9061243677711381, 2.2678291071106305) 1.0 slash 1.11617 +15 Q E F R R 8 3 shapes R 5 True 9 (-6.1181847814331185, 3.920283402821827) (2.556043804038552, 0.20338344480279602) (-6.3327945229670686, -7.8092087333934952) (-1.957404404661272, 0.2436852979455022) 1.0 z 1.40696 +16 R F E Q E 8 4 shapes R 5 False 9 (2.7537228911661185, -2.1517386647515346) (7.2358914161437724, 1.4334300188338016) (8.290065016428354, -8.4664223172354411) (1.3193976221398209, 5.8393422240464812) 1.0 slash 1.76553 +17 R F Q Q R 8 5 shapes R 5 True 9 (-2.6661831903680788, 2.0183307636860661) (6.3949034667398426, 6.8309921552814199) (-3.6981099150760066, 7.2133023063213386) (0.6443483035273907, -6.0558022661844557) 1.0 z 1.29354 +18 R E E R R 8 3 shapes R 5 True 9 (-5.8875308914978124, -7.5774378808507672) (2.6480932004933528, 6.7750197963577499) (-5.9360155459530164, 5.6368524454090139) (-6.8765085675973534, -1.4759982211486209) 1.0 slash 2.08098 +19 R E E F R 8 3 shapes F 5 False 9 (-0.83476671122379553, -5.8518175612738652) (6.8703399539918504, -1.3189285229806247) (8.6650052318604125, -5.3310787870620491) (-7.627347658412587, 6.9828906453826853) 1.0 slash 1.68669 +20 R E F Q F 8 2 shapes F 5 True 9 (-1.123136127666629, 1.3938537297154454) (2.6391337961328887, -2.7642717339329801) (-4.0561931711281645, -4.7157440625634006) (-6.825474027745404, -1.0786347796085325) 1.0 slash 2.73804 +21 Q F R F F 4 0 shapes Q 5 False 9 (2.6884192982084993, 7.4878767753515874) (-3.1420484348823292, 0.10004021350740189) (-5.7963563750039135, -5.1764002470187096) (7.2752097443468493, -3.0602403292646292) 1.0 slash 1.2977 +22 R E R R E 4 2 shapes R 5 False 9 (2.3620642763837907, 1.4199304254672676) (-7.0277644358690718, -1.4342386114813683) (1.7496636673482708, -4.8286801292620982) (-8.5635076478815506, 4.891780956265988) 1.0 slash 1.42523 +23 R F R Q R 4 0 shapes R 5 True 9 (-1.3662658754348849, -7.6464845907224843) (4.0962595037926928, -5.1998537569676468) (-4.0479435236469277, 3.8349565843904134) (1.0601394265849908, 2.0366477657824849) 1.0 z 1.31069 +24 R E Q Q Q 4 0 shapes R 5 False 9 (-2.8644932900532218, 4.1677562573276887) (-1.4820461637314946, -1.9769096351711655) (5.1018890100822301, 3.1051518549336983) (3.169649916318706, -6.0584519457082688) 1.0 z 1.30652 +25 R E Q Q F 4 1 shapes E 5 False 9 (3.7877356107883351, -2.5661708918192829) (-4.1907452789329263, -3.4393603203243517) (7.7012617333150999, 8.1789605593313297) (-2.2375181977180372, 7.0670044945661346) 1.0 z 1.36003 +26 Q E E E E 4 1 shapes E 5 True 9 (7.4585377301833127, -2.6300086653964447) (-5.3426673169981695, 4.5486710269750468) (2.6031526215854726, 0.91350717754999877) (-7.9503477857846585, -7.3385430361410586) 1.0 z 1.16153 +27 R E F Q F 4 0 shapes R 5 False 9 (1.8060849910373413, -2.960631479578991) (-1.6022008836687904, 7.8735611207588398) (2.3784632091197739, 1.7150223687553652) (-5.6848142926967711, -1.687676169507295) 1.0 slash 2.55529 +28 Q F E R E 4 2 shapes E 5 True 9 (0.36506015425323213, -8.1164263237202547) (-1.1585935810619974, -0.65350105392520241) (8.5662947167050554, 1.9163118621005317) (-8.1533216491305218, 6.9010776591437022) 1.0 z 1.19882 +29 R F E E Q 8 7 shapes R 5 False 9 (8.1011822532722064, -6.4908248641773802) (4.3650549901091651, 2.4687691631436497) (-2.940933360733256, 2.1243713144477585) (-8.4290293667024372, 3.1897415547755781) 1.0 z 1.00465 +30 R F Q R F 8 4 shapes Q 5 False 9 (2.0379928455034726, 5.7433676307071924) (-8.5157495284263351, -6.7077016233463898) (8.611435714079402, 7.6605020588731563) (-7.4012611732048752, 2.9248724175904535) 1.0 slash 1.06594 +31 Q F R Q R 4 2 shapes R 5 True 9 (1.3470892728055581, -1.2363775590170842) (-5.988843778466804, -3.3189939132326503) (7.1385802907212863, 4.5657554925346648) (-7.3970905688614819, 6.0500907032205653) 1.0 z 0.949746 +32 R E E R E 4 2 shapes E 5 True 9 (8.0398497761474736, -0.22191719770864715) (-1.804782702704073, -7.067660773642781) (-5.1460088587192159, 2.8052535772866261) (3.1697299269352648, 4.85361224844638) 1.0 z 1.0093 +1 M A N N A 4 3 shapes N 6 False 9 (8.0174016095889122, -0.77810311924437503) (-8.258217051629023, -0.40101045352341558) (1.0108370257167163, 7.156105659307153) (-2.6027286578505118, 3.4410603669756874) 1.0 slash 0.823212 +2 N A B M A 8 4 shapes A 6 True 9 (2.651418075924397, 1.3240164197800137) (-4.6155575515800082, -4.7067889307817623) (-5.9474584149219396, 2.020137738051746) (6.5999328232336545, -3.4987312036507152) 1.0 z 0.942326 +3 M A N N N 4 2 shapes N 6 True 9 (-2.6871666325172345, 3.9195921460383776) (5.0204830948870729, -5.0432573551902227) (-8.7465756910207819, -8.3326540920164334) (6.1458844148719063, 5.0005744335800895) 1.0 z 1.8284 +4 M A M B B 4 3 shapes B 6 True 9 (-0.52024273728983417, 5.7060651915056937) (0.28545305301341983, -5.6718742874047861) (4.344323643555553, 1.1824977864387609) (-8.7291180005796196, -6.5614134866522722) 1.0 z 1.23189 +5 N B N M M 4 3 shapes M 6 True 9 (2.7476384478499423, -2.9540035598111523) (-7.8582671398785982, 7.7529488726120377) (3.1449623463059275, 4.864035673524608) (-1.1958992399456445, -6.3818221410037754) 1.0 slash 0.899589 +6 M A A A B 8 3 shapes A 6 False 9 (-6.0746495569886516, -2.2465230559341229) (-0.89953829602957835, -6.2989925284582968) (6.3940122853556822, 3.0509471228387852) (-4.07040427302094, 4.2576281513786025) 1.0 z 1.93317 +7 N B A B M 4 1 shapes B 6 False 9 (5.9574923020701895, 2.5208685392198475) (-3.8689761078519211, 8.5088650690110512) (6.4413891194142145, -7.069747957022928) (-2.923422307345267, -1.8855509253034111) 1.0 slash 1.06063 +8 M B A A B 8 3 shapes A 6 False 9 (4.3728069434634698, 3.3151034062324793) (2.0406234234378235, -7.443737604616425) (-5.2878488067133826, -5.8011212590945354) (-1.0537122203432112, 4.6782759232591715) 1.0 slash 1.20437 +9 M B N M B 4 1 shapes B 6 True 9 (0.10015911851752435, -6.4988414932142238) (7.3273273254737177, 8.4554156556244884) (-7.9616339101499918, -2.7233046702057564) (-3.2295338273489875, 1.2347967989058528) 1.0 z 1.10211 +10 M A N B A 4 0 shapes M 6 False 9 (-6.2310311747925997, -0.43963822125043173) (7.5782676828247268, -0.81674838132732575) (-6.7922290834914909, 4.7676201177099529) (4.3009003602875318, 7.9237046044789672) 1.0 slash 1.71557 +11 N A M A B 8 5 shapes B 6 True 9 (-3.8118001221465487, 2.7036931083466804) (-5.3785986894209241, -6.8540568893666665) (-8.4317127987265472, 6.5460951719969867) (3.6519362759637772, -5.0575258781911927) 1.0 slash 0.817107 +12 N A B A B 8 6 shapes M 6 False 9 (-3.1220455828935325, -1.1337859117039359) (4.1134543268444244, 3.8998704301507239) (-6.5510034503543313, -5.3721026912465994) (4.2455521307177229, -3.5720120236809469) 1.0 slash 0.731215 +13 M A M M B 4 0 shapes M 6 False 9 (-5.4671033487490686, -1.1159588884080449) (5.9230501226970134, 6.6530758989682059) (-0.65259000865906458, 0.77530925185806865) (6.7244900653826818, -1.749573785705218) 1.0 slash 0.618455 +14 N B B A N 8 6 shapes A 6 False 9 (5.1059552885638233, -7.9063807930210999) (-5.5490972129093397, -5.4579687237747345) (-5.218292743940923, -1.4412342372620186) (-7.9227478175772239, 5.1052832016289873) 1.0 slash 0.636217 +15 M A A M M 8 3 shapes M 6 True 9 (-3.6622037572210129, -7.7204322135590822) (4.0215404478716295, -2.7203973262941679) (0.077287631127674672, -0.020837817954125981) (-5.7152665157518356, -1.3584463754705594) 1.0 slash 1.31386 +16 M B B B B 8 3 shapes B 6 True 9 (2.0096650905536944, 2.9379693947672489) (-4.4997834122424205, 8.6622314818758319) (3.1280056064074273, -8.4535282721315053) (5.5635460072526399, 0.52154750232224245) 1.0 z 1.10948 +17 M A M N M 8 5 shapes M 6 True 9 (-3.9567832956044313, 6.111650629533445) (-2.7383399769068699, -4.6477004930680579) (0.83004389723547867, -8.2443717822620819) (-7.7417879814380663, -3.7612424844931596) 1.0 z 1.07698 +18 M B N N B 4 1 shapes B 6 True 9 (-1.6173822182758091, -2.7767748873802578) (7.1391566427553226, 3.8887687916558757) (-5.2811096123788817, 8.5552038743630412) (4.4414337902270908, -8.569150227611587) 1.0 z 1.04876 +19 M B M A N 8 5 shapes A 6 False 9 (2.5825480836823633, -3.4044238545565584) (-6.1108002178295759, -6.8793172034428203) (6.9283052535310574, -3.7670696034147246) (2.823939562100195, 5.1091923939639123) 1.0 slash 1.50834 +20 N A M M M 8 2 shapes M 6 True 9 (7.6482114530706262, 8.3325872779360814) (5.9494546950723279, 1.0993208175021127) (-3.3189730596305154, -7.3574556893027561) (6.9730519409754219, -8.4875010764918937) 1.0 z 1.34807 +21 N B A N A 8 0 shapes N 6 False 9 (-3.8045655507964167, 7.2428262646491852) (-0.47884580083353256, 4.4774036483614807) (4.3506948553465321, -2.0996131520277279) (1.7444331737937109, -8.3858769063895036) 1.0 slash 1.22727 +22 M A M B A 4 1 shapes A 6 True 9 (7.6700759568768291, -6.7489441312243388) (6.312332317636157, 2.0868608526683623) (-0.046963272235585052, -4.0208923713104268) (-7.2976207401850033, 5.0522742529617783) 1.0 z 1.99906 +23 M B N N B 8 1 shapes B 6 True 9 (-3.0439561327407247, 3.7251177896619172) (6.8565719771932692, -0.35051121228999627) (-3.1498668832688574, -2.8470428521546145) (4.0616375170298422, 8.7011491513536789) 1.0 z 1.37273 +24 M B N A M 8 7 shapes M 6 True 9 (6.9884697588915206, -2.7800492431495378) (7.9469962461991948, 1.896560677955458) (-2.320313884412438, -4.5541984186095954) (1.0396446286750258, -2.0044774030961516) 1.0 z 1.03644 +25 N A B A B 4 1 shapes A 6 False 9 (0.25489776883215143, 7.3392290506275337) (5.6211547115422711, -0.94073096867496453) (-7.2049141259724028, 2.5264748045033194) (-0.71671957820560017, -6.7758611140224101) 1.0 slash 2.79998 +26 M B A A N 8 1 shapes B 6 False 9 (3.8284116738898994, 3.5742993318236245) (2.4353082901412133, -4.5556467964893104) (-6.224648455488218, 5.9751051845990997) (-3.7951300515244961, -5.8817574063341436) 1.0 slash 0.89344 +27 N B A A B 8 7 shapes N 6 False 9 (-5.4785449331072016, -3.2385634576479303) (7.9387170028591818, -0.26542695530901916) (7.80483202575261, -8.390345547164177) (-3.6173606722497134, 3.0178061996154533) 1.0 slash 1.82317 +28 M B M M M 4 3 shapes M 6 True 9 (-5.761649272165549, 0.84469430351362895) (-5.1729106678545183, -5.0357963484364774) (7.287280947428691, -6.928500476844234) (0.42872810863710598, 6.482891709104722) 1.0 z 1.29282 +29 N B A A A 4 1 shapes B 6 False 9 (3.9528567008400231, -6.7077307182388166) (6.7671925529448362, 2.4038468432572238) (-4.8737268340221869, 8.2287638734556303) (-1.0760464082077226, -2.8178176729054565) 1.0 z 0.964302 +30 N A B M A 4 2 shapes B 6 False 9 (1.5138581301235341, 7.4898352427811616) (0.2195826399070544, -3.1777274294350653) (-2.7751586758772762, -7.7523868051980012) (-7.3789291823498253, 4.5276770483470763) 1.0 slash 1.14197 +31 N A M N B 4 2 shapes M 6 False 9 (7.7068657973537924, 0.49974484956582899) (-5.5434608208382947, 5.4808123489110709) (6.1639791728498246, -5.6049287150655198) (-7.4358200013688585, -0.86203438397031729) 1.0 slash 0.683744 +32 N A B B B 4 2 shapes B 6 True 9 (-7.0960124243997758, 0.43302987692982065) (3.5234702120996708, 1.1894193812820752) (6.6809018898801256, -7.1495964334988749) (-4.6216734454100008, -4.3836075407841042) 1.0 z 0.909274 +1 P C D O C 8 4 shapes C 7 True 9 (4.3665345869809808, 3.4636403003628811) (-2.8966064616520191, -6.7942505462626572) (-7.6313675511561243, 4.7944621029103693) (1.4491888503728063, 7.0803117377764391) 1.0 z 1.28084 +2 O D O P C 4 2 shapes O 7 False 9 (-7.9728842509370761, 5.1757594962610245) (8.3769444652477176, 4.2427370700347282) (-2.7428314758281678, -0.72984988028775888) (5.8792408471162041, -2.1942875690955095) 1.0 z 1.51468 +3 O C P P C 4 1 shapes C 7 True 9 (5.3571276417925073, 2.6305169194160438) (0.617885078626637, -5.621574593295767) (-3.8234783495360274, 5.9132688187041182) (-2.5939532754299552, -2.0427948336515485) 1.0 slash 1.97398 +4 O D D C C 8 3 shapes C 7 True 9 (-8.3091958424461687, -7.1119022454462639) (5.5420427800855308, -8.1303609469366336) (4.4470036435315592, 3.8055580943255034) (-6.6967087572273751, -2.3426849676105386) 1.0 z 1.49558 +5 P C C O O 4 3 shapes O 7 True 9 (5.5043294511060523, -2.7773838955549746) (-4.0012580213495896, -6.4658059018677001) (2.5234669007660884, 3.0641159919139476) (-2.9934630095917258, 5.1308973846204307) 1.0 z 1.33542 +6 P C P C C 8 6 shapes C 7 True 9 (7.314448338283281, 5.9620098863355757) (-5.6770113579843642, 6.573832910692861) (1.1566196420363077, 5.102898071407207) (-8.5219923208825943, 1.8612264157223652) 1.0 slash 3.53682 +7 P C O O P 8 1 shapes C 7 False 9 (7.5245085590554694, -7.3926922276741323) (7.8332457369669157, 4.3908917982431799) (-6.7299149426552605, 6.7224893041919653) (0.071832151087935614, -1.1902547787832347) 1.0 slash 1.59443 +8 O C D D P 4 0 shapes O 7 False 9 (-2.0774083077561292, 3.0827031534858254) (2.3728388620036327, -7.6488919794983756) (7.9612351696422508, 5.1615904767492005) (-4.8231875002864282, -4.5470511659683996) 1.0 z 1.34979 +9 P C D C D 8 1 shapes C 7 False 9 (-3.3711168546037209, -4.499412949875202) (1.590237352725941, -7.9751709044262631) (-8.619441245949707, -8.7463610543720165) (-1.6034834500414865, 7.0586499419252533) 1.0 z 1.74763 +10 P D P D P 8 5 shapes C 7 False 9 (2.9280425963265309, -4.8142163323308349) (-2.7640580031047497, -2.332262748808648) (5.155918184869174, -1.151124801588022) (-7.642262170879345, -4.9040122441931011) 1.0 slash 1.88305 +11 O C D O O 4 3 shapes O 7 True 9 (3.948218556976979, 3.3700452443593765) (0.19221850552695052, -3.4696876459974142) (-3.9917061451889113, 4.5298493725487905) (-5.027529759735792, -5.4128683317667168) 1.0 z 1.1867 +12 O C O P D 4 3 shapes P 7 False 9 (2.5031250012091455, -6.2236006187035668) (-6.343961495317318, 0.51402369081098698) (-4.724412063136997, -8.6003257982957955) (1.7771556653977214, 4.1523770833192906) 1.0 slash 1.09611 +13 P D C P C 4 1 shapes D 7 False 9 (7.3905766258441581, -0.40397873826952235) (2.0365117811812592, 8.7422963646322813) (-6.0245906803372105, -2.1302141467989397) (-1.0795611276716031, 3.4415251390878598) 1.0 z 0.983986 +14 O C D P C 4 1 shapes C 7 True 9 (1.0705406904339405, -4.1447984020794184) (-4.7145553213880396, -5.3815049407366189) (-4.4191945826451482, 4.46126073034503) (6.1687067443012094, 3.4258651263188753) 1.0 z 0.933627 +15 P D O C D 8 6 shapes C 7 False 9 (-7.9514834644329531, 2.2407538148809163) (-7.3077354436305111, -4.1408630430739803) (-0.88441362088834374, -0.60754329497545534) (-3.7117426468293537, 7.7536215061133014) 1.0 z 1.15917 +16 P C O P C 8 1 shapes C 7 True 9 (4.1025688530952191, -7.4121842395423849) (-1.3663901594440304, 2.8610818965451958) (8.0556669797402414, -0.73316054308365253) (-4.1346363804558015, 8.425477423775277) 1.0 z 1.47492 +17 P C D O P 4 0 shapes P 7 True 9 (7.9561333319913174, -6.4708701079301711) (-4.6529339362089237, -1.5837088557268952) (-3.9138188490886527, 5.0216397661541308) (3.9208109146572649, 8.7325421553253513) 1.0 z 0.974498 +18 O C C P C 8 1 shapes C 7 True 9 (-3.4654477074995711, -7.0110888252631094) (2.651750273115594, -6.2371081485404272) (6.3741038083968089, -4.2828444565933754) (-6.9958548111235714, 0.25974686647411183) 1.0 z 1.2401 +19 O D C P D 4 0 shapes O 7 False 9 (0.18386755425089341, 1.2407165076103563) (-6.97824028724669, -4.9132532831799374) (2.3843024292192005, -3.2537360063212359) (-6.3397385631400667, 3.8918447093861008) 1.0 slash 1.53788 +20 P D O D O 4 3 shapes D 7 False 9 (3.4887655464776923, -8.2129101470891968) (1.6631157265680621, 2.6426023768161926) (-2.2352439805611617, -1.7276841192763674) (-8.3598008545992624, 3.0514388510514028) 1.0 slash 1.42326 +21 P D P D O 8 6 shapes O 7 True 9 (-2.3385358706437485, 5.3308434603561476) (8.3933211169706254, 4.4517301874251718) (-7.1435460560356301, 7.2671909504187546) (-7.6961582149150543, -7.8281577539374183) 1.0 slash 1.46096 +22 P C O O D 4 1 shapes C 7 False 9 (-5.711470736780214, 7.1380982316017025) (5.401757850637841, 3.6815019121954133) (-2.6648227714362207, -8.2767587735627206) (4.7988047990412319, -4.1877951670934443) 1.0 z 0.890556 +23 O C D C D 8 6 shapes O 7 False 9 (-2.2121563317273738, 0.27279919295126298) (6.520178380079912, -2.4964555727764282) (3.0325707606583219, 3.452810574415377) (-1.7954583225461667, -5.2655516257563253) 1.0 slash 1.53411 +24 P D O P O 8 0 shapes P 7 False 9 (8.2832097623724188, -0.4503481782506551) (-7.4339167372374604, 6.391503236824061) (-1.5399937335946214, -7.7514375424159656) (8.4862278245039846, -7.928587829923436) 1.0 slash 1.53584 +25 O D D O D 4 0 shapes O 7 False 9 (5.7520358606237671, -1.3145127980938449) (-5.1071561041746785, 0.53866713006043554) (4.8564100528260905, 4.4628399159292282) (-7.2885018426442638, -3.7918964973082652) 1.0 slash 1.0713 +26 P D P P D 8 0 shapes P 7 False 9 (7.0934060382078421, -3.8611367509463346) (-1.43959529696461, -6.3623065575276163) (-8.2696250779280742, 0.20257606694538133) (-1.42768407582862, 6.8866252862987185) 1.0 slash 1.22906 +27 O D P C O 8 6 shapes C 7 False 9 (4.6334126729942984, 5.2978027941877617) (-8.5245753875867987, 0.73717077873178738) (-8.6683225413488429, 7.2906711050394684) (-3.4660134119769976, -2.203767016823627) 1.0 slash 1.11471 +28 O D P P P 8 2 shapes P 7 True 9 (-7.5925722324561828, -6.4543885014595883) (-1.6631336432227481, -2.4568606020935082) (2.1878486295751252, 6.3745533017192511) (2.2009386332708551, -4.201995744255175) 1.0 z 1.31181 +29 P D O D D 4 1 shapes D 7 True 9 (0.62207620909656391, -6.1751185830256858) (-5.2074182822192965, 4.238771540579485) (2.3347513961921766, 1.2065238142795049) (-7.1168336679429114, -0.36111142278689989) 1.0 z 1.13181 +30 O C C P P 4 3 shapes P 7 True 9 (-2.0057389673261161, -6.7624332220493066) (2.8846047414869069, -7.849136858960251) (0.83321075611539186, 4.1857933919119965) (-7.7342093874992726, 1.4940199531965863) 1.0 z 1.40351 +31 O D P D P 8 2 shapes P 7 True 9 (1.6241556411008382, -0.72604212065177087) (5.8429214118302006, -2.6426258716699529) (1.5882882804644591, 4.4385235069586333) (-6.9679412133459202, -1.5385125554747594) 1.0 z 1.20517 +32 O C C P C 4 2 shapes C 7 True 9 (3.4109448282081942, -2.9089111051999534) (4.4268900254900689, 5.7445608393397851) (-6.5517361643865177, 1.753118170692435) (-6.9461941723153267, -2.4715693318229297) 1.0 z 1.04686 +1 R E E Q E 8 0 shapes R 8 False 9 (2.8189127582243074, -0.64987342166959827) (-5.3695382540266205, -4.5350676756844059) (-1.1298110929826839, -7.7402923667513042) (-6.3369060954431538, 6.3106658027426903) 1.0 z 1.16827 +2 R F R Q E 8 6 shapes R 8 False 9 (8.2763223776846928, -1.8419147773627804) (8.456358907832108, -6.4918942513628632) (-5.713372971625609, -0.73002810068810753) (-5.3603818574589104, 5.1064443793014256) 1.0 slash 1.19393 +3 Q E Q E Q 8 5 shapes Q 8 True 9 (4.8035034679514634, 0.66090727448613862) (-6.6477601982269219, 1.388694796455912) (-0.24128145635794596, -0.52993642747247982) (-5.2947014267889365, 5.8610826017234317) 1.0 slash 1.55956 +4 Q F F E E 8 3 shapes E 8 True 9 (5.2929445607896088, -0.79244768405415922) (0.05245430617371305, -7.5839353296167165) (-5.7380110667454458, -1.6779755498405704) (-7.3565530570581394, 2.8348625232848867) 1.0 z 1.16302 +5 Q E F F R 4 3 shapes F 8 False 9 (-4.2096534677336548, -1.4467442929895995) (7.9195068031552545, 3.3118540161664622) (0.61864190221507087, -8.7080462287986933) (-4.3555974338296179, 4.7483679574402675) 1.0 slash 1.63679 +6 Q F R F F 4 0 shapes Q 8 False 9 (3.3547987156386512, 5.698304345942919) (4.4114914368108433, -8.4382386650825474) (-6.9837029189613649, 1.001374742091814) (-3.5865870139342109, -3.2890948079012174) 1.0 slash 1.64044 +7 R F Q Q R 8 0 shapes R 8 True 9 (-1.0622337586273405, 5.0004850595842285) (-0.20840064364450406, -3.2778701295403154) (7.9598105039568168, 7.8602054832375963) (7.8853898628003201, 1.3612904609072665) 1.0 z 2.262 +8 Q F R R E 8 2 shapes R 8 False 9 (3.5234077079837292, 7.3868320943154409) (8.4264001358028224, -2.6308200061369362) (-7.220414670659137, -6.2587691490493302) (-8.0984718232700228, 5.5855496394748698) 1.0 slash 1.37552 +9 R F F F E 8 4 shapes E 8 True 9 (-8.3965534572990261, 1.7937109740374364) (7.029911032415896, -1.6687881025375768) (3.3116132192290095, 8.7167019159747632) (-3.3978586212522224, 6.4961905053429785) 1.0 z 0.873255 +10 Q F Q R F 8 4 shapes F 8 True 9 (3.494471879372993, -7.0192177169421139) (3.4308058588675383, 0.20367236367902741) (-6.0469051497366273, 3.6292017301550281) (-0.352896021651528, -5.6860655213358076) 1.0 slash 1.25488 +11 R F F R Q 8 1 shapes F 8 False 9 (-5.2343663395423903, 7.9323699743656135) (7.1678425785895392, -0.73942032118321421) (6.8098139595115939, -5.9052255320552707) (-5.0737652938084921, -5.0679525602652031) 1.0 slash 0.920507 +12 R F Q F R 4 0 shapes R 8 True 9 (6.9312223379813389, -6.6369699839748577) (-6.2035121401984092, -7.3398207843623249) (-0.0081351775573601515, 1.7900216385911953) (4.09616946415413, 5.4908142207440225) 1.0 z 1.28999 +13 R F E R E 4 2 shapes E 8 True 9 (-4.599718218958964, 5.3756268904104942) (3.2548311462736521, 2.495950311433333) (0.95138601506454989, -4.4407713698201166) (-7.0982378776468336, -1.1765015834234376) 1.0 z 0.985694 +14 R F E F E 4 2 shapes E 8 True 9 (2.5789856733894343, -0.30678032352428453) (7.5822329428167023, 2.7289943925641236) (-1.5780656686775938, -5.9172120924885068) (-2.125667969236031, 1.930224990892011) 1.0 z 1.03129 +15 Q E Q F E 4 0 shapes Q 8 False 9 (-1.3996302247930261, -2.5323334207260828) (0.36884118432158175, 7.2075339270061338) (2.3768568837167177, -6.1748807683979301) (-7.5741296821729591, 8.4750125418737667) 1.0 slash 0.523016 +16 R E E Q Q 8 3 shapes Q 8 True 9 (0.47721788946964772, -4.5737589466137587) (6.6931170247009266, -3.081805946530447) (-3.5320102400706022, 7.0925355808675548) (-8.4831950171195025, 3.4044825342499418) 1.0 z 1.31065 +17 R E E F R 4 0 shapes R 8 True 9 (5.4725089163166487, -1.1702496383839005) (0.29759289468370298, 7.6870357950027426) (-2.9925601810732765, 5.3045008649149334) (-4.645173108406782, -5.7092739185414718) 1.0 z 1.0582 +18 R E R Q F 4 1 shapes E 8 False 9 (-3.6984334152024489, -6.3695984523295675) (-1.3436462035252514, 5.4840705852375304) (5.1132148596966083, 6.6993029042730061) (6.2422618699090151, -1.5129804858890532) 1.0 z 1.30392 +19 Q E E Q F 8 2 shapes E 8 False 9 (0.40987646778414266, 1.7253450571882034) (6.4297006737034099, 6.4307341916197807) (-7.0115232781754342, -7.9579567750201381) (3.6711739522396591, -2.8219220021143938) 1.0 z 1.4373 +20 Q E Q E R 8 0 shapes Q 8 False 9 (8.2657698195794929, -0.53947085717564924) (-7.2998778215289732, -1.5998729395890638) (3.4616540318284059, 4.2113315167193459) (3.6803711958388892, -7.1557427310644872) 1.0 slash 1.37112 +21 Q E E E E 4 3 shapes E 8 True 9 (5.4588900742451152, -7.6784995732058725) (-8.0829996887762956, 4.4091205554153046) (6.0777752910810694, 1.5981631465953221) (-8.200395157183884, -6.6834985345316262) 1.0 z 0.86704 +22 Q E F Q R 8 5 shapes E 8 False 9 (-6.3072993289537909, -1.0651611501209759) (0.14656864276938109, -5.4878151478292123) (-1.9844343664774451, 0.96018305703366735) (-8.3182082155019934, 8.7492216301625056) 1.0 slash 1.38626 +23 R E R Q Q 4 2 shapes R 8 False 9 (3.0806751146219007, 4.1194372800997314) (8.6197189051913945, -5.9715530463461519) (-7.4280553766567525, 4.2650027499962881) (-0.99859628197337891, -7.9942761705531602) 1.0 z 0.768155 +24 R E R E F 8 4 shapes F 8 True 9 (8.7426785109280374, -3.9789850967714235) (-5.7529886097730119, -8.5582010673532647) (-2.8062104958882745, 5.462328313797002) (6.6027809914381521, 2.4589391813335659) 1.0 z 1.15553 +25 Q E Q Q F 4 0 shapes Q 8 False 9 (8.5692884834559599, 7.1927565745949238) (-6.0004614135966818, -0.86833781010602173) (4.8892303364412015, -7.9701255484921498) (-6.8669248211541785, 4.844448028515993) 1.0 slash 1.22324 +26 Q F Q E F 4 2 shapes Q 8 False 9 (8.3177110714232292, 0.48563096253196925) (-5.2778854547645473, 0.21153725433726223) (-4.7419951786587937, -5.7266708976062111) (0.17638278230351823, -1.8919673293294874) 1.0 slash 1.18882 +27 R F E F F 4 3 shapes F 8 True 9 (7.8866063525721515, -0.11177973643165551) (0.64884990548258159, 7.756226938593354) (-1.6450235102829396, 0.72799535920928093) (-1.4508286154267518, -5.2089169709577288) 1.0 z 1.36852 +28 Q E E F F 8 4 shapes F 8 True 9 (1.8390156062781866, -7.9633171283216946) (8.0687941388424882, 8.5192396084261617) (-2.8171298737839585, -4.1383630722264648) (-1.1229611794179419, 7.6456935764961003) 1.0 z 1.57995 +29 R E F F Q 4 0 shapes R 8 False 9 (0.92082834333911734, -3.8721240254120062) (-1.3366826715269955, 0.48921188087914302) (-8.1112088718136519, -8.0676188665238584) (4.8950830504123193, 2.3539214626463529) 1.0 z 2.41567 +30 Q F Q E E 4 3 shapes E 8 True 9 (-2.5437394257643335, 8.1162772737795912) (3.4589101862761567, -2.1075723879746464) (-8.2433298519201017, -2.6533401054271168) (0.90079548899015727, 2.8247582310808532) 1.0 z 1.4552 +31 Q E F R F 8 6 shapes E 8 False 9 (7.7169110907369074, 0.0060710352296204917) (-3.8018865727306554, 6.7330389868829172) (-2.8698911006103156, -8.5405672523604093) (2.2755921018831664, -7.2231190200115352) 1.0 slash 1.12885 +32 R E E E E 4 2 shapes E 8 True 9 (3.7525710635746901, 5.2629996537806232) (-3.9823738811633751, -5.485138033572694) (2.6810213844671242, -1.401200296119697) (-6.2864935071789869, 7.1989339312024985) 1.0 z 1.28043 +1 N B N B A 4 3 shapes B 0 False 9 (7.8670768943017677, -1.4914653639559141) (-8.409656593042266, -2.8144611061696496) (-8.0804010793360046, 4.0054554569572005) (4.2178678338839166, 7.8313971036362773) 1.0 slash 0.685998 +2 N A B N M 4 2 shapes B 0 False 9 (4.2464205552807535, -6.8173306040906407) (1.5955404097999022, 8.6885517024948236) (-2.2070847255166841, 5.5209765137600915) (-4.2150098913659271, -0.62291222783768951) 1.0 slash 0.78517 +3 M A N A B 4 2 shapes N 0 False 9 (-5.071852423396539, 7.9814993072395239) (7.6345086585107893, -2.4969092115231906) (1.8611159067398688, 8.4638527358962214) (-0.76090695240490724, -2.9177332097101942) 1.0 slash 0.479162 +4 N B M A B 4 3 shapes A 0 False 9 (-1.3499525105812333, 0.64023603710738186) (-7.8104139653168767, -8.7170101339916304) (2.9136769300927874, -8.5794714053696666) (5.6089985278277474, 7.9833201847395969) 1.0 slash 0.37794 +5 N A N B M 4 3 shapes B 0 False 9 (4.1117474021891773, -5.1813373972324204) (-0.40574647847038392, -0.17653214041867216) (3.6882307516961639, 3.9046743934364425) (-6.8696783940444348, 1.3546177124744752) 1.0 slash 0.600779 +6 M B M N M 4 1 shapes B 0 False 9 (-1.8098661115823074, -0.87604565268332824) (7.6110350152998478, 2.6231119287299727) (-2.2976360674151337, 8.1746684706879087) (0.14015109779801449, -4.6166038322257501) 1.0 slash 0.390241 +7 N B N M M 4 2 shapes N 0 False 9 (5.0834726840321967, -6.2819468997322261) (2.6804791012986549, 0.71786455018573747) (-5.6090527983580163, 1.5306867168551825) (-8.5854484365947545, -7.4856587041949965) 1.0 slash 0.580526 +8 N A A M B 4 2 shapes A 0 False 9 (-2.5706002365003746, -2.5144775729358591) (-5.9844721965766228, 2.6649898764207105) (2.3710606252203537, -6.0432504907931692) (3.3095210751947484, 5.8621724741012535) 1.0 slash 0.49845 +1 P D P P D 4 0 shapes P 1 False 9 (2.7211527343958757, 6.0699541248324937) (-1.2071923641898854, 4.486494256668804) (-3.1123073654485225, -2.6715702197448765) (8.5146227657693458, -2.773982792446005) 1.0 slash 0.640781 +2 O D P O P 4 1 shapes D 1 False 9 (2.2165201700805444, -7.044158016544265) (-2.884561924606972, 2.7919657105631277) (-7.8493312498339112, -3.6496039853604731) (4.0114369966016739, 1.668371791171003) 1.0 slash 0.468234 +3 P D O C P 4 2 shapes O 1 False 9 (2.4413844416820307, -6.9679271563871392) (-4.6545425602607899, 8.1946524595109196) (-8.6568316872850417, -2.8734042534396851) (1.7218566743334307, 3.143953156504196) 1.0 slash 0.487054 +4 P C O O C 4 3 shapes O 1 False 9 (-7.1116279584424849, -1.9589733046914235) (5.7611418801772594, -7.3684334705721435) (-3.4911161453275747, 1.4915606848485634) (2.7443156351598983, 4.6734075769012531) 1.0 slash 0.689221 +5 O D C C O 4 2 shapes C 1 False 9 (-3.8215811848834198, 6.7069979202377041) (1.5967588941811517, -4.0036254716171467) (6.4182871428046298, 7.1916588921521338) (-7.6044778522130096, -0.55050711708110356) 1.0 slash 0.506402 +6 O C P D P 4 1 shapes C 1 False 9 (7.8375237481272038, 0.97737096325096928) (3.4003076492398705, -2.5458631819159958) (-7.4199299170159367, -2.8215194559865839) (-2.5118665035088945, 5.7632554964163685) 1.0 slash 0.491967 +7 O D P O C 4 2 shapes P 1 False 9 (-5.9509832195165533, 6.575963470643444) (5.7325942777996364, 5.7741344422939651) (5.3551869372829728, -4.1944374673272433) (-6.3930834118569182, -0.79177285719671797) 1.0 slash 0.50145 +8 P C D P O 4 0 shapes P 1 False 9 (0.10719198622865278, 7.5301575442929973) (6.8497877966360434, -1.9371589241647111) (-2.2962488773308545, -3.7291598653730791) (-7.9979399180799025, 4.409290473328987) 1.0 slash 0.390918 diff --git a/drawStims.py b/drawStims.py new file mode 100644 index 0000000..73c25c5 --- /dev/null +++ b/drawStims.py @@ -0,0 +1,232 @@ +from psychopy import visual, event, core, data +from shapes import taskTrials, pracTrials +import random + +win = visual.Window(fullscr = True, units = 'deg', monitor = 'testMonitor', color = 'lightgrey') +win.setRecordFrameIntervals() +mouse = event.Mouse(win = win) +mouse.setVisible(False) +refresh_HZ = 100 +refresh_rate = 1./refresh_HZ +frameMargin = 2*10**(-3) +pre_flip_time = refresh_rate - frameMargin +#upper bound for view times (will subtract one frame from time ans +fixation_on_time = .75 - pre_flip_time +fixation_off_time = .25 - pre_flip_time +view_stims_time = .5 - pre_flip_time +stims_memory_time = 1. - pre_flip_time + + + +font_dir = 'circle_square.otf' +font_name = 'Circle_Square' + +# +textStims = [visual.PatchStim(win, tex = 'stims/A.png', size = (2.5,1.75), mask = None, interpolate = False) for ii in range(10)] +rectStims = [visual.Rect(win, height = 1.5, width = 1.5, lineWidth = 1, interpolate = False) for ii in range(10)] + +#range will be 17.5 x 17.5 degrees + +SQUARES = ['M', 'N', 'O', 'P', 'Q', 'R'] +OVALS = ['A','B','C','D','E','F'] + + +def drawStims(win, stims, posList, textStims, rectStims, loadOnly = False): + if type(stims) == str: stims = [stims] + for ii, stim in enumerate(stims): + if len(stim) == 1: + textStims[ii].draw() + else: + rectStims[ii].draw() + +def loadStims(win, stims, posList, textStims, rectStims, loadOnly = False): + if type(stims) == str: stims = [stims] + for ii, stim in enumerate(stims): + if len(stim) == 1: + textStims[ii].setPos(posList[ii]) + if stim in OVALS: textStims[ii].setSize((2.5, 2.5)) + else: textStims[ii].setSize((2.5,2.5)) + textStims[ii].setTex('stims/'+stim+'.png') + print stims + print(stim in OVALS) + else: + rectStims[ii].setFillColor(stim) + rectStims[ii].setLineColor(stim) + rectStims[ii].setPos(posList[ii]) + +def switchPos(itemStim, foilStim): + '''pure convenience function. Switches positions from item to foil''' + foilStim.setpos(itemStim.pos) + +def drawProbe(stim): + stim.draw() + +def drawFixation(fixationStim): + fixationStim.draw() + +def waitScreen(win, myMouse, maxViewingTime = 100000, lastTime = 0, onClick = True): + '''Either waits for a mouse click or until maxViewingTime has elapsed''' + done = False + clock = core.Clock() + myMouse.clickReset() + lastTime = myMouse.getPressed(getTime=True)[1][0] + while not done: + click, time = myMouse.getPressed(getTime=True) + if onClick and click[0] and time[0] != lastTime: + done = True + lastTime = time[0] + if clock.getTime() > maxViewingTime: return lastTime + return lastTime + +def waitResponse(maxWait = None, clock = None, reset = True, keyList = ['z', 'slash']): + if not clock: + clock = core.Clock() + if reset: clock.reset() + event.clearEvents() + needResp = True + while needResp: + keys = event.getKeys(keyList, timeStamped = True) + if keys: + needResp = False + return keys[0][0], clock.getTime() #resp, rt + +def flipandwait(win, clock=None, viewTime=1): + if not clock: clock = core.Clock() + win.flip() + clock.reset() + while clock.getTime() < viewTime: pass + +from psychopy import visual +def instructions(pracTrials): + text_1 = '''In this task, items will be presented in different locations on the screen. + +Your job is to remember the items presented on the screen, as well as their location. + +Items will be either colored squares or shapes. + + +Hit spacebar to continue''' + text_2 = ''' +Hit spacebar for a slowed-down example of seeing the colored squares +''' + text_3 = ''' +Hit spacebar for see a slowed-down example of seeing the shapes +''' + + text_4 = ''' +After seeing some items, a single test item will appear on screen. + +The test item will be in the same position as one of the previous items. + +Do your best to identify whether the previous item from that position matches the test item. + +Mismatches may be different shapes, or the inside of the shape may be different. + +Press the 'Z' key if they match +Press the '/' key if they are different + +Hit spacebar to practice the task +''' + + text_5 = ''' +In the actual task, the items will be presented more quickly + +Hit spacebar to practice the actual task +''' + + text_6 = ''' +Now you will begin the actual task. + +If you have any questions, please ask the experimenter now. + +Hit spacebar to continue to the actual task''' + textStims = [visual.PatchStim(win, tex = 'stims/A.png', size = (2.5,1.75), mask = None, interpolate = False) for ii in range(5)] + rectStims = [visual.Rect(win, height = 1.5, width = 1.5, lineWidth = 1, interpolate = False) for ii in range(5)] + Text = visual.TextStim(win, text = text_1, color = "black", wrapWidth = 25) + examplePos1 = [(-2.8, -5.8), + (2.3, -3.9), + (8.5, 0.4), + (-1.7, 0.8)] + examplePos2 = [(7.2, -3.9), + (0.8, 0.2), + (-3.5, 2.7), + (-7.3, -2.9)] + Text.setAutoDraw(True) + flipandwait(win, viewTime = 4) + waitResponse(maxWait = None, clock = None, reset = True, keyList = ['space']) + Text.setText(text_2) + flipandwait(win, viewTime = .5) + waitResponse(maxWait = None, clock = None, reset = True, keyList = ['space']) + Text.setAutoDraw(False) + #Examples of item presentation + #loadStims(win, ['black', 'red', 'yellow', 'green'], examplePos1, textStims, rectStims) + #drawStims(win, ['black', 'red', 'yellow', 'green'], examplePos1, textStims, rectStims) + #flipandwait(win, viewTime = 1.5) + Text.setText(text_3) + Text.draw() + flipandwait(win, viewTime = .5) + waitResponse(maxWait = None, clock = None, reset = True, keyList = ['space']) + loadStims(win, ['P', 'A', 'B', 'R'], examplePos2, textStims, rectStims) + drawStims(win, ['P', 'A', 'B', 'R'], examplePos2, textStims, rectStims) + flipandwait(win, viewTime = 1.5) + #Run-through a full example + Text.setText(text_4) + Text.draw() + flipandwait(win, viewTime = 3) + waitResponse(maxWait = None, clock = None, reset = True, keyList = ['space']) + #Practice + #Text.setText(text_5) + #Text.draw() + #flipandwait(win, viewTime = 1) + #waitResponse(maxWait = None, clock = None, reset = True, keyList = ['space']) + runTask(pracTrials) + Text.setText(text_6) + Text.draw() + flipandwait(win, viewTime = 1) + waitResponse(maxWait = None, clock = None, reset = True, keyList = ['space']) + +def runTrial(win, rtClock, stims, posList, probeItem, probePos, + fixationStim = None, fixation_on_time = .75, fixation_off_time = .25, + view_stims_time = .5, stims_memory_time = 1, header = True): + if not fixationStim: fixationStim = visual.TextStim(win, text = '+', color = 'black') + loadStims(win, stims, posList, textStims, rectStims) + #FIXATION + drawFixation(fixationStim) #fixation on + flipandwait(win, rtClock, fixation_on_time) + flipandwait(win, rtClock, fixation_off_time) #fixation off + #STIMULI + loadStims(win, stims, posList, textStims, rectStims) + drawStims(win, stims, posList, textStims, rectStims) + flipandwait(win, rtClock, view_stims_time) + #INTER-RESPONSE INTERVAL + flipandwait(win, rtClock, stims_memory_time) + #CHANGE DETECTION TEST + loadStims(win, probeItem, probePos, textStims, rectStims) + drawStims(win, probeItem, probePos, textStims, rectStims) + win.flip() + resp, rt = waitResponse(clock = rtClock) + return resp, rt + + +def runTask(taskTrials, append = True, header = True): + rtClock = core.Clock() + frameClock = core.Clock() + fixationStim = visual.TextStim(win, text = '+', color = 'black') + for thisTrial in taskTrials: + posList = [thisTrial['stim.pos%s'%ii] for ii in range(thisTrial['ttl.stims'])] + stims = [thisTrial['stim%s'%ii] for ii in range(thisTrial['ttl.stims'])] + resp, rt = runTrial(win, rtClock, stims, posList, thisTrial['stim.probe'], [posList[thisTrial['corr.num']]], + fixationStim, fixation_on_time, fixation_off_time, view_stims_time, stims_memory_time, header) + + taskTrials.data.add('resp', resp) + taskTrials.data.add('RT', rt) + core.wait(1) + taskTrials.saveAsWideText('data/all', appendFile = append, matrixOnly = True) + taskTrials.saveAsWideText('data/' + str(thisTrial['Subject']), appendFile = append, matrixOnly = not header) + +#instructions(pracTrials) +for trials in taskTrials: + runTask(trials, header = False) + + +#runTrial(win, core.Clock(), ['A', 'B','C','D'], zip(range(-6, 6, 3), range(-6,6,3)), ['A'], (-6,-6)) \ No newline at end of file diff --git a/miscpy/centerimages.py b/miscpy/centerimages.py new file mode 100644 index 0000000..4fc1197 --- /dev/null +++ b/miscpy/centerimages.py @@ -0,0 +1 @@ +import PIL \ No newline at end of file diff --git a/miscpy/example.py b/miscpy/example.py new file mode 100644 index 0000000..87dca9b --- /dev/null +++ b/miscpy/example.py @@ -0,0 +1,13 @@ +from psychopy import visual, core +import os + +os.getcwd() +font_dir = 'circle_square.otf' #may need to change this to point to font +font_name = 'circle_square' +letters = ['A', 'B', 'C', 'D', 'E', 'F'] + +win = visual.Window() +textStims = [ visual.TextStim(win, text = letters[ii], bold = True, fontFiles = [font_dir], font = 'Circle_Square', height = .1 + ii/10. , color = 'black', pos = (-.5+ ii/(5.), -.5+ ii/(5.))) for ii in range(5) ] +for stim in textStims: stim.draw() +win.flip() +core.wait(5) \ No newline at end of file diff --git a/shapes.py b/shapes.py new file mode 100644 index 0000000..17fc75b --- /dev/null +++ b/shapes.py @@ -0,0 +1,119 @@ +from psychopy import data +import random +import math + +participantNum = 9 + + +def genPos(numStims, constraint, boxHor, boxVer, threshold = None): + posList = [] + if not threshold: threshold = math.ceil(numStims / 4) #stims distributed evenly through quadrants + for ii in range(numStims): + tooClose = True #Start loop + while tooClose: + tooClose = False #Assume the best + newpos = (random.random()*boxHor - (boxHor/2), random.random()*boxVer - (boxVer/2)) #new random pos + for otherpos in posList: #compare to other positions + if distance(newpos, otherpos) < constraint: tooClose = True #redraw if too close + quad = [quadrant(pos) for pos in posList] + if quad.count(quadrant(newpos)) == threshold: tooClose = True #fails constraint + + posList.append(newpos) + return posList + +def quadrant(pos): + if pos[0] >= 0 <= pos[1]: return 1 #top-right + if pos[0] < 0 < pos[1]: return 2 #top-left + if pos[0] < 0 > pos[1]: return 3 #bottom-left + if pos[0] >= 0 > pos[1]: return 4 #bottom-right + +def addConstraints(newpos, posList, threshold = 1): + quad = [quadrant(pos) for pos in posList] + if quad.count(quadrant(newpos)) == threshold: return True #fails constraint +def distance(posA, posB): + diffs = [(coordA - coordB)**2 for coordA,coordB in zip(posA, posB)] + return sum(diffs)**(1./2) + + + +def sampleShapes(SQUARES, OVALS, k, uniquesquares, uniqueovals, randomdraw = True): + stims = random.sample(SQUARES, uniquesquares) + stims.extend(random.sample(OVALS, uniqueovals)) + if randomdraw: + toDraw = max(k-(uniquesquares + uniqueovals), 0) + drawFrom = SQUARES+OVALS + #maxEle_ii = len(drawFrom)-1 + #stims.extend([drawFrom[random.randint(0, maxEle_ii)] for round in range(toDraw)]) + while len(stims) < k: + newdraw = random.sample(drawFrom, 1) + if stims.count(newdraw) == 2: continue + else: stims.extend(newdraw) + return stims + elif k % (uniquesquares + uniqueovals) == 0: + stims = stims*(k / (uniquesquares + uniqueovals)) + random.shuffle(stims) + return stims + else: raise +def sampleColors(stims, k, repeats): + sampled = [] + while len(sampled) < k: + newdraw = stims[random.randint(0, len(stims)-1)] + if sampled.count(newdraw) == repeats: continue + else: sampled.append(newdraw) + return sampled + + +def genTrials(blockNum, shape_trials, shape_lures, col_trials, col_lures, num_stims, min_dist, grid_size, participantNum): + selection = (blockNum%3)*2 if (type(blockNum) == int) else (0) + SQUARES = ['M', 'N', 'O', 'P', 'Q', 'R'][selection:selection+2] + OVALS = ['A','B','C','D','E','F'][selection:selection+2] + COLORS = ['red', 'blue', 'green', 'yellow', 'black', 'white'] + trialList = [] + + for ttlStims in num_stims: + luresLeft = {'shapes':shape_lures, 'colors':col_lures} + stimsDict = {'shapes':SQUARES + OVALS, 'colors': COLORS} + trialType = ['shapes']*shape_trials + ['colors']*col_trials + for trial in trialType: + posList = genPos(ttlStims, min_dist, grid_size[0], grid_size[1]) + if trial == 'shapes': + stims = sampleShapes(SQUARES, OVALS, ttlStims, 1, 1) + else: stims = sampleColors(COLORS, ttlStims, repeats = 2) + probeNum = random.randint(0, ttlStims - 1) #probe num + if luresLeft[trial] > 0: + luresLeft[trial] = luresLeft[trial] - 1 + luresList = [item for item in stimsDict[trial] if item != stims[probeNum]] + probe = random.sample(luresList, 1)[0] + else: probe = stims[probeNum] + d = dict([('stim%s'%ii, val) for ii, val in enumerate(stims)]) + print probe, '\t', probeNum, '\t', stims[probeNum] + d.update( [('Subject', participantNum), ('block',str(blockNum)), ('stim.probe', probe), ('corr.num', probeNum), ('stim.corr', stims[probeNum]), ('match', probe == stims[probeNum]), ('trial.type', trial), ('ttl.stims', ttlStims)] ) + d.update([('stim.pos%s'%ii , pos) for ii, pos in enumerate(posList)]) #clunky but python2.6 compatible + trialList.append(d) + return trialList + +Blocks = 9 +###### +#trials per block +shape_trials = 8#16 #per set size +shape_lures = 8#8 #per set size +col_trials = 0#8 #" +col_lures = 0#4 +num_stims = [4] + +min_dist = 4 +grid_size = (17.5, 17.5) +#test trials +trialLists = [genTrials(ii, shape_trials, shape_lures, col_trials, col_lures, num_stims, min_dist, grid_size, participantNum = participantNum) for ii in range(Blocks)] +#practice trials +pracList = genTrials('Practice', 4, 2, 0, 0, [4, 8], min_dist, grid_size, participantNum = participantNum) + + +taskTrials = [data.TrialHandler(trialLists[ii], 1) for ii in range(len(trialLists))] +for handlerNum in range(len(trialLists)): + taskTrials[handlerNum].data.addDataType('resp') + taskTrials[handlerNum].data.addDataType('RT') +pracTrials = data.TrialHandler(pracList, 1) +pracTrials.data.addDataType('resp') +pracTrials.data.addDataType('RT') + diff --git a/stims/A.png b/stims/A.png new file mode 100644 index 0000000..ca78a2a Binary files /dev/null and b/stims/A.png differ diff --git a/stims/B.png b/stims/B.png new file mode 100644 index 0000000..b49a4eb Binary files /dev/null and b/stims/B.png differ diff --git a/stims/C.png b/stims/C.png new file mode 100644 index 0000000..9402e5c Binary files /dev/null and b/stims/C.png differ diff --git a/stims/D.png b/stims/D.png new file mode 100644 index 0000000..a7896da Binary files /dev/null and b/stims/D.png differ diff --git a/stims/E.png b/stims/E.png new file mode 100644 index 0000000..bc5d134 Binary files /dev/null and b/stims/E.png differ diff --git a/stims/F.png b/stims/F.png new file mode 100644 index 0000000..96d07ea Binary files /dev/null and b/stims/F.png differ diff --git a/stims/M.png b/stims/M.png new file mode 100644 index 0000000..a3ca877 Binary files /dev/null and b/stims/M.png differ diff --git a/stims/N.png b/stims/N.png new file mode 100644 index 0000000..c6b98cb Binary files /dev/null and b/stims/N.png differ diff --git a/stims/O.png b/stims/O.png new file mode 100644 index 0000000..abf521d Binary files /dev/null and b/stims/O.png differ diff --git a/stims/P.png b/stims/P.png new file mode 100644 index 0000000..6b00966 Binary files /dev/null and b/stims/P.png differ diff --git a/stims/Q.png b/stims/Q.png new file mode 100644 index 0000000..66fa09b Binary files /dev/null and b/stims/Q.png differ diff --git a/stims/R.PNG b/stims/R.PNG new file mode 100644 index 0000000..385d66a Binary files /dev/null and b/stims/R.PNG differ diff --git a/stims/circle_square.otf b/stims/circle_square.otf new file mode 100644 index 0000000..45a6a54 Binary files /dev/null and b/stims/circle_square.otf differ