€•‘‚Œdocutils.nodes”Œdocument”“”)}”’”}”(Œreporter”NŒsymbol_footnote_start”KŒcurrent_source”NŒ footnote_refs”}”Œtransform_messages”]”Œtagname”hŒ decoration”NŒ transformer”NŒ rawsource”Œ”Œchildren”]”hŒsection”“”)}”’”}”(Œparent”hhhh]”(hŒtitle”“”)}”’”}”(hhhŒECGtask”Œ attributes”}”(Œids”]”Œclasses”]”Œbackrefs”]”Œnames”]”Œdupnames”]”uh]”hŒText”“”ŒECGtask”…”}”’”}”(hhhh ubaŒsource”Œ6D:\Mariano\misc\ecg-kit\help\sphinx\source\ECGtask.rst”h hŒline”KhhubhŒ paragraph”“”)}”’”}”(hhhŒrPerform an specific task to an ECG signal. This document defines the standard interface that tasks must implement.”h]”h/ŒrPerform an specific task to an ECG signal. This document defines the standard interface that tasks must implement.”…”}”’”}”(hh;hh=ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KhhubhŒcompound”“”)}”’”}”(hhhhh]”Œsphinx.addnodes”Œtoctree”“”)}”’”}”(hhMhhh5h6h!}”(Œnumbered”Kh%]”h+]”Œ includehidden”‰hŒECGtask”h#]”Œcaption”NŒ includefiles”]”(Œ QRS_detection”Œ QRScorrector”ŒABP_PPG_peak_detection”ŒABP_PPG_peak_correction”ŒECGdelineation”ŒECG_delineation_corrector”ŒECG_heartbeat_classifier”ŒArbitrary_tasks”eh)]”h']”Œmaxdepth”KŒglob”‰Œ titlesonly”ˆŒhidden”ˆŒentries”]”(Œ QRS detection”h`†”ŒQRS correction”ha†”ŒABP/PPG peak detection”hb†”ŒABP/PPG peak correction”hc†”ŒECG delineation”hd†”ŒECG delineation correction”he†”ŒHeartbeat classification”hf†”ŒArbitrary tasks”hg†”euh]”h hQh7Kubah!}”(h#]”h%]”Œtoctree-wrapper”ah']”h)]”h+]”uh5h6h hJh7Nhhubh)}”’”}”(hhhhh]”(h)}”’”}”(hh‰hŒ Description”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h/Œ Description”…”}”’”}”(hh�hh�ubah5h6h hh7Khhubh9)}”’”}”(hh‰hX¸The ECGtask is an abstract class definition where the minimum interface requirements are specified, in order that your own tasks can be safely plugged into `ECGwrapper ` objects. As an example of how to use this interface, see the derived classes for :doc:`QRS detection ` and :doc:`ECG delineation `, among others that can be listed with the :doc:`list\_all\_ECGtask ` function:”h]”(h/ŒœThe ECGtask is an abstract class definition where the minimum interface requirements are specified, in order that your own tasks can be safely plugged into ”…”}”’”}”(hh�hŒœThe ECGtask is an abstract class definition where the minimum interface requirements are specified, in order that your own tasks can be safely plugged into ”ubhŒtitle_reference”“”)}”’”}”(hh�hŒ`ECGwrapper `”h]”h/ŒECGwrapper ”…”}”’”}”(hhªhhubah!}”(h#]”h%]”h']”h)]”h+]”uh h§ubh/ŒR objects. As an example of how to use this interface, see the derived classes for ”…”}”’”}”(hh�hŒR objects. As an example of how to use this interface, see the derived classes for ”ubhPŒ pending_xref”“”)}”’”}”(hh�hŒ$:doc:`QRS detection `”h]”hŒliteral”“”)}”’”}”(hhÂhhÄh]”h/Œ QRS detection”…”}”’”}”(hhÉhhubah!}”(h#]”h%]”(Œxref”Œdoc”eh']”h)]”h+]”uh hÆubah!}”(Œrefdoc”h[h%]”Œ reftarget”Œ QRS_detection”h']”Œreftype”hÕh#]”h+]”Œ refdomain”hŒrefwarn”ˆŒ refexplicit”ˆh)]”uh5h6h h¿h7Kubh/Œ and ”…”}”’”}”(hh�hŒ and ”ubhÀ)}”’”}”(hh�hŒ':doc:`ECG delineation `”h]”hÇ)}”’”}”(hhíhhïh]”h/ŒECG delineation”…”}”’”}”(hhòhhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒECGdelineation”h']”Œreftype”hýh#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7Kubh/Œ+, among others that can be listed with the ”…”}”’”}”(hh�hŒ+, among others that can be listed with the ”ubhÀ)}”’”}”(hh�hŒ,:doc:`list\_all\_ECGtask `”h]”hÇ)}”’”}”(hjhjh]”h/Œlist_all_ECGtask”…”}”’”}”(hjhhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒlist_all_ECGtask”h']”Œreftype”j"h#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7Kubh/Œ function:”…”}”’”}”(hh�hŒ function:”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KhhubhŒ bullet_list”“”)}”’”}”(hh‰hhh!}”(h%]”Œbullet”Œ-”h']”h#]”h+]”h)]”uh]”(hŒ list_item”“”)}”’”}”(hj?hŒ$:doc:`QRS detection `”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hjMhjOh]”hÀ)}”’”}”(hjXhjOh]”hÇ)}”’”}”(hj\hjOh]”h/Œ QRS detection”…”}”’”}”(hj`hhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒ QRS_detection”h']”Œreftype”jkh#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7K"ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K"ubah5h6h jJh7NhhubjK)}”’”}”(hj?hŒ$:doc:`QRS correction `”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hj€hj‚h]”hÀ)}”’”}”(hj‹hj‚h]”hÇ)}”’”}”(hj�hj‚h]”h/ŒQRS correction”…”}”’”}”(hj“hhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒ QRScorrector”h']”Œreftype”jžh#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7K#ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K#ubah5h6h jJh7NhhubjK)}”’”}”(hj?hŒ':doc:`ECG delineation `”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hj³hjµh]”hÀ)}”’”}”(hj¾hjµh]”hÇ)}”’”}”(hjÂhjµh]”h/ŒECG delineation”…”}”’”}”(hjÆhhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒECGdelineation”h']”Œreftype”jÑh#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7K$ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K$ubah5h6h jJh7NhhubjK)}”’”}”(hj?hŒ=:doc:`ECG delineation correction `”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hjæhjèh]”hÀ)}”’”}”(hjñhjèh]”hÇ)}”’”}”(hjõhjèh]”h/ŒECG delineation correction”…”}”’”}”(hjùhhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒECG_delineation_corrector”h']”Œreftype”jh#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7K%ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K%ubah5h6h jJh7NhhubjK)}”’”}”(hj?hŒ6:doc:`ABP/PPG peak detection `”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hjhjh]”hÀ)}”’”}”(hj$hjh]”hÇ)}”’”}”(hj(hjh]”h/ŒABP/PPG peak detection”…”}”’”}”(hj,hhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒABP_PPG_peak_detection”h']”Œreftype”j7h#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7K&ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K&ubah5h6h jJh7NhhubjK)}”’”}”(hj?hŒ8:doc:`ABP/PPG peak correction `”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hjLhjNh]”hÀ)}”’”}”(hjWhjNh]”hÇ)}”’”}”(hj[hjNh]”h/ŒABP/PPG peak correction”…”}”’”}”(hj_hhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒABP_PPG_peak_correction”h']”Œreftype”jjh#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7K'ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K'ubah5h6h jJh7NhhubjK)}”’”}”(hj?hŒ::doc:`Heartbeat classification `”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hjhj�h]”hÀ)}”’”}”(hjŠhj�h]”hÇ)}”’”}”(hjŽhj�h]”h/ŒHeartbeat classification”…”}”’”}”(hj’hhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒECG_heartbeat_classifier”h']”Œreftype”j�h#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7K(ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K(ubah5h6h jJh7NhhubjK)}”’”}”(hj?hŒ):doc:`Arbitrary tasks ` ”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hj²hŒ(:doc:`Arbitrary tasks `”h]”hÀ)}”’”}”(hj½hj¿h]”hÇ)}”’”}”(hjÂhj¿h]”h/ŒArbitrary tasks”…”}”’”}”(hjÆhhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒArbitrary_tasks”h']”Œreftype”jÑh#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7K)ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K)ubah5h6h jJh7Nhhubeh5h6h j<h7K"hhubh9)}”’”}”(hh‰hŒ�These tasks are the core of this kit and you will probably refer to them before you extend the functionality with your own tasks.”h]”h/Œ�These tasks are the core of this kit and you will probably refer to them before you extend the functionality with your own tasks.”…”}”’”}”(hjæhjèubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K+hhubeh!}”(h#]”Œ description”ah%]”h']”h)]”Œ description”ah+]”uh5h6h hh7Khhubh)}”’”}”(hhhhh]”(h)}”’”}”(hjþhŒ Properties”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h/Œ Properties”…”}”’”}”(hjhjubah5h6h hh7K/hhubh9)}”’”}”(hjþhŒFAll tasks must implement the following properties with its attributes:”h]”h/ŒFAll tasks must implement the following properties with its attributes:”…”}”’”}”(hjhjubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K1hhubhŒ literal_block”“”)}”’”}”(hjþhŒ(properties(GetAccess = public, Constant)”h]”h/Œ(properties(GetAccess = public, Constant)”…”}”’”}”(hj$hj&ubah!}”(h%]”Œcode”ah']”h#]”h+]”Œ xml:space”Œpreserve”h)]”uh5h6h j!h7K7hhubh9)}”’”}”(hjþhŒ"``name`` — The name of the task.”h]”(hÇ)}”’”}”(hj7hŒ``name``”h]”h/Œname”…”}”’”}”(hj<hhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubh/Œ — The name of the task.”…”}”’”}”(hj7hŒ — The name of the task.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K8hhubh9)}”’”}”(hjþhŒP``target_units`` — The signal units required by the task. Possible values are:”h]”(hÇ)}”’”}”(hjXhŒ``target_units``”h]”h/Œ target_units”…”}”’”}”(hj]hhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubh/Œ@ — The signal units required by the task. Possible values are:”…”}”’”}”(hjXhŒ@ — The signal units required by the task. Possible values are:”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K:hhubhŒ block_quote”“”)}”’”}”(hjþhhh]”(h9)}”’”}”(hj{hŒADCu, raw ADC samples.”h]”h/ŒADCu, raw ADC samples.”…”}”’”}”(hjhj�ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Kubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h jxh7Nhhubh9)}”’”}”(hjþhŒL``doPayload`` — Boolean. Does this task generates a payload to be stored ?”h]”(hÇ)}”’”}”(hj¥hŒ ``doPayload``”h]”h/Œ doPayload”…”}”’”}”(hjªhhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubh/Œ? — Boolean. Does this task generates a payload to be stored ?”…”}”’”}”(hj¥hŒ? — Boolean. Does this task generates a payload to be stored ?”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K@hhubj")}”’”}”(hjþhŒ3properties(GetAccess = public, SetAccess = private)”h]”h/Œ3properties(GetAccess = public, SetAccess = private)”…”}”’”}”(hjÆhjÈubah!}”(h%]”j/ah']”h#]”h+]”j3j4h)]”uh5h6h j!h7KGhhubh9)}”’”}”(hjþhŒ’``memory_constant`` — A coefficient to indicate the ECGwrapper how big should be a batch processing part. The size of each part is calculated as”h]”(hÇ)}”’”}”(hjÖhŒ``memory_constant``”h]”h/Œmemory_constant”…”}”’”}”(hjÛhhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubh/Œ — A coefficient to indicate the ECGwrapper how big should be a batch processing part. The size of each part is calculated as”…”}”’”}”(hjÖhŒ — A coefficient to indicate the ECGwrapper how big should be a batch processing part. The size of each part is calculated as”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KHhhubj")}”’”}”(hjþhŒIuser = memory; batch_size = memory_constant * user.MaxPossibleArrayBytes;”h]”h/ŒIuser = memory; batch_size = memory_constant * user.MaxPossibleArrayBytes;”…”}”’”}”(hj÷hŒIuser = memory; batch_size = memory_constant * user.MaxPossibleArrayBytes;”ubah!}”(h%]”j/ah']”h#]”h+]”j3j4h)]”uh5h6h j!h7KPhhubh9)}”’”}”(hjþhŒA``started`` — Boolean. Did the task executed the Start method ?”h]”(hÇ)}”’”}”(hjhŒ ``started``”h]”h/Œstarted”…”}”’”}”(hj hhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubh/Œ6 — Boolean. Did the task executed the Start method ?”…”}”’”}”(hjhŒ6 — Boolean. Did the task executed the Start method ?”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KQhhubj")}”’”}”(hjþhŒ2properties(GetAccess = public, SetAccess = public)”h]”h/Œ2properties(GetAccess = public, SetAccess = public)”…”}”’”}”(hj)hj+ubah!}”(h%]”j/ah']”h#]”h+]”j3j4h)]”uh5h6h j!h7KYhhubh9)}”’”}”(hjþhŒ‘``progress_handle`` — is a handle to a :doc:`progress\_bar ` object, that can be used to track the progress within your function.”h]”(hÇ)}”’”}”(hj9hŒ``progress_handle``”h]”h/Œprogress_handle”…”}”’”}”(hj>hhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubh/Œ — is a handle to a ”…”}”’”}”(hj9hŒ — is a handle to a ”ubhÀ)}”’”}”(hj9hŒ#:doc:`progress\_bar `”h]”hÇ)}”’”}”(hjThjVh]”h/Œ progress_bar”…”}”’”}”(hjYhhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒ progress_bar”h']”Œreftype”jdh#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7KZubh/ŒE object, that can be used to track the progress within your function.”…”}”’”}”(hj9hŒE object, that can be used to track the progress within your function.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KZhhubh9)}”’”}”(hjþhŒ2``tmp_path`` — The path to store temporary data.”h]”(hÇ)}”’”}”(hjhŒ ``tmp_path``”h]”h/Œtmp_path”…”}”’”}”(hj„hhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubh/Œ& — The path to store temporary data.”…”}”’”}”(hjhŒ& — The path to store temporary data.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K]hhubeh!}”(h#]”Œ properties”ah%]”h']”h)]”Œ properties”ah+]”uh5h6h hh7K/hhubh)}”’”}”(hhhhh]”(h)}”’”}”(hj¨hŒMethods”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h/ŒMethods”…”}”’”}”(hj¬hj®ubah5h6h hh7Kahhubh9)}”’”}”(hj¨hŒ/All tasks must implement the following methods:”h]”h/Œ/All tasks must implement the following methods:”…”}”’”}”(hj¼hj¾ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Kchhubh9)}”’”}”(hj¨hŒ-``Start`` — The task initialization method.”h]”(hÇ)}”’”}”(hjÌhŒ ``Start``”h]”h/ŒStart”…”}”’”}”(hjÑhhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubh/Œ$ — The task initialization method.”…”}”’”}”(hjÌhŒ$ — The task initialization method.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Kfhhubh9)}”’”}”(hj¨hŒ2This task initialize specific aspects of the task.”h]”h/Œ2This task initialize specific aspects of the task.”…”}”’”}”(hjíhjïubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Khhhubj")}”’”}”(hj¨hŒ'Start(obj, ECG_header, ECG_annotations)”h]”h/Œ'Start(obj, ECG_header, ECG_annotations)”…”}”’”}”(hjýhjÿubah!}”(h%]”j/ah']”h#]”h+]”j3j4h)]”uh5h6h j!h7Knhhubh9)}”’”}”(hj¨hŒwhere the arguments are:”h]”h/Œwhere the arguments are:”…”}”’”}”(hj hjubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Kohhubjy)}”’”}”(hj¨hhh]”(h9)}”’”}”(hjhŒx**ECG\_header**, is a struct with info about the ECG signal, See :ref:`here ` for a description.”h]”(hŒstrong”“”)}”’”}”(hj!hŒ**ECG\_header**”h]”h/Œ ECG_header”…”}”’”}”(hj(hhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ2, is a struct with info about the ECG signal, See ”…”}”’”}”(hj!hŒ2, is a struct with info about the ECG signal, See ”ubhÀ)}”’”}”(hj!hŒ$:ref:`here `”h]”hŒinline”“”)}”’”}”(hj>hj@h]”h/Œhere”…”}”’”}”(hjEhhubah!}”(h#]”h%]”(hÔŒstd”Œstd-ref”eh']”h)]”h+]”uh jBubah!}”(hÚh[h%]”hÜŒecg_header_description”h']”Œreftype”Œref”h#]”h+]”Œ refdomain”jPh㈌ refexplicit”ˆh)]”uh5h6h h¿h7Kqubh/Œ for a description.”…”}”’”}”(hj!hŒ for a description.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Kqubh9)}”’”}”(hjhŒó**ECG_annotations**, Commonly QRS detections, signal quality annotations or other type of measurements included with the recordings. Some documentation about annotations in `Physionet `__.”h]”(j&)}”’”}”(hjmhŒ**ECG_annotations**”h]”h/ŒECG_annotations”…”}”’”}”(hjrhhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œš, Commonly QRS detections, signal quality annotations or other type of measurements included with the recordings. Some documentation about annotations in ”…”}”’”}”(hjmhŒš, Commonly QRS detections, signal quality annotations or other type of measurements included with the recordings. Some documentation about annotations in ”ubhŒ reference”“”)}”’”}”(hjmh!}”(h%]”Œname”Œ Physionet”h']”h#]”h+]”h)]”Œrefuri”Œ5http://www.physionet.org/physiobank/annotations.shtml”uhŒE`Physionet `__”h]”h/Œ Physionet”…”}”’”}”(hjŠhhubah j‡ubh/Œ.”…”}”’”}”(hjmhŒ.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Ktubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h jxh7Nhhubh9)}”’”}”(hj¨hŒ2``Process`` — The task core processing function.”h]”(hÇ)}”’”}”(hj°hŒ ``Process``”h]”h/ŒProcess”…”}”’”}”(hjµhhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubh/Œ' — The task core processing function.”…”}”’”}”(hj°hŒ' — The task core processing function.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Kxhhubh9)}”’”}”(hj¨hŒžThis task is the responsible of do the actual work of the ECGtask. This mehtod is called by an ECGwrapper all the times needed to process the whole recording.”h]”h/ŒžThis task is the responsible of do the actual work of the ECGtask. This mehtod is called by an ECGwrapper all the times needed to process the whole recording.”…”}”’”}”(hjÑhjÓubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Kzhhubj")}”’”}”(hj¨hŒÙpayload = Process(ECG, ECG_start_offset, ECG_sample_start_end_idx, ECG_header, ECG_annotations, ECG_annotations_start_end_idx )”h]”h/ŒÙpayload = Process(ECG, ECG_start_offset, ECG_sample_start_end_idx, ECG_header, ECG_annotations, ECG_annotations_start_end_idx )”…”}”’”}”(hjáhŒÙpayload = Process(ECG, ECG_start_offset, ECG_sample_start_end_idx, ECG_header, ECG_annotations, ECG_annotations_start_end_idx )”ubah!}”(h%]”j/ah']”h#]”h+]”j3j4h)]”uh5h6h j!h7K†hhubh9)}”’”}”(hj¨hŒwhere the arguments are:”h]”h/Œwhere the arguments are:”…”}”’”}”(hjòhjôubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K‡hhubjy)}”’”}”(hj¨hhh]”(h9)}”’”}”(hjhŒ@**ECG**, is a matrix size ``[ECG_header.nsamp ECG_header.nsig]``”h]”(j&)}”’”}”(hjhŒ**ECG**”h]”h/ŒECG”…”}”’”}”(hj hhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ, is a matrix size ”…”}”’”}”(hjhŒ, is a matrix size ”ubhÇ)}”’”}”(hjhŒ&``[ECG_header.nsamp ECG_header.nsig]``”h]”h/Œ"[ECG_header.nsamp ECG_header.nsig]”…”}”’”}”(hj!hhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KŠubh9)}”’”}”(hjhŒL**ECG\_start\_offset**, is the location of ECG(1,:) within the whole signal.”h]”(j&)}”’”}”(hj7hŒ**ECG\_start\_offset**”h]”h/ŒECG_start_offset”…”}”’”}”(hj<hhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ6, is the location of ECG(1,:) within the whole signal.”…”}”’”}”(hj7hŒ6, is the location of ECG(1,:) within the whole signal.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KŒubh9)}”’”}”(hjhŒx**ECG\_header**, is a struct with info about the ECG signal, See :ref:`here ` for a description.”h]”(j&)}”’”}”(hjXhŒ**ECG\_header**”h]”h/Œ ECG_header”…”}”’”}”(hj]hhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ2, is a struct with info about the ECG signal, See ”…”}”’”}”(hjXhŒ2, is a struct with info about the ECG signal, See ”ubhÀ)}”’”}”(hjXhŒ$:ref:`here `”h]”jC)}”’”}”(hjshjuh]”h/Œhere”…”}”’”}”(hjxhhubah!}”(h#]”h%]”(hÔŒstd”Œstd-ref”eh']”h)]”h+]”uh jBubah!}”(hÚh[h%]”hÜŒecg_header_description”h']”Œreftype”Œref”h#]”h+]”Œ refdomain”jƒh㈌ refexplicit”ˆh)]”uh5h6h h¿h7KŽubh/Œ for a description.”…”}”’”}”(hjXhŒ for a description.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KŽubh9)}”’”}”(hjhŒó**ECG_annotations**, Commonly QRS detections, signal quality annotations or other type of measurements included with the recordings. Some documentation about annotations in `Physionet `__.”h]”(j&)}”’”}”(hj hŒ**ECG_annotations**”h]”h/ŒECG_annotations”…”}”’”}”(hj¥hhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œš, Commonly QRS detections, signal quality annotations or other type of measurements included with the recordings. Some documentation about annotations in ”…”}”’”}”(hj hŒš, Commonly QRS detections, signal quality annotations or other type of measurements included with the recordings. Some documentation about annotations in ”ubjˆ)}”’”}”(hj h!}”(h%]”Œname”Œ Physionet”h']”h#]”h+]”h)]”j”Œ5http://www.physionet.org/physiobank/annotations.shtml”uhŒE`Physionet `__”h]”h/Œ Physionet”…”}”’”}”(hj»hhubah j‡ubh/Œ.”…”}”’”}”(hj hj¢ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K‘ubh9)}”’”}”(hjhŒ�**ECG\_annotations\_start\_end\_idx**, are the start and end indexes corresponding to the first and last element of ECG_annotations in the current iteration.”h]”(j&)}”’”}”(hjÙhŒ%**ECG\_annotations\_start\_end\_idx**”h]”h/ŒECG_annotations_start_end_idx”…”}”’”}”(hjÞhhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œx, are the start and end indexes corresponding to the first and last element of ECG_annotations in the current iteration.”…”}”’”}”(hjÙhŒx, are the start and end indexes corresponding to the first and last element of ECG_annotations in the current iteration.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h jxh7Nhhubh9)}”’”}”(hj¨hŒlas a result, this method must produce a **payload** variable, that will be handled by the ECGwrapper object.”h]”(h/Œ(as a result, this method must produce a ”…”}”’”}”(hjhŒ(as a result, this method must produce a ”ubj&)}”’”}”(hjhŒ **payload**”h]”h/Œpayload”…”}”’”}”(hj hhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ9 variable, that will be handled by the ECGwrapper object.”…”}”’”}”(hjhŒ9 variable, that will be handled by the ECGwrapper object.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K—hhubh9)}”’”}”(hj¨hŒ]``Concatenate`` — This method is responsible of the payload union after all the processing.”h]”(hÇ)}”’”}”(hj'hŒ``Concatenate``”h]”h/Œ Concatenate”…”}”’”}”(hj,hhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubh/ŒN — This method is responsible of the payload union after all the processing.”…”}”’”}”(hj'hŒN — This method is responsible of the payload union after all the processing.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K™hhubh9)}”’”}”(hj¨hŒÄAfter the execution of all *Process* steps, each payload must be put together with this method. The ECGwrapper object will call this method once for each payload created, building a final payload.”h]”(h/ŒAfter the execution of all ”…”}”’”}”(hjHhŒAfter the execution of all ”ubhŒemphasis”“”)}”’”}”(hjHhŒ *Process*”h]”h/ŒProcess”…”}”’”}”(hjUhhubah!}”(h#]”h%]”h']”h)]”h+]”uh jRubh/Œ  steps, each payload must be put together with this method. The ECGwrapper object will call this method once for each payload created, building a final payload.”…”}”’”}”(hjHhŒ  steps, each payload must be put together with this method. The ECGwrapper object will call this method once for each payload created, building a final payload.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K›hhubj")}”’”}”(hj¨hŒpayload = Concatenate(plA, plB)”h]”h/Œpayload = Concatenate(plA, plB)”…”}”’”}”(hjqhjsubah!}”(h%]”j/ah']”h#]”h+]”j3j4h)]”uh5h6h j!h7K¢hhubh9)}”’”}”(hj¨hŒwhere the arguments are:”h]”h/Œwhere the arguments are:”…”}”’”}”(hj�hjƒubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K£hhubjy)}”’”}”(hj¨hhh]”h9)}”’”}”(hj‘hŒH**plA** and **plB**, are two payloads created with the *Process* method.”h]”(j&)}”’”}”(hj•hŒ**plA**”h]”h/ŒplA”…”}”’”}”(hjšhhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ and ”…”}”’”}”(hj•hŒ and ”ubj&)}”’”}”(hj•hŒ**plB**”h]”h/ŒplB”…”}”’”}”(hj°hhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ$, are two payloads created with the ”…”}”’”}”(hj•hŒ$, are two payloads created with the ”ubjS)}”’”}”(hj•hŒ *Process*”h]”h/ŒProcess”…”}”’”}”(hjÆhhubah!}”(h#]”h%]”h']”h)]”h+]”uh jRubh/Œ method.”…”}”’”}”(hj•hŒ method.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K¥ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h jxh7Nhhubh9)}”’”}”(hj¨hŒSand as a result, this method creates **payload**, the union of **plA** and **plB**.”h]”(h/Œ%and as a result, this method creates ”…”}”’”}”(hjèhŒ%and as a result, this method creates ”ubj&)}”’”}”(hjèhŒ **payload**”h]”h/Œpayload”…”}”’”}”(hjóhhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ, the union of ”…”}”’”}”(hjèhŒ, the union of ”ubj&)}”’”}”(hjèhŒ**plA**”h]”h/ŒplA”…”}”’”}”(hj hhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ and ”…”}”’”}”(hjèhŒ and ”ubj&)}”’”}”(hjèhŒ**plB**”h]”h/ŒplB”…”}”’”}”(hjhhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ.”…”}”’”}”(hjèhj¢ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K§hhubh9)}”’”}”(hj¨hŒM``Finish`` — This task perform the last calculation over the whole payload.”h]”(hÇ)}”’”}”(hj:hŒ ``Finish``”h]”h/ŒFinish”…”}”’”}”(hj?hhubah!}”(h#]”h%]”h']”h)]”h+]”uh hÆubh/ŒC — This task perform the last calculation over the whole payload.”…”}”’”}”(hj:hŒC — This task perform the last calculation over the whole payload.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Kªhhubh9)}”’”}”(hj¨hŒoAfter the concatenation of payloads, the whole payload is sent to this method to perform any final calculation.”h]”h/ŒoAfter the concatenation of payloads, the whole payload is sent to this method to perform any final calculation.”…”}”’”}”(hj[hj]ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K¬hhubj")}”’”}”(hj¨hŒ*payload = Finish(obj, payload, ECG_header)”h]”h/Œ*payload = Finish(obj, payload, ECG_header)”…”}”’”}”(hjkhjmubah!}”(h%]”j/ah']”h#]”h+]”j3j4h)]”uh5h6h j!h7K²hhubh9)}”’”}”(hj¨hŒwhere the arguments are:”h]”h/Œwhere the arguments are:”…”}”’”}”(hj{hj}ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K³hhubjy)}”’”}”(hj¨hhh]”(h9)}”’”}”(hj‹hŒQ**payload**, is the payload created with all the *Concatenate* method invocation.”h]”(j&)}”’”}”(hj�hŒ **payload**”h]”h/Œpayload”…”}”’”}”(hj”hhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ&, is the payload created with all the ”…”}”’”}”(hj�hŒ&, is the payload created with all the ”ubjS)}”’”}”(hj�hŒ *Concatenate*”h]”h/Œ Concatenate”…”}”’”}”(hjªhhubah!}”(h#]”h%]”h']”h)]”h+]”uh jRubh/Œ method invocation.”…”}”’”}”(hj�hŒ method invocation.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Kµubh9)}”’”}”(hj‹hŒx**ECG\_header**, is a struct with info about the ECG signal, See :ref:`here ` for a description.”h]”(j&)}”’”}”(hjÆhŒ**ECG\_header**”h]”h/Œ ECG_header”…”}”’”}”(hjËhhubah!}”(h#]”h%]”h']”h)]”h+]”uh j%ubh/Œ2, is a struct with info about the ECG signal, See ”…”}”’”}”(hjÆhŒ2, is a struct with info about the ECG signal, See ”ubhÀ)}”’”}”(hjÆhŒ$:ref:`here `”h]”jC)}”’”}”(hjáhjãh]”h/Œhere”…”}”’”}”(hjæhhubah!}”(h#]”h%]”(hÔŒstd”Œstd-ref”eh']”h)]”h+]”uh jBubah!}”(hÚh[h%]”hÜŒecg_header_description”h']”Œreftype”Œref”h#]”h+]”Œ refdomain”jñh㈌ refexplicit”ˆh)]”uh5h6h h¿h7K·ubh/Œ for a description.”…”}”’”}”(hjÆhŒ for a description.”ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7K·ubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h jxh7Nhhubh9)}”’”}”(hj¨hŒaAs a result, the final payload is generated, which later will be stored by the ECGwrapper object.”h]”h/ŒaAs a result, the final payload is generated, which later will be stored by the ECGwrapper object.”…”}”’”}”(hj hj ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7Kºhhubeh!}”(h#]”Œmethods”ah%]”h']”h)]”Œmethods”ah+]”uh5h6h hh7Kahhubh)}”’”}”(hhhhh]”(h)}”’”}”(hj, hŒ More About”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h/Œ More About”…”}”’”}”(hj0 hj2 ubah5h6h hh7K¿hhubj=)}”’”}”(hj, hhh!}”(h%]”jCjDh']”h#]”h+]”h)]”uh]”(jK)}”’”}”(hj@ hŒ)`Physionet.org `__”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hjJ hjL h]”jˆ)}”’”}”(hjU h!}”(h%]”Œname”Œ Physionet.org”h']”h#]”h+]”h)]”j”Œhttp://physionet.org/”uhjL h]”h/Œ Physionet.org”…”}”’”}”(hjY hhubah j‡ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KÁubah5h6h jJh7NhhubjK)}”’”}”(hj@ hŒI`Telemetric and Holter ECG Warehouse (THEW) `__”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hjq hŒI`Telemetric and Holter ECG Warehouse (THEW) `__”h]”jˆ)}”’”}”(hj| h!}”(h%]”Œname”Œ*Telemetric and Holter ECG Warehouse (THEW)”h']”h#]”h+]”h)]”j”Œhttp://thew-project.org/”uhj~ h]”h/Œ*Telemetric and Holter ECG Warehouse (THEW)”…”}”’”}”(hj� hhubah j‡ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KÂubah5h6h jJh7NhhubjK)}”’”}”(hj@ hŒ‚`Pablo Laguna research group at University of Zaragoza `__”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hj™ hŒ‚`Pablo Laguna research group at University of Zaragoza `__”h]”jˆ)}”’”}”(hj¤ h!}”(h%]”Œname”Œ5Pablo Laguna research group at University of Zaragoza”h']”h#]”h+]”h)]”j”ŒFhttp://diec.unizar.es/~laguna/personal/publicaciones/publicaciones.htm”uhj¦ h]”h/Œ5Pablo Laguna research group at University of Zaragoza”…”}”’”}”(hj© hhubah j‡ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KÄubah5h6h jJh7NhhubjK)}”’”}”(hj@ hŒ1`Computing in Cardiology `__ ”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h9)}”’”}”(hjÁ hŒ.`Computing in Cardiology `__”h]”jˆ)}”’”}”(hjÌ h!}”(h%]”Œname”ŒComputing in Cardiology”h']”h#]”h+]”h)]”j”Œhttp://cinc.org/”uhjÎ h]”h/ŒComputing in Cardiology”…”}”’”}”(hjÑ hhubah j‡ubah!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KÆubah5h6h jJh7Nhhubeh5h6h j<h7KÁhhubeh!}”(h#]”Œ more-about”ah%]”h']”h)]”Œ more about”ah+]”uh5h6h hh7K¿hhubh)}”’”}”(hhhhh]”(h)}”’”}”(hjñ hŒSee Also”h!}”(h#]”h%]”h']”h)]”h+]”uh]”h/ŒSee Also”…”}”’”}”(hjõ hj÷ ubah5h6h hh7KËhhubh9)}”’”}”(hjñ hŒz:doc:`ECGwrapper ` \| :doc:`ECG\_delineation ` \| :doc:`list\_all\_ECGtask `”h]”(hÀ)}”’”}”(hj hŒ:doc:`ECGwrapper `”h]”hÇ)}”’”}”(hj hj h]”h/Œ ECGwrapper”…”}”’”}”(hj hhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒ ECGwrapper”h']”Œreftype”j h#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7KÍubh/Œ | ”…”}”’”}”(hj hŒ \| ”ubhÀ)}”’”}”(hj hŒ(:doc:`ECG\_delineation `”h]”hÇ)}”’”}”(hj/ hj1 h]”h/ŒECG_delineation”…”}”’”}”(hj4 hhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒECGdelineation”h']”Œreftype”j? h#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7KÍubh/Œ | ”…”}”’”}”(hj hŒ \| ”ubhÀ)}”’”}”(hj hŒ,:doc:`list\_all\_ECGtask `”h]”hÇ)}”’”}”(hjT hjV h]”h/Œlist_all_ECGtask”…”}”’”}”(hjY hhubah!}”(h#]”h%]”(hÔŒdoc”eh']”h)]”h+]”uh hÆubah!}”(hÚh[h%]”hÜŒlist_all_ECGtask”h']”Œreftype”jd h#]”h+]”Œ refdomain”hh㈌ refexplicit”ˆh)]”uh5h6h h¿h7KÍubeh!}”(h#]”h%]”h']”h)]”h+]”uh5h6h h8h7KÍhhubeh!}”(h#]”Œsee-also”ah%]”h']”h)]”Œsee also”ah+]”uh5h6h hh7KËhhubeh!}”(h#]”Œecgtask”ah%]”h']”h)]”Œecgtask”ah+]”uh5h6h hh7KhhubaŒautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)}”’”}”(Œenv”NhNŒconfig”NŒ source_url”NŒauto_id_prefix”Œid”Œ generator”NŒtrim_footnote_reference_space”‰Œ toc_backlinks”Œentry”Œexit_status_level”KŒdump_pseudo_xml”NŒgettext_compact”ˆŒwarning_stream”NŒ _destination”NŒoutput_encoding”Œutf-8”Œ language_code”Œen”Œstrip_comments”NŒ sectnum_xform”KŒsyntax_highlight”Œlong”Œ docinfo_xform”KŒpep_references”NŒ rfc_base_url”Œhttps://tools.ietf.org/html/”Œerror_encoding_error_handler”Œbackslashreplace”Œsectsubtitle_xform”‰Œ dump_settings”NŒ datestamp”NŒdump_transforms”NŒrfc_references”NŒ pep_base_url”Œ https://www.python.org/dev/peps/”Œdebug”NŒ strip_classes”NŒ halt_level”KŒ smart_quotes”‰Œstrict_visitor”NŒ raw_enabled”KŒpep_file_url_template”Œpep-%04d”Œ _config_files”]”Œstrip_elements_with_classes”NŒinput_encoding_error_handler”Œstrict”Œfootnote_backlinks”KŒerror_encoding”Œcp850”Œ report_level”KŒinput_encoding”Œ utf-8-sig”Œ_disable_config”NŒ traceback”ˆŒ id_prefix”hŒcloak_email_addresses”ˆŒ tab_width”KŒoutput_encoding_error_handler”jÀ Œfile_insertion_enabled”ˆŒexpose_internals”NŒrecord_dependencies”NŒ_source”h6Œdump_internals”NŒembed_stylesheet”‰Œdoctitle_xform”‰Œ source_link”NubŒ current_line”NŒ citation_refs”}”Œparse_messages”]”Œsubstitution_names”}”h!}”(h%]”Œsource”h6h']”h#]”h+]”h)]”uŒ citations”]”hhŒids”}”(jê j, j‚ hj% j¨j¡jþj÷h‰jz jñ uŒrefnames”}”Œrefids”}”Œsymbol_footnote_refs”]”Œsymbol_footnotes”]”Œsubstitution_defs”}”Œid_start”KŒnameids”}”(j~ jz j† j‚ j) j% j¥j¡jûj÷jî jê uŒ nametypes”}”(j~ Nj† Nj) Nj¥NjûNjî NuŒautofootnote_start”KŒindirect_targets”]”Œ autofootnotes”]”Œ footnotes”]”ub.