.. title:: Pythonã§å¿ƒç†å®Ÿé¨“ - 例題20-1 例題20-1:ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ãƒ¯ãƒ¼ã‚¯ã‚·ãƒ§ãƒƒãƒ—ï¼ JPA77ã”å ±å‘Š ============================================================ **A:** ãˆãƒ¼ã€‚ã™ã§ã«ä¸€ã‹æœˆä»¥ä¸ŠçµŒéŽã—ã¦ã—ã¾ã„ã¾ã—ãŸãŒã€åŽ»ã‚‹2013å¹´9月19æ—¥ã«æ—¥æœ¬å¿ƒç†å¦ä¼šã§ã€Œå¿ƒç†å¦ç ”ç©¶ã®ãŸã‚ã® Python 活用法ã€ã¨ã„ã†ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ãƒ¯ãƒ¼ã‚¯ã‚·ãƒ§ãƒƒãƒ—ãŒè¡Œã‚れã¾ã—ãŸã€‚ãã®éš›ã«å®Ÿæ–½ã—ãŸã‚¢ãƒ³ã‚±ãƒ¼ãƒˆã®çµæžœå ±å‘Šã‚’ã‚‚ã£ã¦ä¾‹é¡Œ20ã¨ã•ã›ã¦ã„ãŸã ããŸã„ã¨æ€ã„ã¾ã™ã€‚ **B:** ã‚ー。ã±ã¡ã±ã¡ã±ã¡ã±ã¡â€¦ ã£ã¦ã€ãªã‚“ã‹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ä½Žã„ã§ã™ã。 **A:** ん。Sã®ç½®æ‰‹ç´™ãŒã“ã“ã«ã‚る。 **B:** ãŠã€ç½®æ‰‹ç´™ï¼Ÿ 日本心ç†å¦ä¼šãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ãƒ¯ãƒ¼ã‚¯ã‚·ãƒ§ãƒƒãƒ—「心ç†å¦ç ”ç©¶ã®ãŸã‚ã® Python 活用法ã€ã«å‚åŠ ã—ã¦ã„ãŸã ã„ãŸçš†æ§˜ã€ã‚りãŒã¨ã†ã”ã–ã„ã¾ã—ãŸã€‚ ã¾ãŸã€äºˆæƒ³ä»¥ä¸Šã«å¤šãã®æ–¹ã‹ã‚‰ã€ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ãƒ¯ãƒ¼ã‚¯ã‚·ãƒ§ãƒƒãƒ—ãŒæ—©ã€…ã«å®šå“¡ã«é”ã—ã¦ã—ã¾ã£ãŸãŸã‚申込ã¿ã§ããªã‹ã£ãŸã¨ä¼ºã„ã¾ã—ãŸã€‚申ã—訳ã”ã–ã„ã¾ã›ã‚“ã§ã—ãŸã€‚ 今回ã¯ã€Œåºƒãã€æµ…ãã€è©±ã‚’ã•ã›ã¦ã„ãŸã ã„ãŸã®ã§ã™ãŒã€çµ‚了ã—ã¦ã€Œå‚åŠ è€…ã¯ãƒŽãƒ¼ãƒˆPCæŒå‚ã€ãƒ†ãƒ¼ãƒžã¯ã€Žæ¸¬å®šæ©Ÿå™¨ã¨ã®ãƒ‡ãƒ¼ã‚¿å…¥å‡ºåŠ›ã€ã€ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°çµŒé¨“者ã®ã¿ã€ã¨è¨€ã£ãŸå…·åˆã«æ¡ä»¶ã‚’絞ã£ã¦æ·±ã掘り下ã’ãŸæ–¹ãŒè‰¯ã‹ã£ãŸã®ã§ã¯ãªã„ã‹ã¨ã„ã†æ„Ÿæƒ³ã‚’æŒã¡ã¾ã—ãŸã€‚今後ã€ã¾ãŸã“ã®ã‚ˆã†ãªãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã‚’ä¼ç”»ã™ã‚‹éš›ã®å‚考ã«ã•ã›ã¦ã„ãŸã ããŸã„ã¨æ€ã„ã¾ã™ã€‚ æ„›åª›å¤§å¦ åæ²³å®è¡Œ **B:** んー。特ã«ãªã‚“ã¨ã„ã†ã“ã¨ã¯ãªã„å†…å®¹ã«æ€ã„ã¾ã™ãŒã€‚ **A:** ã‚‚ã£ã¨ã†ã¾ã„やりよã†ãŒã‚ã£ãŸã‚“ã˜ã‚ƒãªã„ã‹ã£ã¦ãšã„ã¶ã‚“æ°—ã«ã—ã¦ãŸãªã€‚ã¾ã€Sã¯ã‚ーゆー奴ãªã‚“ã§é™ã‹ã«æ”¾ç½®ã—ã¦ã‚„ã‚‹ã®ãŒè‰¯ã„よ。ã§ã€ç¹°ã‚Šè¿”ã—ã«ãªã‚‹ã‘ã©ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã§é…ã£ãŸã‚¢ãƒ³ã‚±ãƒ¼ãƒˆã®çµæžœã‚’ã¾ã¨ã‚ãŸã‚‚ã®ã‚’é ã‹ã£ã¦ã„る。ã¾ãšã€å‚åŠ ã—ã¦ã„ãŸã ã„ãŸçš†ã•ã‚“ã®ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°çµŒé¨“ã«ã¤ã„ã¦ã€‚ .. csv-table:: :delim: $ A. Python以外ã®è¨€èªžã§ã®ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°çµŒé¨“ãŒã‚ã‚‹$15å B. Pythonã§ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°çµŒé¨“ãŒã‚ã‚‹ãŒã€ãれ以外ã®è¨€èªžã¯çµŒé¨“ãŒãªã„$1å C. プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã®çµŒé¨“ã¯ã»ã¨ã‚“ã©ãªã„$3å 計$19å **B:** ã»ã¨ã‚“ã©ãŒçµŒé¨“è€…ã®æ–¹ã§ã™ã。んã˜ã‚ƒã‚‚ã£ã¨ä»–言語ã§ã®ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°çµŒé¨“者å‘ã‘ã®æƒ…å ±ç™ºä¿¡ã‚’ã—ã¦ã„ã‹ãªã„ã¨ã„ã‘ãªã„ã¨ã„ã†äº‹ã§ã™ã‹ã。 **A:** ã†ã‚€ã€‚Sã®ç½®æ‰‹ç´™ã«ã‚‚ã‚ã£ãŸã‚ˆã†ã«å®šå“¡ã‚ªãƒ¼ãƒãƒ¼ã§ç”³è¾¼ã¿ã§ããªã‹ã£ãŸæ–¹ã‚‚ãŠã‚‰ã‚ŒãŸã®ã§ã€æ½œåœ¨çš„ãªèªè€…ã¯ã‚‚ã£ã¨ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°çµŒé¨“ã®å°‘ãªã„æ–¹ãŒå¤šã„ã‹ã‚‚ã—れãªã„。ã¾ã‚Sã«ã‚ˆã‚‹ã¨ã€Œç”³è¾¼ã¿ã§ããªã‹ã£ãŸã€ã¨è¨€ã£ã¦ãŠã‚‰ã‚ŒãŸæ–¹ã€…ã¯ã»ã¨ã‚“ã©ä»–言語ã§ã®ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°çµŒé¨“者ã ã£ãŸã¨ã„ã†ã“ã¨ã ãŒã€‚ **B:** ãªã‚‹ã»ã©ã€‚ **A:** ç¶šã„ã¦A.ã¨å›žç”ã•ã‚ŒãŸæ–¹ãŒã©ã®ã‚ˆã†ãªè¨€èªžã‚’使ã£ã¦ã„ã‚‹ã‹ã€‚2å以上回ç”ãŒã‚ã£ãŸã‚‚ã®ã«é™ã‚‹ã€‚ .. csv-table:: :delim: $ Matlab$7å C/C++$7å VisualBasic$6å R$3å **B:** ã‚„ã¯ã‚ŠMatlabã§ã™ã‹ã€‚案外C/C++を使ã‚れる方ãŒå¤šã„ã‚“ã§ã™ã。 **A:** ã†ã‚€ã€‚ãれã«Visual Basicã‚‚ãªã€‚1åã®æ–¹ãŒæŒ™ã’ãŸè¨€èªžã¨ã—ã¦ã¯ActiveBasicã€ACT-Rã€E-Primeã€HSPã€Javaã€KOBOLã€Lispã€N88Basicã€Presentationã€Processingãªã©ãªã©ã€‚PsychToolboxã¨æ›¸ã‹ã‚ŒãŸæ–¹ã¯Matlabã«ã€VBAã¨æ›¸ã‹ã‚ŒãŸæ–¹ã¯Visual Basicã¨ã—ã¦é›†è¨ˆã•ã›ã¦ã„ãŸã ã„ãŸã€‚ **B:** むむむã€çŸ¥ã‚‰ãªã„ã‚‚ã®ãŒã‚ã‚‹ãªâ€¦ã€‚ **A:** 用途ã«ã¤ã„ã¦ã‚‚ãŠèžãã—ãŸã®ã ãŒã€ã¡ã‚‡ã£ã¨ã“れã¯å¤šå²ã«ã‚ãŸã£ã¦ã„ã¦ã¾ã¨ã‚ã‚‹ã¨ã„ã†æ„Ÿã˜ã§ã¯ãªã‹ã£ãŸã€‚ã¾ã‚Matlabã¯ã»ã¼å®Ÿé¨“ã¨ãƒ‡ãƒ¼ã‚¿å‡¦ç†ã®ãŸã‚ã€Rã¯ãƒ‡ãƒ¼ã‚¿å‡¦ç†ã®ãŸã‚ã€Visual Basicã¯å¹…広ã。ã¾ã‚ã€ã„ãšã‚Œã«ã—ã¦ã‚‚Matlabã¨Visual Basicã§å®Ÿé¨“ã—ã¦ã„る方々ã®ã‚µãƒãƒ¼ãƒˆã‚’ã—ã¦ã„ã‹ãªã„ã¨ã„ã†ã“ã¨ã ãªã€‚ç§ã‚‚Sã‚‚Visual Basicã¯ã‚ã¾ã‚ŠçµŒé¨“ãŒãªã„ã®ã§ã¡ã‚‡ã£ã¨ãƒãƒ¼ãƒ‰ãƒ«ãŒé«˜ã„ãŒâ€¦ã€‚ **B:** C/C++ã¯ï¼Ÿ **A:** C/C++ã§ã®çµŒé¨“ãŒã‚ã‚‹æ–¹ã®å¤šãã¯Matlabã‚„Visual Basicã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã§ã‚‚ã‚ã‚‹ã‚“ã ãªã€‚C/C++オンリーã¨è¨€ã†æ–¹ã¯å°‘æ•°æ´¾ã ã£ãŸã‚ˆã†ã 。 **B:** ãªã‚‹ã»ã©ã€‚ **A:** ã•ã¦ã€ã‚ã¨ã¯è‡ªç”±è¨˜è¿°æ¬„。ã”質å•ã€ã”è¦æœ›ã«ãªã£ã¦ã„ã‚‹ã‚‚ã®ã‚’挙ã’る。以下ã€é †ç•ªã«å–り上ã’よã†ã€‚ #. ã©ã®ã‚ˆã†ã«å‹‰å¼·ã™ã‚Œã°ã‚ˆã„ã‹ï¼Ÿ #. 専門用語ã®ç¾…列ã¯ãªã‚“ã¨ã‹ãªã‚‰ãªã„ã®ã‹ï¼Ÿ #. PsychoPyã§ä½œæˆã—ãŸå®Ÿé¨“ã¯ãƒ€ãƒ–ルクリックã™ã‚‹ã ã‘ã§å®Ÿè¡Œã§ãã‚‹ã‹ï¼Ÿ #. 動画刺激視è´ä¸ã®è©•定を計測ã§ãã‚‹ã‹ï¼Ÿ #. Rã¨ã®é€£æºã‚’シームレスã«å‡ºæ¥ã‚‹ã‹ï¼Ÿ #. pythonã¨Matlabã®éžç·šå½¢ãƒ•ィッティングã¯ã©ã¡ã‚‰ãŒæ¥½ã‹ï¼Ÿ #. ステレオモードã§åˆºæ¿€æç¤ºã—ã¦ã‚·ãƒ£ãƒƒã‚¿ãƒ¼ã‚´ãƒ¼ã‚°ãƒ«ã¨åŒæœŸã•ã›ã‚‹ã“ã¨ã¯å‡ºæ¥ã‚‹ã‹ï¼Ÿ #. MRIãªã©ã¨ã®å¤–部装置ã®é€šä¿¡ã¯å¯èƒ½ã‹ï¼Ÿ #. タスクã®ä½œæˆã‚„データ解æžã«ã¤ã„ã¦ã®ãƒ¯ãƒ¼ã‚¯ã‚·ãƒ§ãƒƒãƒ—開催ã®è¨ˆç”»ã¯ã‚ã‚‹ã‹ï¼Ÿ ã©ã®ã‚ˆã†ã«å‹‰å¼·ã™ã‚Œã°ã‚ˆã„ã‹ï¼Ÿ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **A:** ã†ãƒ¼ã‚€ã€ã“れã¯ã¨ã£ã¦ã‚‚大切ãªè³ªå•ãªã®ã ãŒã€æ®‹å¿µãªãŒã‚‰ä½œè€…ã®Sã‚‚ç§ã‚‚é•·ã„æ™‚é–“ã‚’ã‹ã‘ã¦ã„ã‚ã‚“ãªè¨€èªžã§ã„ã‚ã‚“ãªãƒ—ãƒã‚°ãƒ©ãƒ を書ã„ã¦ããŸã†ãˆã§pythonを使ã„å§‹ã‚ã¦ã„ã‚‹ã®ã§ã€pythonã®ç¿’得自体ã«ã¯ãƒ†ã‚ストã®é¡žã¯ä¸€åˆ‡é ¼ã£ã¦ãŠã‚‰ã‚“。ã ã‚‚ã‚“ã§ãŠå‹§ã‚ã§ãる本ã¨ã‹çŸ¥ã‚‰ã‚“ã®ã 。 **B:** ãˆã€ã„ãらãªã‚“ã§ã‚‚何もå‚考ã«ã—ã¦ãªã„ã“ã¨ã¯ãªã„ã§ã—ょ? **A:** VisionEggã®ã‚µãƒ³ãƒ—ルコードãŒåˆã‚ã¦èªã‚“ã pythonã§æ›¸ã‹ã‚ŒãŸã‚¹ã‚¯ãƒªãƒ—ト。ã§ã€C/C++ã¨ã‹Matlabを知ã£ã¦ã„れã°ã ã„ãŸã„ã‚ã‹ã‚‹ã‚“ã§ã€å¾Œã¯ã€Œï¼Ÿã€ã¨æ€ã†è¡¨è¨˜ã‚’見ãŸã‚‰ã–ã£ã¨webã§æ¤œç´¢ã‚’ã‹ã‘ã¦ã€‚ãれã ã‘。 **B:** å‚考ã«ãªã‚‰ãªã„ãŠã£ã•ã‚“ãŸã¡ã ãªãƒ¼ã€‚ **A:** ãã†ã„ã†Bå›ã¯ã©ã†ãªã®ã‚ˆï¼Ÿ **B:** ãˆã‚›ã£ã€åƒ•ã§ã™ã‹ï¼Ÿ ã„ã‚„ã€åƒ•ã¯â€¦ã€‚ã»ã‚‰ã€‚僕ã®ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã®ãƒ¬ãƒ™ãƒ«ã¯ãƒ”ーーーーã®éƒ½åˆã§å¤‰åŒ–自在ã§ã™ã‹ã‚‰ã€‚ **A:** ã‚ã€ã‚„ã£ã±ã‚Šï¼Ÿ ピーーーーã¨ã‹ãƒ”ーーーーーã ã¨Bå›ã®ç†è§£åŠ›ã¯é£›èºçš„ã«é€²æ©ã™ã‚‹ã‚‚ã‚“ãªã€‚ **B:** ãã‚“ãªã‚ã‘ã§åƒ•ã®ã“ã¨ã¯ã»ã£ã¨ã„ã¦ã€ã©ã†ã‚„ã£ã¦å‹‰å¼·ã™ã‚Œã°ã£ã¦è©±ã§ã™ã‚ˆã€‚ **A:** ãã†ã ãªã‚。ç§ã®æŒè«–ã¨ã—ã¦ã¯ã€ã¾ãš **万人ã«åˆã†å‹‰å¼·æ–¹æ³•ã¯ãªã„ã®ã§ã€è‡ªåˆ†ã«åˆã†æ–¹æ³•を探ã™ã—ã‹ãªã„** ã¨ã„ã†ã‚’大剿ã¨ã—ã¦æ–ã£ã¦ãŠã„ã¦ã€ãã®ã†ãˆã§ **自分ãŒã‚„りãŸã„ã“ã¨ã«è¿‘ã„スクリプトを探ã—ã¦ãã¦ã€ãれをèªã‚“ã§ã¿ãŸã‚Šã€ã™ã“ã—æ›¸ãæ›ãˆã¦è¦‹ãŸã‚Šã—ã¦ä½•ãŒèµ·ã“ã‚‹ã‹ã‚’体験ã—ãŸã‚Šã™ã‚‹** ã®ãŒã„ã„ã¨æ€ã†ã‚“ã 。特㫠**ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯æœ€é«˜ã®æ•™å¸«** ãªã®ã§ã€ã‚ˆãã‚ã‹ã‚‰ãªã„エラーメッセージãŒå‡ºã¦ããŸã¨ãã«ãã®æ„味を調ã¹ã‚ˆã†ã¨é ‘å¼µã£ã¦ã¿ã‚‹ã“ã¨ã€‚ **B:** ã‚°ã‚°ã£ãŸã ã‘ã§ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æ„味をç†è§£ã™ã‚‹ã«ã¯ã™ã§ã«ã‚る程度ã®çŸ¥è˜ã‚’æŒã£ã¦ã„ã‚‹ã“ã¨ãŒå¿…è¦ã ã¨æ€ã„ã¾ã™ãŒâ€¦ã€‚ **A:** ãã†ã€ãれよ。ç§ãŒåä¾›ã®é ƒã¯ãƒ›ãƒ“ープãƒã‚°ãƒ©ãƒžå‘ã‘ã®é›‘誌ãŒä½•誌ã‹ã‚ã£ã¦ã€ãã†ã„ã†é›‘誌を購èªã—ã¦ãƒ’ãƒžãªæ™‚ã«ãƒ†ã‚トーã«çœºã‚ã¦ã„ãŸã‚‰ã‚³ãƒ³ãƒ”ュータã®ä»•組ã¿ã‚„è¨€èªžã®æ–‡æ³•ã€ã„ã‚ã„ã‚ãªåˆ†é‡Žã®ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ãƒ†ã‚¯ãƒ‹ãƒƒã‚¯ãŒãªã‚“ã¨ãªã身ã«ä»˜ã„ãŸã‚‚ã®ã ã£ãŸã€‚今ã¯ãã†ã„ã†é›‘誌ãŒã»ã¨ã‚“ã©ãªããªã£ã¦ã—ã¾ã£ãŸã®ã§è‡ªç¿’ãŒé›£ã—ããªã£ãŸã‚“ã ã‚ã†ãªã‚ã¨æ€ã†ã€‚ **B:** Aã•ã‚“ã«åä¾›ã®é ƒãªã‚“ã¦ã‚ã£ãŸã‚“ã§ã™ã‹ã€‚ **A:** ã‚ã£ãŸã«æ±ºã¾ã£ã¨ã‚‹ã€‚ãã†ã„ã†é›‘誌ã«ã¯ã‚³ãƒ¼ãƒ‰ãŒè¼‰ã£ã¦ã„ã¦ã€ãã®ã‚³ãƒ¼ãƒ‰ã«ã¤ã„ã¦ã®è§£èª¬ãŒè¨˜äº‹ã®ç†è€…ãれãžã‚Œã®ãƒŽãƒªã§ãŠã‚‚ã—ã‚ãŠã‹ã—ãæ·»ãˆã‚‰ã‚Œã¦ã„ãŸã€‚今ã¯webを検索ã™ã‚Œã°è‰¯è³ªãªã‚³ãƒ¼ãƒ‰ã‚’当時ã¨ã¯æ¯”ã¹ç‰©ã«ãªã‚‰ãªã„ãらã„ãŸãã•ん入手ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹ãŒã€è§£èª¬ãŒæ·»ãˆã‚‰ã‚Œã¦ã„ãªã„ã®ã§è‡ªç¿’ã®ãƒãƒ¼ãƒ‰ãƒ«ãŒã™ã”ã高ããªã£ã¦ã„る。 **B:** 「ãã®çжæ³ã‚’æ‰“ç ´ã™ã‚‹ãŸã‚ã«ã“ã®ã€Žpythonã§å¿ƒç†å®Ÿé¨“ã€ã‚’å§‹ã‚ãŸã®ã§ã‚ã‚‹(ドヤァã€ã£ã¦ã‚ã‘ã§ã™ã‹ã€‚ **A:** 別ã«ãƒ‰ãƒ¤é¡”ã§ã¯ãªã„ãŒã€ã¾ã‚ãã†ã„ã†ä¸€é¢ã¯ã‚る。 **B:** ã¾ãŸã¾ãŸã€ã‚«ãƒƒã‚³ã¤ã‘ã¡ã‚ƒã£ã¦ãƒ¼ã€‚ **A:** ã¨ã„ã†ã‚ã‘ã§ã€ã‚³ãƒ¼ãƒ‰ã‚’ã„ã˜ã‚‹æ™‚ã«æ‰‹å…ƒã«ä¸€å†Šæ—¥æœ¬èªžã§æ›¸ã‹ã‚ŒãŸpythonã®å…¥é–€æ›¸ãŒã‚れã°ä¾¿åˆ©ã ã‚ã†ã€‚Amazâ—‹nã¨ã‹ã§æ¤œç´¢ã—ã¦â˜†ã®æ•°ãªã‚Šã‚³ãƒ¡ãƒ³ãƒˆãªã‚Šã‚’å‚考ã«ã—ã¦é©å½“ãªã‚‚ã®ã‚’è²·ã£ã¦ã‚‚ã„ã„ã—ã€è†¨å¤§ãªãƒšãƒ¼ã‚¸æ•°ã®PDFファイルをå°åˆ·ã™ã‚‹æ°—力ãŒã‚ã‚‹ã®ãªã‚‰ `Python Japanã®ãƒ‰ã‚ュメント翻訳プãƒã‚¸ã‚§ã‚¯ãƒˆã®PDFファイル <http://sourceforge.jp/projects/pythonjp/releases/>`_ ã‚’å°åˆ·ã—ã¦ã‚‚ã„ã„ã ã‚ã†ã€‚ã¡ãªã¿ã«ç§ã¯ã“れã®ver2.5ã®è³‡æ–™ã‚’大ã„ã«æ´»ç”¨ã•ã›ã¦ã‚‚らã£ãŸã€‚chmファイルã¨ã‹ã‚‚ã‚ã‚‹ã‚“ã ã‘ã©ã‚¦ãƒã®Win7環境ã ã¨ã‚¨ãƒ©ãƒ¼ãŒå‡ºã¦é–²è¦§ã«æ”¯éšœãŒã‚ã£ãŸã€‚ **B:** ã†ã¸ãˆã€ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¦è§£å‡ã—ãŸã‚‰PDFファイルãŒ26個もã‚ã‚‹ã˜ã‚ƒãªã„ã§ã™ã‹ã€‚ **A:** 全部å°åˆ·ã™ã‚‹å¿…è¦ã¯ãªã„。ã¾ãšã¯ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«(tutorial.pdf)ã€ã‚ã¨ã¯å¿…è¦ã«å¿œã˜ã¦è¨€èªžãƒªãƒ•ァレンス(reference.pdf)ã€æ¨™æº–ライブラリ(library.pdf)ã‚’å°åˆ·ã—ãŸã‚‰ã„ã„ã‚“ã˜ã‚ƒãªã„ã‹ãªã€‚ **B:** …ãれãžã‚Œ164ページã€161ページã€1798ページ(!)ã‚‚ã‚ã‚‹ã‚“ã§ã™ãŒâ€¦ã€‚ **A:** ã¯ã¯ã£ã€‚書ç±ã‚’購入ã—ãŸæ–¹ãŒä½¿ã„勿‰‹ã‚‚ã„ã„ã ã‚ã†ã—ã€å°åˆ·ä»£ã‚ˆã‚Šæ›¸ç±ä»£ã®æ–¹ãŒå®‰ã„ã‹ã‚‚知れんãªã€‚ã“ã®æ‰‹ã®ãƒ‰ã‚ュメントã«ã¯è‰¯ãã‚る事よ。ã•ã¦ã€æ¬¡ã®è©±é¡Œã«è¡Œãã‹ã€‚ 専門用語ã®ç¾…列ã¯ãªã‚“ã¨ã‹ãªã‚‰ãªã„ã®ã‹ï¼Ÿ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **A:** ã“れも耳ãŒç—›ã„指摘。ã§ã‚‚ã€ãªã‚“ã¨ã‹ã™ã‚‹ã®ã¯é›£ã—ã„ã£ã¦ã“ã¨ã¯ç ”究者や大å¦é™¢ç”Ÿã®æ–¹ã€…ã«ã¯ã‚ã‹ã£ã¦ã„ãŸã ã‘ã‚‹ã¨æ€ã†ã€‚ゼミãªã©ã§åˆã‚ã¦å¦è¡“論文をèªã‚“ã ã¨ãã«ã€ç”¨èªžã®æ„味ãŒåˆ†ã‹ã‚‰ãªãã¦ä½•ãŒä½•やらã•ã£ã±ã‚Šã ã£ãŸã®ã§ã¯ãªã‹ã£ãŸã‹ã€‚ã§ã‚‚今ã¯ã„ã‚ã‚“ãªå°‚門用語を自分ã§ã‚‚使ã„ã¾ãã£ã¦ã„ã¦ã€ä»Šè‡ªåˆ†ãŒæ›¸ã„ã¦ã„る論文を昔ã®è‡ªåˆ†ã«ã‚‚ã‚ã‹ã‚‹ã‚ˆã†ã«æ›¸ã“ã†ã¨æ€ã£ã¦ã‚‚書ã‘ãªã„ã®ã§ã¯ãªã„ã‹ã€‚ **B:** …。 **A:** 専門用語をã‚ã‹ã‚Šã‚„ã™ã„(ã¨ç†è€…ãŒå‹æ‰‹ã«æ€ã£ã¦ã„る)表ç¾ã«ç½®ãæ›ãˆã‚‹ã“ã¨ã¯å¯èƒ½ã ãŒã€ç½®ãæ›ãˆãŒå´ã£ã¦æ£ç¢ºãªç†è§£ã®å¦¨ã’ã«ãªã£ã¦ã„ãªã„ã‹ã€‚å´ã£ã¦å°‚門用語を覚ãˆã‚‹å¦¨ã’ã«ãªã£ã¦ã„ãªã„ã‹ã€‚ **B:** …Aã•ã‚“ã®è¨€ã‚ã‚“ã¨ã™ã‚‹ã“ã¨ã¯ã‚ã‹ã‚‰ãªãã‚‚ãªã„ã§ã™ãŒã€ã˜ã‚ƒã‚åˆå¦è€…ã¯ã©ã†ã—ãŸã‚‰ã„ã„ã‚“ã§ã™ã‹ã。 **A:** 心ç†å¦ãªã‚“ã‹æ¯Žå¹´ã®ã‚ˆã†ã«ä½•冊も新ã—ã„æœ¬ãŒå‡ºã¦ã€ã„ã‚ã‚“ãªå…ˆç”ŸãŒã‚ã¡ã“ã¡ã®å¤§å¦ã§ã„ã‚ã‚“ãªèª¬æ˜Žã‚’試ã¿ã¦ã„ã¦ã€å¦ã¶äººãŸã¡ã¯ã„ã‚ã‚“ãªäººã®ã„ã‚ã‚“ãªèª¬æ˜Žã«è§¦ã‚Œã‚‹ã†ã¡ã«ã€è‡ªåˆ†ã®å‹˜é•ã„ã«æ°—付ã„ãŸã‚Šã€è‡ªåˆ†ã«ã—ã£ãりåˆã†èª¬æ˜Žã«å‡ºä¼šã£ãŸã‚Šã™ã‚‹ã®ã ã¨æ€ã†ã€‚「勉強ã®ä»•æ–¹ã€ã®ã¨ã“ã‚ã§ã‚‚言ã£ãŸã‚ˆã†ã«ã€ä¸‡äººã«åˆã£ã¦ã„る説明ãªã‚“ã¦ãªã„ã¨æ€ã£ã¦ã„る。ã ã‹ã‚‰ã€ç§ã«å‡ºæ¥ã‚‹ã“ã¨ã¯ã€ç§ãªã‚Šã®èª¬æ˜Žã‚’人目ã«ä»˜ãã¨ã“ã‚ã«æŽ²ã’ã¦ãŠãã“ã¨ã ã‘。誰ã‹ã®å½¹ã«ã¯ç«‹ã¤ã‹ã‚‚知れãªã„。 **B:** ã‚ã®ãƒ¼ã€‚é…”ã„ã—れã¦ãŠã‚‰ã‚Œã‚‹ã¨ã“ã‚ã«ç”³ã—訳ãªã„ã®ã§ã™ãŒã€çµå±€ã“ã®ã‚³ãƒ¡ãƒ³ãƒˆã¸ã®è¿”ç”ã¯ï¼Ÿ **A:** **ã¦ã‚„ã‚“ã§ã„㣠四ã®äº”ã®è¨€ã£ã¦ããˆã§å‹‰å¼·ã—ã‚„ãŒã‚Œï¼ï¼** ã£ã¦ãªã“ã¨ã§ã€‚ **B:** ã‚ーã‚ã€å°ç„¡ã—ã よ。ã¾ã£ãŸãã“ã®ãŠã£ã•ã‚“ã¯ã€‚ 追記:専門用語ã®å•題ã¯ç†è€…自身é ã‚’æ‚©ã¾ã›ã¦ã„ã¾ã™ãŒã€å°‚門用語ã®ä½¿ç”¨ã‚’é¿ã‘ã‚‹ã¨å´ã£ã¦ã‚ã‹ã‚Šã«ãããªã‚‹é¢ã‚‚ã‚り難ã—ã„æ‰€ã§ã™ã€‚幸ã„ã€ä»Šã¯webを検索ã™ã‚Œã°ç”¨èªžè§£èª¬ã®ã‚µã‚¤ãƒˆãŒã„ãã¤ã‚‚ヒットã—ã¾ã™ã®ã§ã€è‡ªåˆ†ã«åˆã†ï¼ä¿¡é ¼ã§ãる解説サイトã«å‡ºä¼šã†ã¾ã§ã¯ã€ **複数ã®ã‚µã‚¤ãƒˆã®è¨˜äº‹ã‚’èªã¿æ¯”ã¹ã‚‹** ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚ãã®ã†ã¡ãŠæ°—ã«å…¥ã‚Šã®ã‚µã‚¤ãƒˆãŒå›ºã¾ã£ã¦ãã‚‹ã®ã§ã¯ãªã„ã‹ã¨æ€ã„ã¾ã™ã€‚ PsychoPyã§ä½œæˆã—ãŸå®Ÿé¨“ã¯ãƒ€ãƒ–ルクリックã™ã‚‹ã ã‘ã§å®Ÿè¡Œã§ãã‚‹ã‹ï¼Ÿ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **B:** ãŠã£ã€ã“れãªã‚‰ã¼ãã«ã§ã‚‚ç”ãˆã‚‰ã‚Œã‚‹ãžã€‚自分ã§ã‚¨ãƒ‡ã‚£ã‚¿ã§æ›¸ã„ãŸã‚¹ã‚¯ãƒªãƒ—トãªã‚‰ã€ãƒ€ãƒ–ルクリックã™ã‚Œã°å®Ÿè¡Œã§ãã¾ã™ï¼ PsychoPy Builderã§ä½œã£ãŸå®Ÿé¨“ã¯ãƒ€ãƒ¡ã§ã™ï¼ **A:** んーã€30点。ã¾ãšã€ã”質å•ã•ã‚ŒãŸæ–¹ã®ç’°å¢ƒãŒWindowsã‹ã©ã†ã‹ã‚ã‹ã‚‰ãªã„。Windowsé™å®šã®è©±ãªã‚‰â€¦60点ã‹ãªã€‚ **B:** ãˆãƒ¼ã€‚確ã‹ã«Windowsã—ã‹è€ƒãˆã¦ã„ã¾ã›ã‚“ã§ã—ãŸãŒã€Windowsãªã‚‰100点ã§ã—ã‚‡ï¼Ÿï¼ **A:** PsychoPyã‚’StandAloneã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã‹ã€easy_installç‰ã§æ—¢å˜ã®pythonã«ãƒ‘ッケージã¨ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã‹ã§è©±ãŒé•ã†ã€‚StandAlone版ãªã‚‰æ‹¡å¼µå .py ã¨python.exeãŒé–¢é€£ä»˜ã‘られãªã„ã®ã§ãƒ€ãƒ–ルクリックã—ã¦ã‚‚実行ã§ããªã„。 **B:** ã†ãã£ã€ãŸã€ç¢ºã‹ã«â€¦ã€‚ **A:** ãã—ã¦ã€Builderã§ä½œã£ãŸå®Ÿé¨“ã§ã‚‚ã€ã‚³ãƒ³ãƒ‘イルã—ã¦ãŠã‘ã°è‡ªåˆ†ã§æ›¸ã„ãŸã‚¹ã‚¯ãƒªãƒ—トã¨åŒã˜ã 。Builderã§å®Ÿé¨“を作æˆã—ãŸå¾Œã€Compile Scriptをクリックã—ã¦â€¦ .. figure:: img/20-1-01.png **A:** CoderãŒè‡ªå‹•çš„ã«é–‹ãã®ã§ã€ã‚³ãƒ³ãƒ‘イルã•れãŸã‚³ãƒ¼ãƒ‰ã‚’好ããªåå‰ã§ä¿å˜ã—ã¦ãŠã‘ã°ã‚ˆã„。もã¡ã‚ã‚“å…ƒã®Builderã®å®Ÿé¨“ã§å‚ç…§ã—ã¦ã„ã‚‹Excelファイルや画åƒãƒ•ァイルã¯å®Ÿè¡Œæ™‚ã«å¿…è¦ã«ãªã‚‹ã®ã§æ³¨æ„ã™ã‚‹ã“ã¨ã€‚ .. figure:: img/20-1-02.png **B:** ã‚゛ー。ãã£ã‹ã€ãã‚“ãªæ‰‹ãŒã€‚ **A:** Builderã§ä½œã£ãŸfoo.psyexpã¨ã„ã†å®Ÿé¨“ファイルをBuilder上ã‹ã‚‰å®Ÿè¡Œã™ã‚‹ã¨foo_lastrun.pyã¨ã„ã†ãƒ•ァイルãŒã§ãã‚‹ãŒã€ã“れã¯foo.psyexpをコンパイルã—ãŸã‚‚ã®ãªã®ã§ã€ã“ã®foo.lastrun.pyを残ã—ã¦ãŠã„ã¦ã“ã„ã¤ã‚’ダブルクリックã—ã¦ã‚‚実験を実行ã§ãる。 **B:** ãªã‚‹ã»ã©ã€‚ã•ã™ãŒAã•んらã—ã„ã‚»ã‚³ã„æ‰‹ã§ã™ãªã€‚ **A:** ã„ã£ãŸã„何ãŒã‚»ã‚³ã„ã¨ã„ã†ã®ã‹ã€‚ã•ã¦ã€Windowsç’°å¢ƒã§æœªè§£æ±ºã®å•題ã¯StandAlone PsychoPyをインストールã—ãŸå ´åˆã ãŒã€ã“れã®å¯¾ç–ã¯ã‚ã‹ã‚‹ã‹ãªï¼Ÿ **B:** ãˆãˆã¨ã€ãˆãˆã¨ã€‚ **A:** OSã«ç™»éŒ²ã•れã¦ã„ãªã„æ‹¡å¼µåã®ãƒ•ァイルをダブルクリックã—ãŸã‚‰ã©ã†ãªã‚‹ã€‚ **B:** ã¸ï¼Ÿ ã©ã†ãªã‚‹ã£ã¦ã€ãƒ•ァイルを開ãアプリケーションをèžãダイアãƒã‚°ãŒâ€¦ãã‚ï¼ ãªã‚‹ã»ã©ã€‚pythonã®å®Ÿè¡Œãƒ•ァイルã«é–¢é€£ä»˜ã‘れã°ã„ã„ã‚“ã§ã™ã。 **A:** ãã®é€šã‚Šã€‚StandAlone PsychoPyãŒå…¥ã£ã¦ã„ã¦é€šå¸¸ã®Windows用PythonãŒå…¥ã£ã¦ã„ãªã„環境ãªã‚‰ã€æ‹¡å¼µå.pyã‚’é–‹ã実行ファイルã¨ã—ã¦StandAlone PsychoPyã®ä¸ã«å«ã¾ã‚Œã¦ã„ã‚‹Pythonを指定ã™ã‚Œã°ã„ã„。拡張å.pyã®ã‚¹ã‚¯ãƒªãƒ—トをダブルクリックã—ã¦ã€ã€Œã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れãŸãƒ—ãƒã‚°ãƒ©ãƒ ã®ä¸€è¦§ã‹ã‚‰ãƒ—ãƒã‚°ãƒ©ãƒ ã‚’é¸æŠžã™ã‚‹ã€ã‚’é¸ã¶ã€‚ .. figure:: img/20-1-03.png **B:** ã§ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã®é¸æŠžã§Pythonã®å®Ÿè¡Œãƒ•ァイルを指定ã™ã‚Œã°ã„ã„ã‚“ã§ã™ãã€ã‚ã‹ã‚‹ã€ã‚ã‹ã‚‹ãžï¼ .. figure:: img/20-1-04.png **A:** StandAlone PsychoPyを普通ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ã‚Œã°ã€PsychoPyã¯"C:\\Program Files (x86)"ã‹"C:\\Program Files"ã«ã‚ã‚‹ã¯ãšã€‚ã“ã®ãƒ•ォルダã®ä¸ã®pythonw.exeを指定ã™ã‚Œã°ã‚ˆã„ã‚ã‘ã ã。python.exeã§ã‚‚ã„ã„ã‚“ã ãŒã€python.exeã«ã™ã‚‹ã¨ã‚³ãƒžãƒ³ãƒ‰ã‚·ã‚§ãƒ«ãŒã„ã¡ã„ã¡è¡¨ç¤ºã•れるã®ã§ã€ãれを鬱陶ã—ã„ã¨æ€ã†äººã¯pythonw.exeã«ã—ã¦ãŠã„ãŸæ–¹ãŒè‰¯ã„ã¨æ€ã†ã€‚ **B:** python.exeã¨pythonw.exeã®é•ã„ã£ã¦ãã“ã«ã‚ã£ãŸã‚“ã§ã™ã。ã˜ã‚ƒã€pythonw.exeã«é–¢é€£ä»˜ã‘ã—ã¦â€¦ **A:** ã¾ã€ç§ãªã‚‰python.exeã«é–¢é€£ä»˜ã‘ã‚‹ã‘ã©ã。 **B:** ã£ã£ã¦ã€ãˆãˆãˆï¼Ÿ pythonw.exeã«é–¢é€£ä»˜ã‘るよã†ã«èª˜å°Žã—ã¦ãŠã„ã¦ï¼ **A:** 別ã«èª˜å°Žãªã‚“ã‹ã—ã¨ã‚‰ã‚“よ。コマンドシェルãŒè¡¨ç¤ºã•れã¦ã„ã‚‹ã¨ãれã¯ãれã§ä¾¿åˆ©ã ã‹ã‚‰ãªã。ã‚ãã¾ã§å¥½ã¿ã®å•題。StandAlone PsychoPyã¨Windows用Pythonã®ä¸¡æ–¹ã‚’インストールã—ã¦ã„る人ã¯ãƒãƒƒãƒãƒ•ァイルを使ã†ã¨ã„ã„ã‚“ã˜ã‚ƒãªã„ã‹ãªã€‚例ãˆã°run_foo.batã¨ã„ã†ãƒ•ァイルåã§ã“ã‚“ãªã®ã‚’書ã„ã¦ãŠãã¨ã‹ã€‚ãƒ•ãƒ«ãƒ‘ã‚¹ã§æ›¸ã„ã¦ãŠãã®ãŒãƒã‚¤ãƒ³ãƒˆã ã。 .. code-block:: doscon "C:\Program Files (x86)\PsychoPy2\pythonw.exe" foo.py **B:** ãƒãƒƒãƒãƒ•ァイルã¨ã¯ã€‚ã¾ã‚‹ã§æ€ã„ã¤ãã¾ã›ã‚“ã§ã—ãŸã€‚ã„ã‚„ã¯ã‚„。 **A:** ã•ã¦ã€Windows環境ã¯ã“ã‚“ãªã‚‚ã‚“ã ã‚。Linuxã§ã¯ã©ã†ã—ãŸã‚‰ã„ã„ã‹ã‚ã‹ã‚‹ã‹ï¼Ÿ **B:** ã¯ã£ã¯ã£ã¯ã€Aã•ん。ã¼ãã«ã‚ã‹ã‚‹ã‚ãゃã‚ãªã„ã˜ã‚ƒãªã„ã§ã™ã‹ã€‚ã¯ã¯ã£ã€‚ **A:** é–‹ãç›´ã‚‹ãªã€‚Linuxã§ã¯ã‚¹ã‚¯ãƒªãƒ—トã®ä¸€è¡Œç›®ã«ShebangãŒæ›¸ã‹ã‚Œã¦ã„ã¦ã€ãªãŠã‹ã¤å®Ÿè¡Œã®ãƒ‘ーミッションãŒä»˜ã„ã¦ã„れã°ãƒ€ãƒ–ルクリックã§å®Ÿè¡Œã§ãã‚‹ã¯ãšã€‚æ£ç¢ºã«ã¯shellã«ä¾å˜ã™ã‚‹ã®ã‹ãªï¼Ÿ **B:** Shebang?? shellã«ä¾å˜??? **A:** Linuxãªäººã€…ã«ã¯ãŠãªã˜ã¿ã®ã“ã¨ã¨æ€ã†ãŒã€ã‚¹ã‚¯ãƒªãƒ—トã®ä¸€è¡Œç›®ã«ã¯ã‚ˆã #! ã‹ã‚‰å§‹ã¾ã‚‹æ–‡ãŒæ›¸ã‹ã‚Œã¦ã„る。スクリプトを実行ã—ãŸã¨ãã«ã“ã® #! ã®å¾Œã«æ›¸ã‹ã‚Œã¦ã„るインタプリターãŒä½¿ç”¨ã•れる。ã“ã® #! ã‚’shebangã¨ã„ã†â€¦ã€ã£ã¦å®Ÿã¯ç§ã‚‚ã“ã®æ©Ÿèƒ½ã¯æ˜”ã‹ã‚‰çŸ¥ã£ã¦ã„ãŸãŒshebangã¨ã„ã†åå‰ã¯æœ€è¿‘知ã£ãŸã€‚例ãˆã°PsychoPy Builderã‹ã‚‰ã‚³ãƒ³ãƒ‘イルã—ãŸã‚¹ã‚¯ãƒªãƒ—トã®ä¸€è¡Œç›®ã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªè¨˜è¿°ãŒã‚る。 :: #!/bin/env python **B:** :doc:`例題1-4 <01-4>` ã§ã¡ã‚‡ã£ã¨è§¦ã‚ŒãŸã‚„ã¤ã§ã™ã。ã“れã€ã‚¤ãƒžã‚¤ãƒã‚ˆãã‚ã‹ã‚‰ãªã„ã‚“ã§ã™ã‘ã©ã€å‰ã«èª¿ã¹ãŸã‚‰#!/bin/shã¨æ›¸ã‹ã‚Œã¦ã„ãŸã‚‰/bin/shをインタプリターã¨ã—ã¦ä½¿ã†ã£ã¦æ›¸ã„ã¦ã‚ã£ãŸã‚“ã§ã™ãŒã€ã‚“ã˜ã‚ƒã“れã¯/bin/envを使ã†ã£ã¦ã“ã¨ãªã‚“ã§ã™ã‹ï¼Ÿ **A:** ãªã‚“ã§ãã“ã¾ã§è‡ªåˆ†ã§èª¿ã¹ã¦ãŠããªãŒã‚‰/bin/envã«ã¤ã„ã¦èª¿ã¹ãªã„ã‚“ã よ。envコマンドã¯ã‚‚ã¨ã‚‚ã¨ç’°å¢ƒå¤‰æ•°ã‚’変更ã—ã¦ãƒ—ãƒã‚°ãƒ©ãƒ を実行ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã ãŒã€ã“ã“ã§ã¯envã®å¼•æ•°ã§ã‚ã‚‹pythonã‚’pathã‹ã‚‰æŽ¢ã—ã¦å®Ÿè¡Œã•ã›ã‚‹ã¨ã„ã†ç›®çš„ã§ä½¿ã£ã¦ã„ã‚‹ã¨æ€ã‚れる。OSãŒé•ã†ã¨pythonã®å ´æ‰€ãŒ/bin/pythonã¨ã‹/usr/bin/pythonã¨ã‹ã„ã‚ã„ã‚é•ã†ã‹ã‚‚知んãªã„ã‚“ã§ã€ãã®é•ã„ã‚’å¸åŽã™ã‚‹ãŸã‚ãªã‚“ã˜ã‚ƒãªã„ã‹ã¨æ€ã†ã€‚æ£ç›´ãªã¨ã“ã‚よãã‚ã‹ã‚‰ã‚“ãŒã€å‹•ãゃã„ã„ã‚“ã よã€å‹•ãゃ。 **B:** ãã¯ã€‚相変ã‚らãšã®Aã•ん節ã§ã™ãªã€‚ **A:** Linux慣れã—ã¦ãªã„æ–¹ã®ãŸã‚ã«è£œè¶³ã€‚スクリプトをダブルクリックã§å®Ÿè¡Œã™ã‚‹ã«ã¯å®Ÿè¡Œã®ãƒ‘ーミッションãŒã¤ã„ã¦ã„ã‚‹å¿…è¦ãŒã‚る。GUIã§ã®æ“作ã¯ã‚·ã‚§ãƒ«ã«ä¾å˜ã™ã‚‹ã®ã§å„自ã§å‹‰å¼·ã—ã¦ã‚‚らã†ã¨ã—ã¦ã€ã‚³ãƒžãƒ³ãƒ‰ã‚·ã‚§ãƒ«ã‚’使ã†ãªã‚‰ã€ä»¥ä¸‹ã®ã‚ˆã†ã«chmod -xã™ã‚Œã°ã„ã„。 :: chmod +x foo.py **B:** ãˆãˆã¨ã€ã‚„ã‚„ã“ã—ããªã£ã¦ããŸã®ã§ã¾ã¨ã‚ã¦ã¿ãŸãžã€‚ã“ã‚“ãªæ„Ÿã˜ã‹ãªã€‚ **A:** ãŠãŠã€ã“りゃã„ã„ãªã€‚ã”苦労。 .. csv-table:: :delim: $ PsychoPy$å¯¾ç– Windows |HTMLBR| StandAloneã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«$Builderã®å®Ÿé¨“ã¯ã‚³ãƒ³ãƒ‘イルã™ã‚‹ã€‚ |HTMLBR| |HTMLBR| スクリプトを実行ã™ã‚‹ãƒãƒƒãƒãƒ•ァイルを作æˆã™ã‚‹(別途Pythonをインストールã—ã¦ã„ã‚‹å ´åˆã¯ã“ã¡ã‚‰ãŒç„¡é›£ã€StandAlone版ã®ã¿å ´åˆã¯ã“ã¡ã‚‰ã§ã‚‚次ã§ã‚‚æ§‹ã‚ãªã„) |HTMLBR| |HTMLBR| æ‹¡å¼µå .py ã‚’PsychoPyã«ä»˜å±žã®python.exeã¾ãŸã¯pythonw.exeã«é–¢é€£ä»˜ã‘ã‚‹(StandAlone PsychoPy以外ã«PythonãŒãªã„å ´åˆ)。 Windows |HTMLBR| æ—¢å˜ã®Pythonã«ãƒ‘ッケージã¨ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«$ Builderã®å®Ÿé¨“ã¯ã‚³ãƒ³ãƒ‘イルã™ã‚‹ã€‚ |HTMLBR| |HTMLBR| 手書ãã®ã‚¹ã‚¯ãƒªãƒ—ãƒˆã¯æ™®é€šã«ãƒ€ãƒ–ルクリックã§å®Ÿè¡Œã§ãる。 Linux$Builderã®å®Ÿé¨“ã¯ã‚³ãƒ³ãƒ‘イルã™ã‚‹ã€‚|HTMLBR| |HTMLBR| 手書ãã®ã‚¹ã‚¯ãƒªãƒ—トã«ã¯shebangを書ã„ã¦å®Ÿè¡Œãƒ‘ーミッションを付ã‘る。 動画刺激視è´ä¸ã®è©•定を計測ã§ãã‚‹ã‹ï¼Ÿ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **A:** ç¶šã„ã¦ã“ã®ã”質å•。「ã”質å•ã®æ„図をç§ãŒæ£ã—ãç†è§£ã§ãã¦ã„ãªã„ã‹ã‚‚知れãªã„ã€ã£ã¦SãŒè¨€ã£ã¦ãŸã‘ã©ã€ç§ã動画をå†ç”Ÿã—ãªãŒã‚‰å®Ÿé¨“å‚åŠ è€…ã®å応を記録ã§ãã‚‹ã‹ã¨ã„ã†æ„味ã ã¨ç†è§£ã—ãŸã€‚ãã†ã ã¨ã—ãŸã‚‰ã€å›žç”ã¯ã€Œã§ãã¾ã™ã€ã€‚例ãˆã°Builderã§Movieコンãƒãƒ¼ãƒãƒ³ãƒˆã¨Ratingコンãƒãƒ¼ãƒãƒ³ãƒˆã‚’並ã¹ã¦ãŠãã¨ã€å‹•画をå†ç”Ÿã—ãªãŒã‚‰å‚åŠ è€…ã¯ã‚¹ã‚±ãƒ¼ãƒ«ã‚’æ“作ã§ãる。 .. figure:: img/20-1-05.png .. figure:: img/20-1-06.png **A:** ãŸã ã—ã€Ratingコンãƒãƒ¼ãƒãƒ³ãƒˆã¯ä¸€å›žè©•定ã—ã¦ã—ã¾ã£ãŸã‚‰çµ‚ã‚りãªã®ã§ã€é€£ç¶šçš„ã«å応をã¨ã‚Šç¶šã‘ã‚‹å ´åˆã¯è‡ªå‰ã®ã‚³ãƒ¼ãƒ‰ã‚’書ããªã‚Šãªã‚“ãªã‚Šã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã ã‚ã†ã€‚ **B:** ãŸã¨ãˆã°ã©ã‚“ãªã‚³ãƒ¼ãƒ‰ã§ã™ã‹ï¼Ÿ **A:** ムービーもçµå±€ã¯draw()ãƒ¡ã‚½ãƒƒãƒ‰ã§æç”»ã™ã‚‹ã ã‘ãªã®ã§ã€é€šå¸¸ã®å®Ÿé¨“ã¨åŒã˜ã‚ˆã†ã«ã‚ーボードやマウスã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’å–å¾—ã—ã¦ã‹ã‚‰åˆºæ¿€ã‚’draw()ã—ã¦ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚’flip()ã™ã‚‹ã€ã¨ã„ã†æµã‚Œã§æ›¸ãã“ã¨ãŒã§ãる。ã“ã‚“ãªæ„Ÿã˜ã§ã©ã†ã ã‚ã†ã€‚ :: #coding: utf-8 import psychopy.visual import psychopy.event import psychopy.core #MovieStimã§ãƒ ービーã®å†ç”Ÿçжæ³ã‚’確èªã™ã‚‹ãŸã‚ã«ä½¿ã†å®šæ•°ã‚’importã—ã¦ãŠã from psychopy.constants import PLAYING, STARTED, PAUSED, NOT_STARTED, FINISHED win = psychopy.visual.Window() stim = psychopy.visual.MovieStim(win,'stim.mpg') clock = psychopy.core.Clock() keysLog = [] stim.play() while stim.status!=FINISHED: #Movieã®å†ç”ŸãŒçµ‚了ã™ã‚‹ã¾ã§ç¹°ã‚Šè¿”ã™ keys = psychopy.event.getKeys() #ã‚ーイベントをå–å¾— if len(keys)>1: #何ã‹ã‚ãƒ¼ãŒæŠ¼ã•れã¦ã„ã‚‹ keysLog.append([clock.getTime(),keys]) #keyLogã«ã‚¿ã‚¤ãƒ スタンプã¨ã‚ãƒ¼ã‚’è¿½åŠ stim.draw() #Movieã‚’æç”» win.flip() #スクリーンをflip win.close() print keysLog #keyLogを表示 **B:** 実行ã—ã¦ã¿ã¾ã—ãŸã€‚ã“れã£ã¦æ™‚刻ã¯ã©ã®ãã‚‰ã„æ£ç¢ºãªã‚“ã§ã™ã‹ã? :: [[2.424073681821028, ['7']], [4.077001263976854, ['3']], [6.013864011791156, ['4']], [9.537000775449997, ['7']], [11.590620099901571, ['space']], [13.544196368191479, ['5']], [17.534790000034263, ['6']]] **A:** んー。秒å˜ä½ã§ãšã‚Œã¦ã„るよã†ãªã“ã¨ã¯ãªã„ã¨æ€ã†ãŒã€å޳坆ãªè©±ã‚’ã™ã‚‹ã«ã¯ã¡ã‚‡ã£ã¨ãã¡ã‚“ã¨ç‹¬ç«‹ã—ãŸä¾‹é¡Œã¨ã—ã¦å–り上ã’ã‚‹å¿…è¦ãŒã‚ã‚‹ãªã€‚ã‚ã€ãれã‹ã‚‰ãƒžã‚¦ã‚¹ã®ãƒœã‚¿ãƒ³ã‚„カーソル座標もåŒã˜ã‚ˆã†ã«å–å¾—ã§ãã¾ã™ã€‚マウスã®çŠ¶æ…‹å–å¾—ã«ã¤ã„ã¦ã¯ :doc:`例題19-1 <19-1>` ã‚’å‚考ã«ã—ã¦ãã ã•ã„。 Rã¨ã®é€£æºã‚’シームレスã«å‡ºæ¥ã‚‹ã‹ï¼Ÿ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **A:** ç¶šã„ã¦ã¯Rã¨ã®é€£æºã«ã¤ã„ã¦ã€‚実ã¯ã“れã¯ä»¥å‰ç§ãŒæŒ«æŠ˜ã—ãŸè©±ãªã‚“ã§ã€æ®‹å¿µãªãŒã‚‰ã‚ã¾ã‚Šå½¹ã«ç«‹ã¤è©±ã¯æ›¸ã‘ãªã„ã‹ãªã‚。 **B:** 挫折ã§ã™ã‹ï¼Ÿ ã©ã‚“ãªï¼Ÿ **A:** ã‚‚ã†ã‹ãªã‚Šå‰ã®ã“ã¨ãªã‚“ã§ã€ã„ã¤é ƒã ã£ãŸã‹ã‚‚ãªã‚“ã§æŒ«æŠ˜ã—ãŸã®ã‹ã‚‚よã覚ãˆã¦ã„ãªã„。ã¨ã«ã‹ãpythonã«ã¯ **rpy2** ã¨ã„ã†pythonã‹ã‚‰ç›´æŽ¥Rã®æ©Ÿèƒ½ã‚’呼ã³å‡ºã™ãƒ‘ッケージãŒã‚る。Googleã§æ¤œç´¢ã—ãŸã‚‰ä»¥ä¸‹ã®ãƒšãƒ¼ã‚¸ãŒãƒ’ットã—ãŸã€‚æ‹è¦‹ã—ãŸã¨ã“ã‚ã€ã‹ãªã‚Šãã¡ã‚“ã¨ä½¿ãˆã‚‹ã‚ˆã†ã«ãªã£ã¦ã„るよã†ãªã®ã§ã€ãœã²ã“れらã®ãƒšãƒ¼ã‚¸ã‚’å‚考ã«ã—ã¦ã„ãŸã ã‘れã°ã¨æ€ã†ã€‚ + `Python ã§ R <http://www.okada.jp.org/RWiki/?Python%20%A4%C7%A1%A1R>`_ (RWiki) + `Rã¨Pythonã«ã‚ˆã‚‹ãƒ‡ãƒ¼ã‚¿è§£æžå…¥é–€ <http://www.slideshare.net/gepuro/rpython>`_ (SlideShare) **B:** …ã‚れã€ã“れã§çµ‚ã‚り? **A:** ん。人ã«å‹§ã‚ã‚‹å‰ã«è‡ªåˆ†ã§ã‚‚使ã£ã¦ã¿ã‚‹ã¹ããªã‚“ã ãŒã€ä»Šã¯ãƒžã‚¸ã§æ™‚é–“ãŒãªã„ã‚“ã 。ã„ãšã‚Œã‚‚ã†ä¸€åº¦æŒ‘戦ã—ã¦ãƒ¬ãƒ“ューã—ã¦ã¿ãŸã„ã¨ã¯æ€ã†ã€‚ã‚“ã˜ã‚ƒã€æ¬¡ã€‚ pythonã¨Matlabã®éžç·šå½¢ãƒ•ィッティングã¯ã©ã¡ã‚‰ãŒæ¥½ã‹ï¼Ÿ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **A:** ã“れã¯Matlabãƒ¦ãƒ¼ã‚¶ãƒ¼ã®æ–¹å‘ã‘ã®è©±é¡Œã€‚Matlabã§ã®éžç·šå½¢ãƒ•ィッティングã¨è¨€ã†ã¨ç§ã¯lsqcurvefitã‚’æ€ã„æµ®ã‹ã¹ã‚‹ã‚“ã ãŒã€ã“れã¨ã ã„ãŸã„åŒã˜ã‚ˆã†ã«ä½¿ãˆã‚‹é–¢æ•°scipy.optimize.curve_fitãŒã‚る。ã“ã‚“ãªæ„Ÿã˜ã§ä½¿ã†ã€‚ :: import numpy import scipy.optimize def func(data,xm,ym,xs,ys,k,c): return k * numpy.exp(-((data[0]-xc)/xs)**2-((data[1]-yc)/ys)**2)) + g param, flag = scipy.optimize.curve_fit(func, data, y, p0=(0,0,1,1,1,0)) residual = y - func(daga,param[0],param[1],param[2],param[3],param[4],param[5]) **B:** ãˆãˆã¨ã€ã“れã¯ã„ãらãªã‚“ã§ã‚‚説明ä¸è¶³ã˜ã‚ƒãªã„ã§ã™ã‹ã。 **A:** 第1引数ãŒå½“ã¦ã¯ã‚る関数ã€ã“ã“ã§ã¯æœ€åˆã«å®šç¾©ã—ã¦ã„ã‚‹funcã ã。ã“ã®funcã¯äºŒæ¬¡å…ƒGauss関数ã§ã€7個ã®å¼•æ•°ã‚’ã¨ã‚‹ã€‚第1引数ãŒN行2列ã®ãƒ‡ãƒ¼ã‚¿ã€‚0列目ãŒX座標ã€1行目ãŒY座標ã®ã¤ã‚‚り。第2引数ã‹ã‚‰ç¬¬7引数ã¯é †ç•ªã«Gauss関数ã®Xæ–¹å‘ã®ä¸å¿ƒã€Yæ–¹å‘ã®ä¸å¿ƒã€Xæ–¹å‘ã®æ¨™æº–åå·®ã€Yæ–¹å‘ã®æ¨™æº–åå·®ã€é«˜ã•ã€å®šæ•°é …。ã§ã€ä¸Žãˆã‚‰ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã«å¯¾å¿œã™ã‚‹Gauss関数ã®å€¤ã‚’è¿”ã™ã€‚ **B:** ãµã‚€ãµã‚€ï¼ˆã£ã¦ã‚ˆãã‚ã‹ã£ã¦ãªã„ã‘ã©â€¦ï¼‰ã€‚ **A:** ã§ã€scipy.optimize.curve_fitã®å¼•æ•°ã®èª¬æ˜Žã«æˆ»ã‚‹ãŒã€ç¬¬2引数ã¯ç‹¬ç«‹å¤‰æ•°ã§N行2列ã®ãƒ™ã‚¯ãƒˆãƒ«ã€‚第3引数ã¯å¾“属変数ã§N行1列ã®ãƒ™ã‚¯ãƒˆãƒ«ã€‚最後ã®p0ã¯ãƒ‘ラメータã®åˆæœŸå€¤ã€‚matlabã®lsqcurvefitã¨å¼•æ•°ã®é †ç•ªãŒã¡ã‚‡ã£ã¨é•ã†ã‘ã©ã‚ˆãä¼¼ã¦ã„ã‚‹ã§ã—ょã†ï¼Ÿ **B:** 「ã§ã—ょã†ï¼Ÿã€ã£ã¦è¨€ã‚れã¦ã‚‚ã¼ãã¯ãœãƒ¼ã‚“ãœã‚“知らãªã„ã‚“ã§ã™ãŒâ€¦ã€‚ **A:** scipy.optimize.curve_fitã®æˆ»ã‚Šå€¤paramã«èª¤å·®ã‚’最少ã«ã™ã‚‹ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŒæ ¼ç´ã•れã¦ã„ã‚‹ã®ã§ã€paramã¨funcを使ã£ã¦æœ€çµ‚行ã®ã‚ˆã†ã«æ®‹å·®ã‚’計算ã—ãŸã‚Šã§ãる。 **B:** (ã½ã‹ãƒ¼ã‚“) **A:** Matlabã®lsqcurvefitã¨å…¨ãåŒã˜ã¨ã„ã‚ã‘ã§ã¯ãªã„ã®ã§ã€ä½¿ã„込んã§ã„ãã¨ä¸ä¾¿ã‚’感ã˜ã‚‹ã“ã¨ãŒã‚ã‚‹ã‹ã‚‚知れã¾ã›ã‚“ãŒã€ç§ãŒä½¿ã†ç¯„囲ã§ã¯ä½•ã¨ã‹ãªã£ã¦ã„ã¾ã™ã€‚Bå›ãŒæ”¾å¿ƒçŠ¶æ…‹ã«ãªã£ã¦ã„ã‚‹ã®ã§ã€å¿…è¦ãŒã‚ã‚Œã°æ”¹ã‚ã¦è©³ã—ãå–り上ã’ã‚‹ã¨ã—ã¦æ¬¡ã®è©±é¡Œã¸ã€‚ ステレオモードã§åˆºæ¿€æç¤ºã—ã¦ã‚·ãƒ£ãƒƒã‚¿ãƒ¼ã‚´ãƒ¼ã‚°ãƒ«ã¨åŒæœŸã•ã›ã‚‹ã“ã¨ã¯å‡ºæ¥ã‚‹ã‹ï¼Ÿ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **A:** ã“ã®è³ªå•ã€ç§ã¯ã‚·ãƒ£ãƒƒã‚¿ãƒ¼ã‚´ãƒ¼ã‚°ãƒ«ã‚’æŒã£ã¦ã„ãªã„ã®ã§è©¦ã›ãªã„ã‚“ã ãŒã€æœ€è¿‘ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®PsyhoPyã§ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„るよã†ã 。psychopy.visual.Window()ã®ãƒ˜ãƒ«ãƒ—ã«ã“ã®ã‚ˆã†ã«ã‚る。 .. code-block:: ReST **Parameters** (snip) stereo : True or False If True and your graphics card supports quad buffers then this will be enabled. You can switch between left and right-eye scenes for drawing operations using setBuffer(). **B:** んんん? ã©ã†ã„ã†ã“ã¨ã ã‚ã†ã€‚ **A:** setBuffer()メソッドを使ã£ã¦å³ç›®ã¨å·¦ç›®ã®ã‚·ãƒ¼ãƒ³ã‚’切り替ãˆã‚‰ã‚Œã‚‹ã¨ã„ã†ã‚“ã ã‹ã‚‰setBuffers()ã®ãƒ˜ãƒ«ãƒ—を見ã¦ã¿ã‚ˆã†ã€‚ .. code-block:: ReST **setBuffer** (buffer, clear=True) Choose which buffer to draw to (‘left’ or ‘right’). Requires the Window to be initialised with stereo=True and requires a graphics card that supports quad buffering (e,g nVidia Quadro series) PsychoPy always draws to the back buffers, so ‘left’ will use GL_BACK_LEFT This then needs to be flipped once both eye’s buffers have been rendered. Typical usage: win = visual.Window(...., stereo=True) while True: win.setBuffer('left',clear=True) #clear may not actually be needed #do drawing for left eye win.setBuffer('right', clear=True) #do drawing for right eye win.flip() **B:** ãŠãŠã€ã‚µãƒ³ãƒ—ルコードãŒã‚りã¾ã™ã。ãˆãˆã¨ã€ã¾ãšã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’作æˆã™ã‚‹ã¨ãã« stereo=True オプションを付ã‘る。ãã—ã¦åˆºæ¿€ã‚’æç”»ã™ã‚‹ã¨ãã«ã€å·¦ç›®ç”¨ã®åˆºæ¿€ã‚’æãå‰ã«win.setBuffer('left',clear=True)ã€å³ç›®ç”¨ã®åˆºæ¿€ã‚’æãå‰ã«win.setBuffer('right',clear=True)ã¨ã™ã‚‹ã€‚…ã§ã„ã„ã®ã‹ãªï¼Ÿ **A:** ãã®ã‚ˆã†ã ãªã€‚注æ„ã™ã¹ããªã®ã¯ã€ŒQuad bufferingをサãƒãƒ¼ãƒˆã™ã‚‹ã‚«ãƒ¼ãƒ‰(例ãˆã°nVidia Quadroシリーズ)ãŒå¿…è¦ã€ã¨æ›¸ã„ã¦ã‚る点ã ãªã€‚ã©ã‚“ãªPCã§ã‚‚ã„ã‘ã‚‹ã‚ã‘ã§ã¯ãªã„ã€ã¨ã€‚Quadroã¯æ˜”æŒã£ã¦ã„ãŸã‘ã©å£Šã‚Œã¦ã—ã¾ã£ã¦ä»Šã¯æŒã£ã¦ãªã„ãªã€‚ã©ãªãŸã‹ãŒè©¦ã—ã¦ãã ã•ã‚‹ã¨ã„ã„ã‚“ã ãŒã€‚ MRIãªã©ã¨ã®å¤–部装置ã®é€šä¿¡ã¯å¯èƒ½ã‹ï¼Ÿ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **A:** 次ã®ãŠé¡Œã€‚外部装置ã¨ã®é€šä¿¡ã¯ã“ã®è¬›åº§ã§æ‰±ã‚ãªã„ã¨ã„ã‘ãªã„ã¨ãšãƒ¼ã£ã£ã¨æ€ã£ã¦ã„ãŸãƒ†ãƒ¼ãƒžã®ã²ã¨ã¤ã€‚ã ãŒã€ã“れã¾ãŸã”質å•ã®MRIã«ã¤ã„ã¦ã¯ç§ã¯MRIを使ã†å®Ÿé¨“ã‚’ã—ãŸã“ã¨ãŒãªã„ã®ã§å…¬å¼ã‚µãƒ³ãƒ—ルを紹介ã™ã‚‹ã ã‘ã—ã‹ã§ããªã„。サンプルã¯Coderã®[Demos]オプションã®[experiment control]ã®ä¸ã«ã‚る。 .. figure:: img/20-1-07.png **A:** **ã–ã£ã¨è¦‹ãŸã¨ã“ã‚ã€psychopy.hardware.emulator** ã¨ã„ã†ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®launchScan()ã¨ã„ã†é–¢æ•°ãŒéµã®ã‚ˆã†ã 。ã¡ã‚‡ã£ã¨é•·ããªã‚‹ã‘ã©launchScan()ã®ãƒ˜ãƒ«ãƒ—を引用ã—ã¦ã¿ã‚‹ã€‚ .. code-block:: ReST FUNCTIONS launchScan(win, settings, globalClock=None, simResponses=None, mode='None', esc_key='escape', instr='select Scan or Test, press enter', wait_msg='waiting for scanner...', wait_timeout=300) Accepts up to four fMRI scan parameters (TR, volumes, sync-key, skip), and launches an experiment in one of two modes: Scan, or Test. See Coder Demo -> experiment control -> fMRI_launchScan.py. In brief: 1) from psychopy.hardware.emulator import launchScan; 2) Define your args; and 3) add 'vol = launchScan(args)' at the top of your experiment script. launchScan() waits for the first sync pulse and then returns, allowing your experiment script to proceed. The key feature is that, in test mode, it first starts an autonomous thread that emulates sync pulses (i.e., emulated by your CPU rather than generated by an MRI machine). The thread places a character in the key buffer, exactly like a keyboard event does. launchScan will wait for the first such sync pulse (i.e., character in the key buffer). launchScan returns the number of sync pulses detected so far (i.e., 1), so that a script can account for them explicitly. If a globalClock is given (highly recommended), it is reset to 0.0 when the first sync pulse is detected. If a mode was not specified when calling launchScan, the operator is prompted to select Scan or Test. If **scan mode** is selected, the script will wait until the first scan pulse is detected. Typically this would be coming from the scanner, but note that it could also be a person manually pressing that key. If **test mode** is selected, launchScan() starts a separate thread to emit sync pulses / key presses. Note that this thread is effectively nothing more than a key-pressing metronome, emitting a key at the start of every TR, doing so with high temporal precision. If your MR hardware interface does not deliver a key character as a sync flag, you can still use launchScan() to test script timing. You have to code your experiment to trigger on either a sync character (to test timing) or your usual sync flag (for actual scanning). :Parameters: win: a :class:`~psychopy.visual.Window` object (required) settings : a dict containing up to 5 parameters (2 required: TR, volumes) TR : seconds per whole-brain volume (minimum value = 0.1s) volumes : number of whole-brain (3D) volumes to obtain in a given scanning run. sync : (optional) key for sync timing, default = '5'. skip : (optional) how many volumes to silently omit initially (during T1 stabilization, no sync pulse). default = 0. sound : (optional) whether to play a sound when simulating scanner sync pulses globalClock : optional but highly recommended :class:`~psychopy.core.Clock` to be used during the scan; if one is given, it is reset to 0.000 when the first sync pulse is received. simResponses : optional list of tuples [(time, key), (time, key), ...]. time values are seconds after the first scan pulse is received. esc_key : key to be used for user-interrupt during launch. default = 'escape' mode : if mode is 'Test' or 'Scan', launchScan() will start in that mode. instr : instructions to be displayed to the scan operator during mode selection. wait_msg : message to be displayed to the subject while waiting for the scan to start (i.e., after operator indicates start but before the first scan pulse is received). wait_timeout : time in seconds that launchScan will wait before assuming something went wrong and exiting. Defaults to 300sec (5 minutes). Raises a TimeoutError if no sync pulse is received in the allowable time. **B:** é•·ã„é•·ã„長ーã„ï¼ æ‰‹ã‡æŠœãã™ãŽã§ã—ょã€Aã•ã‚“ï¼ **A:** ã„ã‚„ã€ç”ŸåŠå¯ãªçŸ¥è˜ã§ãƒ†ã‚トーãªã“ã¨ã‚’言ã†ã‚ˆã‚Šã¯è‰¯ã„ã§ã—ょ。ã¨ã„ã„ã¤ã¤ãƒ†ã‚トーãªã“ã¨ã‚’言ã†ã¨ã€ã©ã†ã‚„らスã‚ャナーã‹ã‚‰ã®åŒæœŸä¿¡å·ãŒã‚ー押ã—イベントã¨ã—ã¦å–å¾—ã§ãã‚‹ã¿ãŸã„ã ãªã€‚ãŸã ã—pygameã§ã¯ãƒ€ãƒ¡ã§pygletã‚’ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã€ã¨ã€‚使用ã—ã¦ã„るスã‚ャナーãŒåŒæœŸä¿¡å·ã¨ã—ã¦key charactorã‚’é€ä¿¡ã—ã¦ã“ãªã„å ´åˆã¯è‡ªåˆ†ã§ãªã‚“ã¨ã‹ã›ã‡ã¨æ›¸ã„ã¦ã‚ã‚‹ã®ãŒæ°—ã«ãªã‚‹ã€‚ **B:** ãªã‚“ã¨ã‹ã—ã‚ã£ã¦ã€ãã‚“ãªã”無体ãªã€‚ **A:** ã™ã¹ã¦ã®ã‚¹ã‚ャナーをサãƒãƒ¼ãƒˆã—ã‚ã¨ã„ã†æ–¹ãŒç„¡èŒ¶ãªè©±ã ãŒã‚„。MRIã®è©±ã¯ã“ã®ãらã„ã«ã—ã¦ã€ã»ã‹ã«ã‚‚パラレルãƒãƒ¼ãƒˆã‚’使ã†å…¬å¼ã‚µãƒ³ãƒ—ルãªã©ãŒCoderã‹ã‚‰è¦‹ã‚‹ã“ã¨ãŒã§ãる。 .. figure:: img/20-1-08.png **B:** …ã£ã¦ã€ã‚れ? 解説ã¯ï¼Ÿ **A:** 外部機器ã¨ã®å…¥å‡ºåŠ›ã¯åˆ¥ã®ä¾‹é¡Œã§å–り上ã’よã†ã¨æ€ã†ã€‚ã¨ã‚Šã‚ãˆãšã“ã“ã§ã¯å…¬å¼ã‚µãƒ³ãƒ—ルã®ç´¹ä»‹ã¨ã„ã†ã“ã¨ã§ã€‚次。 タスクã®ä½œæˆã‚„データ解æžã«ã¤ã„ã¦ã®ãƒ¯ãƒ¼ã‚¯ã‚·ãƒ§ãƒƒãƒ—開催ã®è¨ˆç”»ã¯ã‚ã‚‹ã‹ï¼Ÿ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **B:** ãˆãˆã¨ã€ã“れã«ã¤ã„ã¦S先生ã¯ãªã‚“ã¨ãŠã£ã—ゃã£ã¦ã‚‹ã‚“ã§ã™ã‹ã。 **A:** んー。最åˆã®æ›¸ç½®ãã«ã‚‚ã‚ã£ãŸã‘ã©ã€ç‰¹å®šã®ãƒ†ãƒ¼ãƒžã«é™å®šã—ãŸãƒ¯ãƒ¼ã‚¯ã‚·ãƒ§ãƒƒãƒ—ãªã‚‰ã‚„ã‚‹æ°—ãŒã‚ã‚‹ã¿ãŸã„ã よ? ã§ã‚‚å„ªæŸ”ä¸æ–ã§ãƒ†ãƒ¼ãƒžæ±ºã‚らんãªã„ã‹ã‚‰è‡ªåˆ†ã‹ã‚‰ä¼ç”»ã—ã¦ã¯ã‚„ã‚“ãªã„ã‚“ã˜ã‚ƒãªã„ã‹ãªã‚。 **B:** ã¯ã‚ã€ç›®ã«æµ®ã‹ã¶ã‚ˆã†ãªã€‚ **A:** SãŒæ°—ã«ã—ã¦ã„ãŸã®ã¯ **PsychoPyã®æŽˆæ¥ã¸ã®æ´»ç”¨** ã«é–¢ã™ã‚‹ã‚³ãƒ¡ãƒ³ãƒˆã ãªã€‚ã‚‚ã¨ã‚‚ã¨Sã‚‚ç§ã¨åŒã˜VisionEggæ´¾ã ãŒã€æŽˆæ¥ã«ä½¿ã†ã®ãªã‚‰ã°PsychoPyã®æ–¹ãŒè‰¯ã„ã‹ã‚‚知れãªã„ã¨ã„ã†ã¨ã“ã‚ã‹ã‚‰PsychoPyã®è§£èª¬ãŒå§‹ã¾ã£ã¦ã„ã‚‹ã“ã¨ã ã—。 **B:** ã¯ã‚ã€ãã†ã ã£ãŸã‚“ã§ã™ã‹ã€‚ **A:** ã‚‚ã¨ã‚‚ã¨å¥´ã¯ã€ŒBuilderã ã£ãŸã‚‰å¦ç”Ÿã•ã‚“ã§ã‚‚自分ã§å®Ÿé¨“を作れるんã˜ã‚ƒãªã„ã‹ã€ã¨æ€ã£ã¦æ‰‹ã‚’出ã—ãŸã‚ˆã†ãªã‚“ã ã‘ã©ã€ä»Šã¯ã€ŒBuilderã®ä½¿ã„方をマスターã—ã¦ã‚‚å’æ¥å¾Œã«å½¹ã«ç«‹ãŸãªã„ã—ã€pythonã®ã‚¹ã‚¯ãƒªãƒ—トを書ãã“ã¨ã‚’æ•™ãˆã¦ã‚„ã£ãŸã»ã†ãŒã„ã„ã‚“ã˜ã‚ƒãªã„ã‹ã€ã¨æ€ã£ã¦ã„るらã—ã„。ã¾ã€å¥´ã¯å®Ÿéš› **(自主è¦åˆ¶ï¼‰** ã‚„ **(自主è¦åˆ¶ï¼‰** ã®ä»•事ã«pythonを大ã„ã«æ´»ç”¨ã—ã¦ã„るよã†ã ã—。 **B:** ã„ã‚ã„ã‚便利ã§ã™ã‚ˆã。ã»ã‚“ã¨ã€‚ **A:** ã¡ãªã¿ã«Matlab/Octaveã˜ã‚ƒãªãã¦pythonã‚’é¸ã‚“ã ã®ã‚‚ãã®è¾ºã‚Šã‚’考ãˆã¦ã®ã“ã¨ã‚‰ã—ã„。Matlabãªã‚“ã¦å€‹äººã§é€šå¸¸ä¾¡æ ¼ã§ãªã‚“ã¦è²·ã£ã¦ã‚‰ã‚Œã‚“ã—ã€ç ”ç©¶ã˜ã‚ƒãªã„用途ãªã‚‰æ–ç„¶pythonã®æ–¹ãŒæ½°ã—ãŒåйãã‹ã‚‰ãªã‚。 **B:** ãªã‚‹ã»ã©ã€pythonã‚’é¸ã‚“ã 背景ã«ã¯ãã‚“ãªç†ç”±ãŒã€‚ **A:** ãŒã€ä»Šå›žã„ãŸã ã„ãŸã‚³ãƒ¡ãƒ³ãƒˆã®ä¸ã§ã€Œå¿ƒç†å¦å°‚æ”»ã˜ã‚ƒãªã„å¦ç”Ÿã«çŸã„トレーニング時間ã§å®Ÿé¨“を作らã›ã‚‹ã€ã¨ã„ã†è©±ãŒå‡ºã¦ãã¦ã€ãã†ã„ã†è©±ãªã‚‰Builderã®æ–¹ãŒã‚„ã£ã±ã‚Šã„ã„ã®ã‹ãªã‚…ã¨ã‹æ€ã£ãŸãã†ãªã€‚確ã‹ã«ãã®ã‚ˆã†ãªç”¨é€”ã«ã¯Builderã®æ–¹ãŒå‘ã„ã¦ã„る。 **B:** ãµã†ã‚“。よãã‚ã‹ã‚“ãªã„ã£ã™ã‘ã©å¤§å¤‰ã§ã™ããˆã€‚ **A:** ãƒãƒ§ãƒ¼ä»–人事ãªå£ã¶ã‚Šã ãªã€‚ã¾ã‚他人事ã ã‚ã†ãŒã€‚ç§ã‚‚Bå›ã«ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã‚’æ•™ãˆã‚‹èº«ã¨ã—ã¦ã¯ã„ã‚ã„ã‚考ãˆã•ã›ã‚‰ã‚Œã‚‹ã€‚ **B:** ãˆã£ã€Aã•ã‚“ã¯ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã‚’æ•™ãˆã¦ã„ã‚‹ã¤ã‚‚りãªã‚“ã§ã™ã‹ã€ã¼ãã¯ã¦ã£ãり *------------------------------ 自 主 è¦ åˆ¶ ------------------------------* (例題20-1ã¯ã“れã«ã¦ãŠã—ã¾ã„ã€Bå›ã®é‹å‘½ã‚„ã„ã‹ã«ï¼Ÿï¼‰ .. |htmlbr| raw:: html <br>