€•IŒdocutils.nodes”Œdocument”“”)}”’”}”(Œ attributes”}”(Œbackrefs”]”Œids”]”Œclasses”]”Œsource”Œ;D:\Mariano\misc\ecg-kit\help\sphinx\source\QRScorrector.rst”Œnames”]”Œdupnames”]”uŒids”}”(Œsee-also”hŒsection”“”)}”’”}”(h}”(h]”Œsee also”ah]”h ]”hah ]”h]”uŒtagname”hŒsource”hhhŒ rawsource”Œ”Œline”KdŒchildren”]”(hŒtitle”“”)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h*h$hhhh%ŒSee Also”h'Kdh(]”hŒText”“”ŒSee Also”…”}”’”}”(h%h5Œparent”h-ubah>hubhŒ block_quote”“”)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h?h$hhhh%h&h'Nh(]”hŒ paragraph”“”)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hh%Œa:doc:`ECGtask ` \| :doc:`ECG delineation ` \| :doc:`examples `”h'Kfh(]”(Œsphinx.addnodes”Œ pending_xref”“”)}”’”}”(h}”(h]”Œrefwarn”ˆh ]”h ]”Œreftype”Œdoc”Œrefdoc”Œ QRScorrector”h]”Œ refexplicit”ˆh]”Œ refdomain”h&Œ reftarget”ŒECGtask”uh#hYh$hh%Œ:doc:`ECGtask `”h'Kfh(]”hŒliteral”“”)}”’”}”(h}”(h]”h]”h ]”h ]”(Œxref”hdeh]”uh#hoh%hmh(]”h8ŒECGtask”…”}”’”}”(h%h&h>hrubah>h\ubah>hNubh8Œ | ”…”}”’”}”(h%Œ \| ”h>hNubhZ)}”’”}”(h}”(h]”h`ˆh ]”h ]”Œreftype”Œdoc”hehfh]”Œ refexplicit”ˆh]”Œ refdomain”h&hkŒECGdelineation”uh#hYh$hh%Œ':doc:`ECG delineation `”h'Kfh(]”hp)}”’”}”(h}”(h]”h]”h ]”h ]”(hyh�eh]”uh#hoh%h•h(]”h8ŒECG delineation”…”}”’”}”(h%h&h>h˜ubah>hˆubah>hNubh8Œ | ”…”}”’”}”(h%Œ \| ”h>hNubhZ)}”’”}”(h}”(h]”h`ˆh ]”h ]”Œreftype”Œdoc”hehfh]”Œ refexplicit”ˆh]”Œ refdomain”h&hkŒexamples”uh#hYh$hh%Œ:doc:`examples `”h'Kfh(]”hp)}”’”}”(h}”(h]”h]”h ]”h ]”(hyh´eh]”uh#hoh%hºh(]”h8Œexamples”…”}”’”}”(h%h&h>h½ubah>h­ubah>hNubeh>hBubah>hubhŒsubstitution_definition”“”)}”’”}”(h}”(h]”Œimage4”ah]”h ]”h ]”h]”uh#hËh$hhhh%Œ%.. |image4| image:: QRS_corrector.PNG”h'Khh(]”hŒimage”“”)}”’”}”(h}”(h]”h ]”h ]”Œuri”ŒQRS_corrector.PNG”Œ candidates”}”Œ*”hãsh]”h]”Œalt”hÒuh#hÙh%Œimage:: QRS_corrector.PNG”h(]”h>hÎubah>hubeh>h)}”’”}”(h}”(h]”Œqrs correction”ah]”h ]”Œqrs-correction”ah ]”h]”uh#hh$hhhh%h&h'Kh(]”(h+)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h*h$hhhh%ŒQRS correction”h'Kh(]”h8ŒQRS correction”…”}”’”}”(h%jh>hùubah>híubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%ŒbThis document describes how to perform inspection and correction of automatic heartbeat detection.”h'Kh(]”h8ŒbThis document describes how to perform inspection and correction of automatic heartbeat detection.”…”}”’”}”(h%jh>j ubah>híubh)}”’”}”(h}”(h]”Œ description”ah]”h ]”Œ description”ah ]”h]”uh#hh$hhhh%h&h'K h(]”(h+)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h*h$hhhh%Œ Description”h'K h(]”h8Œ Description”…”}”’”}”(h%j-h>j%ubah>jubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%XbAutomatic heartbeat detection is commonly well performed in those recordings with stable heart rhythms and QRS morphologies. In those cases where these situations are not met, many problems arise and automatic detection is not easy performed. This task provides a graphical user interface (GUI) to ease verification, correction and even manual detection.”h'K h(]”h8XbAutomatic heartbeat detection is commonly well performed in those recordings with stable heart rhythms and QRS morphologies. In those cases where these situations are not met, many problems arise and automatic detection is not easy performed. This task provides a graphical user interface (GUI) to ease verification, correction and even manual detection.”…”}”’”}”(h%j=h>j5ubah>jubeh>híubh)}”’”}”(h}”(h]”Œinput arguments”ah]”h ]”Œinput-arguments”ah ]”h]”uh#hh$hhhh%h&h'Kh(]”(h+)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h*h$hhhh%ŒInput Arguments”h'Kh(]”h8ŒInput Arguments”…”}”’”}”(h%jYh>jQubah>jEubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%ŒæThe properties that the ECGtask\_QRS\_corrector class handle are described below. The usage of these properties is restricted to low-level programming, you can use this task through the ECGwrapper as is shown in the example below.”h'Kh(]”h8ŒäThe properties that the ECGtask_QRS_corrector class handle are described below. The usage of these properties is restricted to low-level programming, you can use this task through the ECGwrapper as is shown in the example below.”…”}”’”}”(h%ŒæThe properties that the ECGtask\_QRS\_corrector class handle are described below. The usage of these properties is restricted to low-level programming, you can use this task through the ECGwrapper as is shown in the example below.”h>jaubah>jEubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%ŒY``progress_handle`` — Used to track the progress within your function. ``[] (default)``”h'Kh(]”(hp)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hoh%Œ``progress_handle``”h(]”h8Œprogress_handle”…”}”’”}”(h%h&h>j}ubah>jrubh8Œ6 — Used to track the progress within your function. ”…”}”’”}”(h%Œ6 — Used to track the progress within your function. ”h>jrubhp)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hoh%Œ``[] (default)``”h(]”h8Œ [] (default)”…”}”’”}”(h%h&h>j“ubah>jrubeh>jEubh@)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h?h$hhhh%h&h'Nh(]”hL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hh%Œ‹progress\_handle, is a handle to a :doc:`progress\_bar ` object, that can be used to track the progress within your function.”h'Kh(]”(h8Œ"progress_handle, is a handle to a ”…”}”’”}”(h%Œ#progress\_handle, is a handle to a ”h>j­ubhZ)}”’”}”(h}”(h]”h`ˆh ]”h ]”Œreftype”Œdoc”hehfh]”Œ refexplicit”ˆh]”Œ refdomain”h&hkŒ progress_bar”uh#hYh$hh%Œ#:doc:`progress\_bar `”h'Kh(]”hp)}”’”}”(h}”(h]”h]”h ]”h ]”(hyjÅeh]”uh#hoh%jËh(]”h8Œ progress_bar”…”}”’”}”(h%h&h>jÎubah>j¾ubah>j­ubh8ŒE object, that can be used to track the progress within your function.”…”}”’”}”(h%ŒE object, that can be used to track the progress within your function.”h>j­ubeh>j£ubah>jEubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%ŒJ``tmp_path`` — The path to store temporary data. ``tempdir() (default)``”h'K!h(]”(hp)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hoh%Œ ``tmp_path``”h(]”h8Œtmp_path”…”}”’”}”(h%h&h>jîubah>jãubh8Œ' — The path to store temporary data. ”…”}”’”}”(h%Œ' — The path to store temporary data. ”h>jãubhp)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hoh%Œ``tempdir() (default)``”h(]”h8Œtempdir() (default)”…”}”’”}”(h%h&h>jubah>jãubeh>jEubh@)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h?h$hhhh%h&h'Nh(]”hL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hh%Œ/Full path to a directory with write privileges.”h'K#h(]”h8Œ/Full path to a directory with write privileges.”…”}”’”}”(h%j&h>jubah>jubah>jEubhŒtarget”“”)}”’”}”(h}”(h]”h ]”h ]”h]”h]”Œrefid”Œ payload-prop”uh#j-h$hhhh%Œ.. _payload_prop:”h'K%h(]”h>jEubhL)}”’”}”(Œexpect_referenced_by_name”}”Œ payload_prop”j0sh}”(h]”jAah]”h ]”j9ah ]”h]”uh#hKŒexpect_referenced_by_id”}”j9j0sh$hhhh%Œj``payload`` — An arbitrary format variable to be passed to your user-defined algorithm. ``[] (default)``”h'K'h(]”(hp)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hoh%Œ ``payload``”h(]”h8Œpayload”…”}”’”}”(h%h&h>jMubah>j=ubh8ŒO — An arbitrary format variable to be passed to your user-defined algorithm. ”…”}”’”}”(h%ŒO — An arbitrary format variable to be passed to your user-defined algorithm. ”h>j=ubhp)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hoh%Œ``[] (default)``”h(]”h8Œ [] (default)”…”}”’”}”(h%h&h>jcubah>j=ubeh>jEubh@)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h?h$hhhh%h&h'Nh(]”hL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hh%Œ^This propery is typically used to pass the automatic detection results. See the example below.”h'K)h(]”h8Œ^This propery is typically used to pass the automatic detection results. See the example below.”…”}”’”}”(h%j…h>j}ubah>jsubah>jEubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%Œc``caller_variable`` — An arbitrary variable name in the caller workspace. ``'payload' (default)``”h'K+h(]”(hp)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hoh%Œ``caller_variable``”h(]”h8Œcaller_variable”…”}”’”}”(h%h&h>j˜ubah>j�ubh8Œ9 — An arbitrary variable name in the caller workspace. ”…”}”’”}”(h%Œ9 — An arbitrary variable name in the caller workspace. ”h>j�ubhp)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hoh%Œ``'payload' (default)``”h(]”h8Œ'payload' (default)”…”}”’”}”(h%h&h>j®ubah>j�ubeh>jEubh@)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h?h$hhhh%h&h'Nh(]”hL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hh%ŒÑThis variable in the caller workspace, will be assigned after user-interaction ends. ECGtask\_QRS\_corrector uses 'payload' as default variable in order to save the result of edition/verification with the GUI.”h'K-h(]”h8ŒÏThis variable in the caller workspace, will be assigned after user-interaction ends. ECGtask_QRS_corrector uses 'payload' as default variable in order to save the result of edition/verification with the GUI.”…”}”’”}”(h%ŒÑThis variable in the caller workspace, will be assigned after user-interaction ends. ECGtask\_QRS\_corrector uses 'payload' as default variable in order to save the result of edition/verification with the GUI.”h>jÈubah>j¾ubah>jEubeh>híubh)}”’”}”(h}”(h]”Œexamples”ah]”h ]”Œexamples”ah ]”h]”uh#hh$hhhh%h&h'K1h(]”(h+)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h*h$hhhh%ŒExamples”h'K1h(]”h8ŒExamples”…”}”’”}”(h%jíh>jåubah>jÙubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%Œ*Create the ECGtask\_QRS\_corrector object.”h'K3h(]”h8Œ(Create the ECGtask_QRS_corrector object.”…”}”’”}”(h%Œ*Create the ECGtask\_QRS\_corrector object.”h>jõubah>jÙubhŒ literal_block”“”)}”’”}”(h}”(h]”h ]”h ]”Œcode”ah]”h]”Œ xml:space”Œpreserve”uh#jh$hhhh%XECGw.ECGtaskHandle = 'QRS_corrector'; % this is to use previous saved results as starting point, if any available cached_filenames = ECG_all_wrappers(ii).GetCahchedFileName({'QRS_corrector' 'QRS_detection'}); ECGw.ECGtaskHandle.payload = load(cached_filenames{1}); ECGw.Run();”h'Kjubah>jÙubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%ŒThen the following GUI appears”h'K=h(]”h8ŒThen the following GUI appears”…”}”’”}”(h%j$h>jubah>jÙubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%Œ|image4|”h'K?h(]”hÚ)}”’”}”(h}”(h]”h ]”h ]”Œuri”hãhä}”hæhãsh]”h]”Œalt”hÒuh#hÙh$Nhhh%hêh'Nh(]”h>j,ubah>jÙubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%Œ3and the command window shows the following message:”h'KAh(]”h8Œ3and the command window shows the following message:”…”}”’”}”(h%jLh>jDubah>jÙubj)}”’”}”(h}”(h]”h ]”h ]”jah]”h]”jjuh#jh$hhhh%ŒÏ############################# # User interaction required # ############################# This ECGtask allow user interaction. Press [CTRL + G] in figure 1 to save results and press F5 (Run) to continue. K>>”h'KJh(]”h8ŒÏ############################# # User interaction required # ############################# This ECGtask allow user interaction. Press [CTRL + G] in figure 1 to save results and press F5 (Run) to continue. K>>”…”}”’”}”(h%ŒÏ############################# # User interaction required # ############################# This ECGtask allow user interaction. Press [CTRL + G] in figure 1 to save results and press F5 (Run) to continue. K>>”h>jTubah>jÙubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%XÆsee the videos in `YouTube `__ for a more detailed demo about things you can do with the GUI. The demo shows how to add/remove heartbeats annotation, browse the detections through the whole recording and cut/copy/paste heartbeat detections between different annotations. Other features not described in this video were added in `this other `__. After edition/verification of the automatic delineation, press CTRL+G to save results in the 'payload' variable of the caller workspace. Then press F5 to save the results to disk.”h'KKh(]”(h8Œsee the videos in ”…”}”’”}”(h%Œsee the videos in ”h>jeubhŒ reference”“”)}”’”}”(h}”(h]”h ]”h ]”Œrefuri”Œ[https://www.youtube.com/watch?v=qgWjvsvafVg&list=PLlD2eDv5CIe9sA2atmnb-DX48FIRG46z7&index=3”h]”h]”Œname”ŒYouTube”uh#juh%Œi`YouTube `__”h(]”h8ŒYouTube”…”}”’”}”(h%h&h>jxubah>jeubh8X* for a more detailed demo about things you can do with the GUI. The demo shows how to add/remove heartbeats annotation, browse the detections through the whole recording and cut/copy/paste heartbeat detections between different annotations. Other features not described in this video were added in ”…”}”’”}”(h%X* for a more detailed demo about things you can do with the GUI. The demo shows how to add/remove heartbeats annotation, browse the detections through the whole recording and cut/copy/paste heartbeat detections between different annotations. Other features not described in this video were added in ”h>jeubjv)}”’”}”(h}”(h]”h ]”h ]”j~Œ[https://www.youtube.com/watch?v=qgWjvsvafVg&list=PLlD2eDv5CIe9sA2atmnb-DX48FIRG46z7&index=3”h]”h]”Œname”Œ this other”uh#juh%Œl`this other `__”h(]”h8Œ this other”…”}”’”}”(h%h&h>j’ubah>jeubh8Œµ. After edition/verification of the automatic delineation, press CTRL+G to save results in the 'payload' variable of the caller workspace. Then press F5 to save the results to disk.”…”}”’”}”(h%Œµ. After edition/verification of the automatic delineation, press CTRL+G to save results in the 'payload' variable of the caller workspace. Then press F5 to save the results to disk.”h>jeubeh>jÙubeh>híubh)}”’”}”(h}”(h]”Œresults format”ah]”h ]”Œresults-format”ah ]”h]”uh#hh$hhhh%h&h'KVh(]”(h+)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h*h$hhhh%ŒResults format”h'KVh(]”h8ŒResults format”…”}”’”}”(h%j¿h>j·ubah>j«ubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%Œ\The result file have the same format than :ref:`QRS detection task `.”h'KXh(]”(h8Œ*The result file have the same format than ”…”}”’”}”(h%Œ*The result file have the same format than ”h>jÇubhZ)}”’”}”(h}”(h]”h`ˆh ]”h ]”Œreftype”Œref”hehfh]”Œ refexplicit”ˆh]”Œ refdomain”Œstd”hkŒqrs_det_result_format”uh#hYh$hh%Œ1:ref:`QRS detection task `”h'KXh(]”hŒinline”“”)}”’”}”(h}”(h]”h]”h ]”h ]”(hyjäŒstd-ref”eh]”uh#jèh%jæh(]”h8ŒQRS detection task”…”}”’”}”(h%h&h>jëubah>jØubah>jÇubh8Œ.”…”}”’”}”(h%Œ.”h>jÇubeh>j«ubeh>híubh)}”’”}”(h}”(h]”Œ more about”ah]”h ]”Œ more-about”ah ]”h]”uh#hh$hhhh%h&h'K\h(]”(h+)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#h*h$hhhh%Œ More About”h'K\h(]”h8Œ More About”…”}”’”}”(h%jh>j ubah>jubhL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hhhh%Œjubah>jubhŒ bullet_list”“”)}”’”}”(h}”(h]”h ]”h ]”h]”Œbullet”Œ-”h]”uh#j,h$hhhh%h&h'K`h(]”hŒ list_item”“”)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#j:h$hhhh%Œ{A video demo in `Youtube `__ ”h'Nh(]”hL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh$hh%ŒyA video demo in `Youtube `__”h'K`h(]”(h8ŒA video demo in ”…”}”’”}”(h%ŒA video demo in ”h>jHubjv)}”’”}”(h}”(h]”h ]”h ]”j~Œ[https://www.youtube.com/watch?v=qgWjvsvafVg&list=PLlD2eDv5CIe9sA2atmnb-DX48FIRG46z7&index=3”h]”h]”Œname”ŒYoutube”uh#juh%Œi`Youtube `__”h(]”h8ŒYoutube”…”}”’”}”(h%h&h>jYubah>jHubeh>j=ubah>j/ubah>jubeh>híubheh>hububhôhíjàjÙj²j«j9j=jLjEj jjjuŒautofootnote_refs”]”Œcurrent_source”NŒrefnames”}”Œid_start”KŒtransform_messages”]”hŒsystem_message”“”)}”’”}”(h}”(h]”Œlevel”Kh ]”h ]”Œsource”hh]”Œline”K%h]”Œtype”ŒINFO”uh#jsh%h&h(]”hL)}”’”}”(h}”(h]”h]”h ]”h ]”h]”uh#hKh%h&h(]”h8Œ2Hyperlink target "payload-prop" is not referenced.”…”}”’”}”(h%h&h>j…ubah>jvubaubaŒsettings”Œdocutils.frontend”ŒValues”“”)}”’”}”(Œ pep_base_url”Œ https://www.python.org/dev/peps/”Œembed_stylesheet”‰Œexpose_internals”NŒinput_encoding_error_handler”Œstrict”Œdebug”NŒstrip_comments”NŒ_disable_config”NŒpep_references”NŒ source_link”NŒfootnote_backlinks”KŒrfc_references”NŒsyntax_highlight”Œlong”Œstrict_visitor”NŒfile_insertion_enabled”ˆŒ _config_files”]”Œinput_encoding”Œ utf-8-sig”Œ language_code”Œen”Œdump_internals”NŒ_source”hŒwarning_stream”NŒoutput_encoding_error_handler”jŸŒ strip_classes”NŒ datestamp”NŒ raw_enabled”KŒ generator”NŒrecord_dependencies”NŒ sectnum_xform”KŒgettext_compact”ˆŒcloak_email_addresses”ˆŒ smart_quotes”‰Œ rfc_base_url”Œhttps://tools.ietf.org/html/”Œ docinfo_xform”KŒerror_encoding_error_handler”Œbackslashreplace”Œpep_file_url_template”Œpep-%04d”Œerror_encoding”Œcp850”Œconfig”NŒ halt_level”KŒ dump_settings”NŒdump_transforms”NŒ _destination”NŒauto_id_prefix”Œid”Œ toc_backlinks”Œentry”Œsectsubtitle_xform”‰Œ id_prefix”h&Œoutput_encoding”Œutf-8”Œ tab_width”KŒtrim_footnote_reference_space”‰Œexit_status_level”KŒstrip_elements_with_classes”NŒ source_url”Nh*NŒ traceback”ˆŒdump_pseudo_xml”NŒ report_level”KŒdoctitle_xform”‰Œenv”NubŒ footnote_refs”}”Œsubstitution_names”}”Œimage4”hÒsŒ nametypes”}”(jINhñNjÝNhNjNjNjAˆj¯NuŒsymbol_footnote_refs”]”Œ current_line”NŒindirect_targets”]”hhŒsubstitution_defs”}”hÒhÎsŒnameids”}”(jIjLhñhôjÝjàhhjjjj jAj9j¯j²uŒsymbol_footnotes”]”h#hŒparse_messages”]”Œrefids”}”j9]”j0asŒreporter”Nh%h&Œsymbol_footnote_start”KŒ transformer”NŒ footnotes”]”Œ citation_refs”}”Œ citations”]”Œ autofootnotes”]”Œautofootnote_start”KŒ decoration”Nh(]”híaub.