Idocutils.nodesdocument)}}( attributes}(backrefs]ids]classes]source;D:\Mariano\misc\ecg-kit\help\sphinx\source\QRScorrector.rstnames]dupnames]uids}(see-alsohsection)}}(h}(h]see alsoah]h ]hah ]h]utagnamehsourcehhh rawsourcelineKdchildren](htitle)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh%See Alsoh'Kdh(]hTextSee Also}}(h%h5parenth-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]refwarnh ]h ]reftypedocrefdoc QRScorrectorh] refexplicith] refdomainh& reftargetECGtaskuh#hYh$hh%:doc:`ECGtask `h'Kfh(]hliteral)}}(h}(h]h]h ]h ](xrefhdeh]uh#hoh%hmh(]h8ECGtask}}(h%h&h>hrubah>h\ubah>hNubh8 | }}(h% \| h>hNubhZ)}}(h}(h]h`h ]h ]reftypedochehfh] refexplicith] refdomainh&hkECGdelineationuh#hYh$hh%':doc:`ECG delineation `h'Kfh(]hp)}}(h}(h]h]h ]h ](hyheh]uh#hoh%hh(]h8ECG delineation}}(h%h&h>hubah>hubah>hNubh8 | }}(h% \| h>hNubhZ)}}(h}(h]h`h ]h ]reftypedochehfh] refexplicith] refdomainh&hkexamplesuh#hYh$hh%:doc:`examples `h'Kfh(]hp)}}(h}(h]h]h ]h ](hyheh]uh#hoh%hh(]h8examples}}(h%h&h>hubah>hubah>hNubeh>hBubah>hubhsubstitution_definition)}}(h}(h]image4ah]h ]h ]h]uh#hh$hhhh%%.. |image4| image:: QRS_corrector.PNGh'Khh(]himage)}}(h}(h]h ]h ]uriQRS_corrector.PNG candidates}*hsh]h]althuh#hh%image:: QRS_corrector.PNGh(]h>hubah>hubeh>h)}}(h}(h]qrs correctionah]h ]qrs-correctionah ]h]uh#hh$hhhh%h&h'Kh(](h+)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh%QRS correctionh'Kh(]h8QRS correction}}(h%jh>hubah>hubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%bThis document describes how to perform inspection and correction of automatic heartbeat detection.h'Kh(]h8bThis document describes how to perform inspection and correction of automatic heartbeat detection.}}(h%jh>j ubah>hubh)}}(h}(h] descriptionah]h ] descriptionah ]h]uh#hh$hhhh%h&h'K h(](h+)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh% Descriptionh'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>hubh)}}(h}(h]input argumentsah]h ]input-argumentsah ]h]uh#hh$hhhh%h&h'Kh(](h+)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh%Input Argumentsh'Kh(]h8Input 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(]h8The 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(]h8progress_handle}}(h%h&h>j}ubah>jrubh86 — 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>jubah>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>jubhZ)}}(h}(h]h`h ]h ]reftypedochehfh] refexplicith] refdomainh&hk progress_baruh#hYh$hh%#:doc:`progress\_bar `h'Kh(]hp)}}(h}(h]h]h ]h ](hyjeh]uh#hoh%jh(]h8 progress_bar}}(h%h&h>jubah>jubah>jubh8E 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>jubeh>jubah>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(]h8tmp_path}}(h%h&h>jubah>jubh8' — The path to store temporary data. }}(h%' — The path to store temporary data. h>jubhp)}}(h}(h]h]h ]h ]h]uh#hoh%``tempdir() (default)``h(]h8tempdir() (default)}}(h%h&h>jubah>jubeh>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>jEubhtarget)}}(h}(h]h ]h ]h]h]refid payload-propuh#j-h$hhhh%.. _payload_prop:h'K%h(]h>jEubhL)}}(expect_referenced_by_name} payload_propj0sh}(h]jAah]h ]j9ah ]h]uh#hKexpect_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(]h8payload}}(h%h&h>jMubah>j=ubh8O — 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%jh>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(]h8caller_variable}}(h%h&h>jubah>jubh89 — An arbitrary variable name in the caller workspace. }}(h%9 — An arbitrary variable name in the caller workspace. h>jubhp)}}(h}(h]h]h ]h ]h]uh#hoh%``'payload' (default)``h(]h8'payload' (default)}}(h%h&h>jubah>jubeh>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(]h8This 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>jubah>jubah>jEubeh>hubh)}}(h}(h]examplesah]h ]examplesah ]h]uh#hh$hhhh%h&h'K1h(](h+)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh%Examplesh'K1h(]h8Examples}}(h%jh>jubah>jubhL)}}(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>jubah>jubh literal_block)}}(h}(h]h ]h ]codeah]h] xml:spacepreserveuh#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>jubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%Then the following GUI appearsh'K=h(]h8Then the following GUI appears}}(h%j$h>jubah>jubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%|image4|h'K?h(]h)}}(h}(h]h ]h ]urihh}hhsh]h]althuh#hh$Nhhh%hh'Nh(]h>j,ubah>jubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%3and the command window shows the following message:h'KAh(]h83and the command window shows the following message:}}(h%jLh>jDubah>jubj)}}(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>jubhL)}}(h}(h]h]h ]h ]h]uh#hKh$hhhh%Xsee 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(](h8see 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=3h]h]nameYouTubeuh#juh%i`YouTube `__h(]h8YouTube}}(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=3h]h]name this otheruh#juh%l`this other `__h(]h8 this other}}(h%h&h>jubah>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>jubeh>hubh)}}(h}(h]results formatah]h ]results-formatah ]h]uh#hh$hhhh%h&h'KVh(](h+)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh%Results formath'KVh(]h8Results format}}(h%jh>jubah>jubhL)}}(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>jubhZ)}}(h}(h]h`h ]h ]reftyperefhehfh] refexplicith] refdomainstdhkqrs_det_result_formatuh#hYh$hh%1:ref:`QRS detection task `h'KXh(]hinline)}}(h}(h]h]h ]h ](hyjstd-refeh]uh#jh%jh(]h8QRS detection task}}(h%h&h>jubah>jubah>jubh8.}}(h%.h>jubeh>jubeh>hubh)}}(h}(h] more aboutah]h ] more-aboutah ]h]uh#hh$hhhh%h&h'K\h(](h+)}}(h}(h]h]h ]h ]h]uh#h*h$hhhh% More Abouth'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(](h8A 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=3h]h]nameYoutubeuh#juh%i`Youtube `__h(]h8Youtube}}(h%h&h>jYubah>jHubeh>j=ubah>j/ubah>jubeh>hubheh>hububhhjjjjj9j=jLjEj jjjuautofootnote_refs]current_sourceNrefnames}id_startKtransform_messages]hsystem_message)}}(h}(h]levelKh ]h ]sourcehh]lineK%h]typeINFOuh#jsh%h&h(]hL)}}(h}(h]h]h ]h ]h]uh#hKh%h&h(]h82Hyperlink target "payload-prop" is not referenced.}}(h%h&h>jubah>jvubaubasettingsdocutils.frontendValues)}}( pep_base_url https://www.python.org/dev/peps/embed_stylesheetexpose_internalsNinput_encoding_error_handlerstrictdebugNstrip_commentsN_disable_configNpep_referencesN source_linkNfootnote_backlinksKrfc_referencesNsyntax_highlightlongstrict_visitorNfile_insertion_enabled _config_files]input_encoding utf-8-sig language_codeendump_internalsN_sourcehwarning_streamNoutput_encoding_error_handlerj strip_classesN datestampN raw_enabledK generatorNrecord_dependenciesN sectnum_xformKgettext_compactcloak_email_addresses smart_quotes rfc_base_urlhttps://tools.ietf.org/html/ docinfo_xformKerror_encoding_error_handlerbackslashreplacepep_file_url_templatepep-%04derror_encodingcp850configN halt_levelK dump_settingsNdump_transformsN _destinationNauto_id_prefixid toc_backlinksentrysectsubtitle_xform id_prefixh&output_encodingutf-8 tab_widthKtrim_footnote_reference_spaceexit_status_levelKstrip_elements_with_classesN source_urlNh*N tracebackdump_pseudo_xmlN report_levelKdoctitle_xformenvNub footnote_refs}substitution_names}image4hs nametypes}(jINhNjNhNjNjNjAjNusymbol_footnote_refs] current_lineNindirect_targets]hhsubstitution_defs}hhsnameids}(jIjLhhjjhhjjjj jAj9jjusymbol_footnotes]h#hparse_messages]refids}j9]j0asreporterNh%h&symbol_footnote_startK transformerN footnotes] citation_refs} citations] autofootnotes]autofootnote_startK decorationNh(]haub.