55 < meta name ="color-scheme " content ="light dark "> < link rel ="index " title ="Index " href ="../../genindex.html " /> < link rel ="search " title ="Search " href ="../../search.html " />
66
77 <!-- Generated with Sphinx 7.3.7 and Furo 2024.08.06 -->
8- < title > psyflow.StimUnit - psyflow 0.1.1 documentation </ title >
8+ < title > psyflow.StimUnit - psyflow 0.1.2 </ title >
99 < link rel ="stylesheet " type ="text/css " href ="../../_static/pygments.css?v=8f2a1f02 " />
1010 < link rel ="stylesheet " type ="text/css " href ="../../_static/styles/furo.css?v=354aac6f " />
1111 < link rel ="stylesheet " type ="text/css " href ="../../_static/logo_settings.css?v=510bd44c " />
166166 </ label >
167167 </ div >
168168 < div class ="header-center ">
169- < a href ="../../index.html "> < div class ="brand "> psyflow 0.1.1 documentation </ div > </ a >
169+ < a href ="../../index.html "> < div class ="brand "> psyflow 0.1.2 </ div > </ a >
170170 </ div >
171171 < div class ="header-right ">
172172 < div class ="theme-toggle-container theme-toggle-header ">
194194 < img class ="sidebar-logo only-dark " src ="../../_static/logo_black-removebg.png " alt ="Dark Logo "/>
195195 </ div >
196196
197- < span class ="sidebar-brand-text "> psyflow 0.1.1 documentation </ span >
197+ < span class ="sidebar-brand-text "> psyflow 0.1.2 </ span >
198198
199199</ a > < form class ="sidebar-search-container " method ="get " action ="../../search.html " role ="search ">
200200 < input class ="sidebar-search " placeholder ="Search " name ="q " aria-label ="Search ">
201201 < input type ="hidden " name ="check_keywords " value ="yes ">
202202 < input type ="hidden " name ="area " value ="default ">
203203</ form >
204- < div id ="searchbox "> </ div > < div class ="sidebar-scroll "> < div class ="sidebar-tree ">
204+ < div id ="searchbox "> </ div > < div class ="sidebar-scroll "> < div class ="sidebar-cta entries-box ">
205+ < ul style ="list-style: none; padding-left: 0; ">
206+ < li > < a href ="https://taskbeacon.github.io/ "> Taskbeacon Home</ a > </ li >
207+ </ ul >
208+ </ div > < div class ="sidebar-tree ">
205209 < p class ="caption " role ="heading "> < span class ="caption-text "> Tutorials</ span > </ p >
206210< ul >
207- < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/getting_started.html "> Getting Started with psyflow </ a > </ li >
211+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/getting_started.html "> Getting Started with PsyFlow </ a > </ li >
208212< li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/get_subinfo.html "> SubInfo: Collecting Participant Information</ a > </ li >
209213< li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/task_settings.html "> TaskSettings: Configuring Your Experiment</ a > </ li >
210214< li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/build_blocks.html "> BlockUnit: Managing Trials</ a > </ li >
211215< li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/build_stimulus.html "> StimBank: Flexible Stimulus Management</ a > </ li >
212216< li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/build_stimunit.html "> StimUnit: Modular Stimulus & Response Handler</ a > </ li >
213- < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/send_trigger.html "> Sending Hardware Triggers</ a > </ li >
214- < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/cli_usage.html "> Command-Line Interface (CLI) </ a > </ li >
217+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/send_trigger.html "> TriggerSender: Sending Hardware Triggers</ a > </ li >
218+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/cli_usage.html "> psyflow-init: Command-Line Interface</ a > </ li >
215219< li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/utilities.html "> Utility Functions</ a > </ li >
216- < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/llm_client.html "> Interacting with Large Language Models (LLMs)</ a > </ li >
220+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/llm_client.html "> LLMClient: Using Large Language Models</ a > </ li >
221+ </ ul >
222+ < p class ="caption " role ="heading "> < span class ="caption-text "> 中文教程(Chinese Tutorials)</ span > </ p >
223+ < ul >
224+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/getting_started_cn.html "> PsyFlow 入门指南</ a > </ li >
225+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/get_subinfo_cn.html "> SubInfo: 收集被试信息</ a > </ li >
226+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/task_settings_cn.html "> TaskSettings: 配置您的实验</ a > </ li >
227+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/build_blocks_cn.html "> BlockUnit: 管理试验</ a > </ li >
228+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/build_stimulus_cn.html "> StimBank: 灵活的刺激管理</ a > </ li >
229+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/build_stimunit_cn.html "> StimUnit:模块化的刺激呈现与反应处理单元</ a > </ li >
230+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/send_trigger_cn.html "> TriggerSender: 发送硬件触发器</ a > </ li >
231+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/cli_usage_cn.html "> psyflow-init: 命令行界面</ a > </ li >
232+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../tutorials/llm_client_cn.html "> LLMClient: 使用大型语言模型</ a > </ li >
217233</ ul >
218234
219- </ div >
220- </ div >
221-
235+ </ div > </ div >
222236 </ div >
223237
224238 </ div >
@@ -792,9 +806,13 @@ <h1>Source code for psyflow.StimUnit</h1><div class="highlight"><pre>
792806 < span class ="k "> raise</ span > < span class ="ne "> TypeError</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "Invalid duration type: </ span > < span class ="si "> {</ span > < span class ="nb "> type</ span > < span class ="p "> (</ span > < span class ="n "> duration</ span > < span class ="p "> )</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> )</ span >
793807 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> set_state</ span > < span class ="p "> (</ span > < span class ="n "> duration</ span > < span class ="o "> =</ span > < span class ="n "> t_val</ span > < span class ="p "> )</ span >
794808
795- < span class ="c1 "> # initial draw + trigger scheduling </ span >
809+ < span class ="c1 "> # --- Initial Flip ( trigger locked to onset) --- </ span >
796810 < span class ="k "> for</ span > < span class ="n "> stim</ span > < span class ="ow "> in</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> stimuli</ span > < span class ="p "> :</ span >
797- < span class ="n "> stim</ span > < span class ="o "> .</ span > < span class ="n "> draw</ span > < span class ="p "> ()</ span >
811+ < span class ="k "> if</ span > < span class ="nb "> hasattr</ span > < span class ="p "> (</ span > < span class ="n "> stim</ span > < span class ="p "> ,</ span > < span class ="s2 "> "play"</ span > < span class ="p "> )</ span > < span class ="ow "> and</ span > < span class ="nb "> callable</ span > < span class ="p "> (</ span > < span class ="n "> stim</ span > < span class ="o "> .</ span > < span class ="n "> play</ span > < span class ="p "> ):</ span >
812+ < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> win</ span > < span class ="o "> .</ span > < span class ="n "> callOnFlip</ span > < span class ="p "> (</ span > < span class ="n "> stim</ span > < span class ="o "> .</ span > < span class ="n "> play</ span > < span class ="p "> )</ span >
813+ < span class ="k "> else</ span > < span class ="p "> :</ span >
814+ < span class ="n "> stim</ span > < span class ="o "> .</ span > < span class ="n "> draw</ span > < span class ="p "> ()</ span >
815+
798816 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> win</ span > < span class ="o "> .</ span > < span class ="n "> callOnFlip</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> send_trigger</ span > < span class ="p "> ,</ span > < span class ="n "> onset_trigger</ span > < span class ="p "> )</ span >
799817 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> win</ span > < span class ="o "> .</ span > < span class ="n "> callOnFlip</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> set_state</ span > < span class ="p "> ,</ span >
800818 < span class ="n "> onset_time</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> clock</ span > < span class ="o "> .</ span > < span class ="n "> getTime</ span > < span class ="p "> (),</ span >
@@ -813,12 +831,12 @@ <h1>Source code for psyflow.StimUnit</h1><div class="highlight"><pre>
813831 < span class ="n "> responded</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span >
814832 < span class ="n "> chosen_key</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="c1 "> # track which key to highlight</ span >
815833
816-
834+ < span class =" n " > visual_stims </ span > < span class =" o " > = </ span > < span class =" p " > [ </ span > < span class =" n " > s </ span > < span class =" k " > for </ span > < span class =" n " > s </ span > < span class =" ow " > in </ span > < span class =" bp " > self </ span > < span class =" o " > . </ span > < span class =" n " > stimuli </ span > < span class =" k " > if </ span > < span class =" nb " > hasattr </ span > < span class =" p " > ( </ span > < span class =" n " > s </ span > < span class =" p " > , </ span > < span class =" s2 " > "draw" </ span > < span class =" p " > ) </ span > < span class =" ow " > and </ span > < span class =" nb " > callable </ span > < span class =" p " > ( </ span > < span class =" n " > s </ span > < span class =" o " > . </ span > < span class =" n " > draw </ span > < span class =" p " > )] </ span >
817835 < span class ="n "> n_frames</ span > < span class ="o "> =</ span > < span class ="nb "> int</ span > < span class ="p "> (</ span > < span class ="nb "> round</ span > < span class ="p "> (</ span > < span class ="n "> t_val</ span > < span class ="o "> /</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> frame_time</ span > < span class ="p "> ))</ span >
818836 < span class ="k "> for</ span > < span class ="n "> _</ span > < span class ="ow "> in</ span > < span class ="nb "> range</ span > < span class ="p "> (</ span > < span class ="n "> n_frames</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ):</ span >
819837 < span class ="c1 "> # draw or blank?</ span >
820838 < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="p "> (</ span > < span class ="n "> responded</ span > < span class ="ow "> and</ span > < span class ="n "> terminate_on_response</ span > < span class ="p "> ):</ span >
821- < span class ="k "> for</ span > < span class ="n "> stim</ span > < span class ="ow "> in</ span > < span class ="bp " > self </ span > < span class =" o " > . </ span > < span class =" n "> stimuli </ span > < span class ="p "> :</ span >
839+ < span class ="k "> for</ span > < span class ="n "> stim</ span > < span class ="ow "> in</ span > < span class ="n "> visual_stims </ span > < span class ="p "> :</ span >
822840 < span class ="n "> stim</ span > < span class ="o "> .</ span > < span class ="n "> draw</ span > < span class ="p "> ()</ span >
823841 < span class ="c1 "> # draw highlight if requested</ span >
824842 < span class ="k "> if</ span > < span class ="n "> highlight_stim</ span > < span class ="ow "> and</ span > < span class ="p "> (</ span > < span class ="n "> responded</ span > < span class ="ow "> or</ span > < span class ="n "> dynamic_highlight</ span > < span class ="p "> ):</ span >
@@ -998,7 +1016,7 @@ <h1>Source code for psyflow.StimUnit</h1><div class="highlight"><pre>
9981016
9991017 </ aside >
10001018 </ div >
1001- </ div > < script src ="../../_static/documentation_options.js?v=a58bc63e "> </ script >
1019+ </ div > < script src ="../../_static/documentation_options.js?v=92734c54 "> </ script >
10021020 < script src ="../../_static/doctools.js?v=9a2dae69 "> </ script >
10031021 < script src ="../../_static/sphinx_highlight.js?v=dc90522c "> </ script >
10041022 < script src ="../../_static/scripts/furo.js?v=5fa4622c "> </ script >
0 commit comments