€•¦–Œdocutils.nodes”Œdocument”“”)}”’”}”(Œreporter”NŒsymbol_footnote_start”KŒcurrent_source”NŒ footnote_refs”}”Œtransform_messages”]”(hŒsystem_message”“”)}”’”}”(Œ rawsource”Œ”Œchildren”]”hŒ paragraph”“”)}”’”}”(Œparent”hhhh]”hŒText”“”ŒKHyperlink target "adding-a-custom-delineation-algorithm" is not referenced.”…”}”’”}”(hhhhubaŒ attributes”}”(Œids”]”Œclasses”]”Œbackrefs”]”Œnames”]”Œdupnames”]”uŒtagname”hubah$}”(h(]”Œsource”Œ=D:\Mariano\misc\ecg-kit\help\sphinx\source\ECGdelineation.rst”Œlevel”Kh*]”h&]”h.]”Œtype”ŒINFO”h,]”Œline”K5uh0h ubh)}”’”}”(hhh]”h)}”’”}”(hh>hhh]”hŒ`__ algorithm.”h]”(hŒGAutomatic wave segmentation or delineation is exclusively performed by ”…”}”’”}”(hhÖhŒGAutomatic wave segmentation or delineation is exclusively performed by ”ubhŒ reference”“”)}”’”}”(hhÖh$}”(h(]”Œname”Œwavedet”h*]”h&]”h.]”h,]”Œrefuri”ŒGhttp://diec.unizar.es/~laguna/personal/publicaciones/wavedet_tbme04.pdf”uhŒU`wavedet `__”h]”hŒwavedet”…”}”’”}”(hhãhhubah0hàubhŒ algorithm.”…”}”’”}”(hhÖhŒ algorithm.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K hhubeh$}”(h&]”Œ description”ah(]”h*]”h,]”Œ description”ah.]”uh¯h4h0h—h°K hhubh˜)}”’”}”(hhšhhh]”(hž)}”’”}”(hj hŒInput Arguments”h$}”(h&]”h(]”h*]”h,]”h.]”uh]”hŒInput Arguments”…”}”’”}”(hjhjubah¯h4h0h�h°Khhubh)}”’”}”(hj hŒ5The properties that this task uses are the following:”h]”hŒ5The properties that this task uses are the following:”…”}”’”}”(hjhj!ubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Khhubh)}”’”}”(hj hŒY``progress_handle`` — Used to track the progress within your function. ``[] (default)``”h]”(hŒliteral”“”)}”’”}”(hj/hŒ``progress_handle``”h]”hŒprogress_handle”…”}”’”}”(hj6hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ6 — Used to track the progress within your function. ”…”}”’”}”(hj/hŒ6 — Used to track the progress within your function. ”ubj4)}”’”}”(hj/hŒ``[] (default)``”h]”hŒ [] (default)”…”}”’”}”(hjLhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KhhubhŒ block_quote”“”)}”’”}”(hj hhh]”h)}”’”}”(hjdhŒ‹progress\_handle, is a handle to a :doc:`progress\_bar ` object, that can be used to track the progress within your function.”h]”(hŒ"progress_handle, is a handle to a ”…”}”’”}”(hjhhŒ#progress\_handle, is a handle to a ”ubŒsphinx.addnodes”Œ pending_xref”“”)}”’”}”(hjhhŒ#:doc:`progress\_bar `”h]”j4)}”’”}”(hjvhjxh]”hŒ progress_bar”…”}”’”}”(hj{hhubah$}”(h&]”h(]”(Œxref”Œdoc”eh*]”h,]”h.]”uh0j3ubah$}”(Œrefdoc”ŒECGdelineation”h(]”Œ reftarget”Œ progress_bar”h*]”Œreftype”j‡h&]”h.]”Œ refdomain”hŒrefwarn”ˆŒ refexplicit”ˆh,]”uh¯h4h0jsh°KubhŒE object, that can be used to track the progress within your function.”…”}”’”}”(hjhhŒE object, that can be used to track the progress within your function.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Kubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0jah°Nhhubh)}”’”}”(hj hŒJ``tmp_path`` — The path to store temporary data. ``tempdir() (default)``”h]”(j4)}”’”}”(hj¬hŒ ``tmp_path``”h]”hŒtmp_path”…”}”’”}”(hj±hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ' — The path to store temporary data. ”…”}”’”}”(hj¬hŒ' — The path to store temporary data. ”ubj4)}”’”}”(hj¬hŒ``tempdir() (default)``”h]”hŒtempdir() (default)”…”}”’”}”(hjÇhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Khhubjb)}”’”}”(hj hhh]”h)}”’”}”(hjÝhŒ/Full path to a directory with write privileges.”h]”hŒ/Full path to a directory with write privileges.”…”}”’”}”(hjáhjãubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Kubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0jah°Nhhubh)}”’”}”(hj hŒY``delineators`` — The ECG delineation algorithms to use ``'all-delineators' (default)``”h]”(j4)}”’”}”(hj÷hŒ``delineators``”h]”hŒ delineators”…”}”’”}”(hjühhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ+ — The ECG delineation algorithms to use ”…”}”’”}”(hj÷hŒ+ — The ECG delineation algorithms to use ”ubj4)}”’”}”(hj÷hŒ``'all-delineators' (default)``”h]”hŒ'all-delineators' (default)”…”}”’”}”(hjhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Khhubjb)}”’”}”(hj hhh]”(h)}”’”}”(hj(hŒgThis property controls which algorithms are used. A cell string or char with any of the following names”h]”hŒgThis property controls which algorithms are used. A cell string or char with any of the following names”…”}”’”}”(hj,hj.ubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KubhŒ bullet_list”“”)}”’”}”(hj(h$}”(h(]”Œbullet”Œ-”h*]”h&]”h.]”h,]”uhhh]”(hŒ list_item”“”)}”’”}”(hj>h$}”(h&]”h(]”h*]”h,]”h.]”uhŒ*'all-delineators'* ”h]”h)}”’”}”(hjLhŒ*'all-delineators'*”h]”hŒemphasis”“”)}”’”}”(hjWhjYh]”hŒ'all-delineators'”…”}”’”}”(hj^hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j[ubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K ubah0jIubjJ)}”’”}”(hj>h$}”(h&]”h(]”h*]”h,]”h.]”uhŒZ`'wavedet' `__ ”h]”h)}”’”}”(hjshŒW`'wavedet' `__”h]”há)}”’”}”(hj~h$}”(h(]”Œname”Œ 'wavedet'”h*]”h&]”h.]”h,]”híŒGhttp://diec.unizar.es/~laguna/personal/publicaciones/wavedet_tbme04.pdf”uhj€h]”hŒ 'wavedet'”…”}”’”}”(hjƒhhubah0hàubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K"ubah0jIubeh0j;ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯Nh0jah°Nhhubh)}”’”}”(hj hŒB``only_ECG_leads`` — Process only ECG signals ``true (default)``”h]”(j4)}”’”}”(hj¡hŒ``only_ECG_leads``”h]”hŒonly_ECG_leads”…”}”’”}”(hj¦hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ — Process only ECG signals ”…”}”’”}”(hj¡hŒ — Process only ECG signals ”ubj4)}”’”}”(hj¡hŒ``true (default)``”h]”hŒtrue (default)”…”}”’”}”(hj¼hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K&hhubjb)}”’”}”(hj hhh]”h)}”’”}”(hjÒhŒ]Boolean value. Find out which signals are ECG based on their ``ECG_header.desc`` description.”h]”(hŒ=Boolean value. Find out which signals are ECG based on their ”…”}”’”}”(hjÖhŒ=Boolean value. Find out which signals are ECG based on their ”ubj4)}”’”}”(hjÖhŒ``ECG_header.desc``”h]”hŒECG_header.desc”…”}”’”}”(hjáhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ description.”…”}”’”}”(hjÖhŒ description.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K(ubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0jah°Nhhubh)}”’”}”(hj hŒV``wavedet_config`` — A structure for configuring wavedet algorithm. ``[] (default)``”h]”(j4)}”’”}”(hjhŒ``wavedet_config``”h]”hŒwavedet_config”…”}”’”}”(hjhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ4 — A structure for configuring wavedet algorithm. ”…”}”’”}”(hjhŒ4 — A structure for configuring wavedet algorithm. ”ubj4)}”’”}”(hjhŒ``[] (default)``”h]”hŒ [] (default)”…”}”’”}”(hjhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K+hhubjb)}”’”}”(hj hhh]”h)}”’”}”(hj4hŒ=Undocumented yet, use it only if you know what you are doing.”h]”hŒ=Undocumented yet, use it only if you know what you are doing.”…”}”’”}”(hj8hj:ubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K-ubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0jah°Nhhubh)}”’”}”(hj hŒ>``payload`` — An arbitrary format variable. ``[] (default)``”h]”(j4)}”’”}”(hjNhŒ ``payload``”h]”hŒpayload”…”}”’”}”(hjShhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ# — An arbitrary format variable. ”…”}”’”}”(hjNhŒ# — An arbitrary format variable. ”ubj4)}”’”}”(hjNhŒ``[] (default)``”h]”hŒ [] (default)”…”}”’”}”(hjihhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K/hhubjb)}”’”}”(hj hhh]”h)}”’”}”(hjhŒÚThis variable can be useful for passing data to your own delineation function (described :ref:`below `) or to provide visually audited QRS detections to the delineation algorithm.”h]”(hŒYThis variable can be useful for passing data to your own delineation function (described ”…”}”’”}”(hjƒhŒYThis variable can be useful for passing data to your own delineation function (described ”ubjt)}”’”}”(hjƒhŒ4:ref:`below `”h]”hŒinline”“”)}”’”}”(hjŽhj�h]”hŒbelow”…”}”’”}”(hj•hhubah$}”(h&]”h(]”(j†Œstd”Œstd-ref”eh*]”h,]”h.]”uh0j’ubah$}”(jŒj�h(]”j�Œ%adding_a_custom_delineation_algorithm”h*]”Œreftype”Œref”h&]”h.]”Œ refdomain”j j–ˆŒ refexplicit”ˆh,]”uh¯h4h0jsh°K1ubhŒM) or to provide visually audited QRS detections to the delineation algorithm.”…”}”’”}”(hjƒhŒM) or to provide visually audited QRS detections to the delineation algorithm.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K1ubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0jah°NhhubhŒtarget”“”)}”’”}”(hj hŒ*.. _Adding_a_custom_delineation_algorithm:”h]”h$}”(h(]”h*]”h&]”h.]”Œrefid”Œ%adding-a-custom-delineation-algorithm”h,]”uh¯h4h0jÂh°K5hhubeh$}”(h&]”Œinput-arguments”ah(]”h*]”h,]”Œinput arguments”ah.]”uh¯h4h0h—h°Khhubh˜)}”’”}”(hhšhhh]”(hž)}”’”}”(hjÚhŒ%Adding a custom delineation algorithm”h$}”(h&]”h(]”h*]”h,]”h.]”uh]”hŒ%Adding a custom delineation algorithm”…”}”’”}”(hjÞhjàubah¯h4h0h�h°K8hhubh)}”’”}”(hjÚhŒjAdding your own delineator to the kit is very simple. Ensure that your function implements this interface:”h]”hŒjAdding your own delineator to the kit is very simple. Ensure that your function implements this interface:”…”}”’”}”(hjîhjðubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K:hhubhŒ literal_block”“”)}”’”}”(hjÚhŒŽfunction [positions_single_lead, position_multilead] = your_ECG_delineation( ECG_matrix, ECG_header, progress_handle, payload_in)”h]”hŒŽfunction [positions_single_lead, position_multilead] = your_ECG_delineation( ECG_matrix, ECG_header, progress_handle, payload_in)”…”}”’”}”(hjhŒŽfunction [positions_single_lead, position_multilead] = your_ECG_delineation( ECG_matrix, ECG_header, progress_handle, payload_in)”ubah$}”(h(]”Œcode”ah*]”h&]”h.]”Œ xml:space”Œpreserve”h,]”uh¯h4h0jýh°KChhubh)}”’”}”(hjÚhŒwhere the arguments are:”h]”hŒwhere the arguments are:”…”}”’”}”(hjhjubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KDhhubjb)}”’”}”(hjÚhhh]”(h)}”’”}”(hj$hŒF**ECG\_matrix**, is a matrix size [ECG\_header.nsamp ECG\_header.nsig]”h]”(hŒstrong”“”)}”’”}”(hj(hŒ**ECG\_matrix**”h]”hŒ ECG_matrix”…”}”’”}”(hj/hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j,ubhŒ5, is a matrix size [ECG_header.nsamp ECG_header.nsig]”…”}”’”}”(hj(hŒ7, is a matrix size [ECG\_header.nsamp ECG\_header.nsig]”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KFubjÃ)}”’”}”(hj$hŒ.. _ECG_header_description:”h]”h$}”(h(]”h*]”h&]”h.]”jÎŒecg-header-description”h,]”uh0jÂh°KHubh)}”’”}”(hj$hŒE**ECG\_header**, is a struct with info about the ECG signal, such as:”h]”(j-)}”’”}”(hjWhŒ**ECG\_header**”h]”hŒ ECG_header”…”}”’”}”(hj\hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j,ubhŒ6, is a struct with info about the ECG signal, such as:”…”}”’”}”(hjWhŒ6, is a struct with info about the ECG signal, such as:”ubeh$}”(h&]”jTah(]”h*]”h,]”Œecg_header_description”ah.]”uh¯h4Œexpect_referenced_by_id”}”jTjKsŒexpect_referenced_by_name”}”jvjKsh0hh°KJubjb)}”’”}”(hj$hhh]”(j<)}”’”}”(hj}h$}”(h(]”jBjCh*]”h&]”h.]”h,]”uhhh]”(jJ)}”’”}”(hj�h$}”(h&]”h(]”h*]”h,]”h.]”uhŒ9*freq*, is the sampling frequency of ECG\_matrix signal. ”h]”h)}”’”}”(hj‹hŒ8*freq*, is the sampling frequency of ECG\_matrix signal.”h]”(j\)}”’”}”(hj–hŒ*freq*”h]”hŒfreq”…”}”’”}”(hj›hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j[ubhŒ1, is the sampling frequency of ECG_matrix signal.”…”}”’”}”(hj–hŒ2, is the sampling frequency of ECG\_matrix signal.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KLubah0jIubjJ)}”’”}”(hj�h$}”(h&]”h(]”h*]”h,]”h.]”uhŒ=*desc*, description strings about each of the leads/signals. ”h]”h)}”’”}”(hj·hŒ<*desc*, description strings about each of the leads/signals.”h]”(j\)}”’”}”(hjÂhŒ*desc*”h]”hŒdesc”…”}”’”}”(hjÇhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j[ubhŒ6, description strings about each of the leads/signals.”…”}”’”}”(hjÂhŒ6, description strings about each of the leads/signals.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KNubah0jIubjJ)}”’”}”(hj�h$}”(h&]”h(]”h*]”h,]”h.]”uhŒ1*nsamp* is the number of samples of ECG\_matrix. ”h]”h)}”’”}”(hjãhŒ0*nsamp* is the number of samples of ECG\_matrix.”h]”(j\)}”’”}”(hjîhŒ*nsamp*”h]”hŒnsamp”…”}”’”}”(hjóhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j[ubhŒ( is the number of samples of ECG_matrix.”…”}”’”}”(hjîhŒ) is the number of samples of ECG\_matrix.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KPubah0jIubjJ)}”’”}”(hj�h$}”(h&]”h(]”h*]”h,]”h.]”uhŒ9*nsig* is the amount of leads or signals of ECG\_matrix. ”h]”h)}”’”}”(hjhŒ8*nsig* is the amount of leads or signals of ECG\_matrix.”h]”(j\)}”’”}”(hjhŒ*nsig*”h]”hŒnsig”…”}”’”}”(hjhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j[ubhŒ1 is the amount of leads or signals of ECG_matrix.”…”}”’”}”(hjhŒ2 is the amount of leads or signals of ECG\_matrix.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KRubah0jIubjJ)}”’”}”(hj�h$}”(h&]”h(]”h*]”h,]”h.]”uhŒS*gain* is a vector of [nsig × 1] with the gain of each lead ( ADCsamples / μV ). ”h]”h)}”’”}”(hj;hŒR*gain* is a vector of [nsig × 1] with the gain of each lead ( ADCsamples / μV ).”h]”(j\)}”’”}”(hjFhŒ*gain*”h]”hŒgain”…”}”’”}”(hjKhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j[ubhŒL is a vector of [nsig × 1] with the gain of each lead ( ADCsamples / μV ).”…”}”’”}”(hjFhŒL is a vector of [nsig × 1] with the gain of each lead ( ADCsamples / μV ).”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KTubah0jIubjJ)}”’”}”(hj�h$}”(h&]”h(]”h*]”h,]”h.]”uhŒR*adczero* is a vector of [nsig × 1] with the offset of each lead in ADC samples. ”h]”h)}”’”}”(hjghŒQ*adczero* is a vector of [nsig × 1] with the offset of each lead in ADC samples.”h]”(j\)}”’”}”(hjrhŒ *adczero*”h]”hŒadczero”…”}”’”}”(hjwhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j[ubhŒH is a vector of [nsig × 1] with the offset of each lead in ADC samples.”…”}”’”}”(hjrhŒH is a vector of [nsig × 1] with the offset of each lead in ADC samples.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KVubah0jIubeh0j;ubh)}”’”}”(hj}hŒiand others described in the `Physionet header `__.”h]”(hŒand others described in the ”…”}”’”}”(hj“hŒand others described in the ”ubhá)}”’”}”(hj“h$}”(h(]”Œname”ŒPhysionet header”h*]”h&]”h.]”h,]”híŒ5http://www.physionet.org/physiotools/wag/header-5.htm”uhŒL`Physionet header `__”h]”hŒPhysionet header”…”}”’”}”(hjžhhubah0hàubhŒ.”…”}”’”}”(hj“hŒ.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KXubeh$}”(h&]”h(]”h*]”h,]”h.]”uh0jaubh)}”’”}”(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]”(j-)}”’”}”(hjÃhŒ**progress\_handle**”h]”hŒprogress_handle”…”}”’”}”(hjÈhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j,ubhŒ, is a handle to a ”…”}”’”}”(hjÃhŒ, is a handle to a ”ubjt)}”’”}”(hjÃhŒ#:doc:`progress\_bar `”h]”j4)}”’”}”(hjÞhjàh]”hŒ progress_bar”…”}”’”}”(hjãhhubah$}”(h&]”h(]”(j†Œdoc”eh*]”h,]”h.]”uh0j3ubah$}”(jŒj�h(]”j�Œ progress_bar”h*]”Œreftype”jîh&]”h.]”Œ refdomain”hj–ˆŒ refexplicit”ˆh,]”uh¯h4h0jsh°KZubhŒE object, that can be used to track the progress within your function.”…”}”’”}”(hjÃhŒE object, that can be used to track the progress within your function.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KZubh)}”’”}”(hj$hŒ´**payload\_in**, is a user variable, of arbitrary format, allowed to be sent to your function. It is sent via the :ref:`payload property ` of this class, for example:”h]”(j-)}”’”}”(hj hŒ**payload\_in**”h]”hŒ payload_in”…”}”’”}”(hjhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j,ubhŒc, is a user variable, of arbitrary format, allowed to be sent to your function. It is sent via the ”…”}”’”}”(hj hŒc, is a user variable, of arbitrary format, allowed to be sent to your function. It is sent via the ”ubjt)}”’”}”(hj hŒ&:ref:`payload property `”h]”j“)}”’”}”(hj$hj&h]”hŒpayload property”…”}”’”}”(hj)hhubah$}”(h&]”h(]”(j†Œstd”Œstd-ref”eh*]”h,]”h.]”uh0j’ubah$}”(jŒj�h(]”j�Œ payload_prop”h*]”Œreftype”Œref”h&]”h.]”Œ refdomain”j4j–ˆŒ refexplicit”ˆh,]”uh¯h4h0jsh°K]ubhŒ of this class, for example:”…”}”’”}”(hj hŒ of this class, for example:”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K]ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0jah°Nhhubjþ)}”’”}”(hjÚhXÉ% One variable this_ECG_wrapper.ECGtaskHandle.payload = your_variable; % Several variables with a cell container this_ECG_wrapper.ECGtaskHandle.payload = {your_var1 your_var2}; % Or the result of a previous task, in this case QRS manual correction (if available) % or the automatic detection if not. cached_filenames = this_ECG_wrapper.GetCahchedFileName({'QRS_corrector' 'QRS_detection'}); this_ECG_wrapper.ECGtaskHandle.payload = load(cached_filenames);”h]”hXÉ% One variable this_ECG_wrapper.ECGtaskHandle.payload = your_variable; % Several variables with a cell container this_ECG_wrapper.ECGtaskHandle.payload = {your_var1 your_var2}; % Or the result of a previous task, in this case QRS manual correction (if available) % or the automatic detection if not. cached_filenames = this_ECG_wrapper.GetCahchedFileName({'QRS_corrector' 'QRS_detection'}); this_ECG_wrapper.ECGtaskHandle.payload = load(cached_filenames);”…”}”’”}”(hjWhXÉ% One variable this_ECG_wrapper.ECGtaskHandle.payload = your_variable; % Several variables with a cell container this_ECG_wrapper.ECGtaskHandle.payload = {your_var1 your_var2}; % Or the result of a previous task, in this case QRS manual correction (if available) % or the automatic detection if not. cached_filenames = this_ECG_wrapper.GetCahchedFileName({'QRS_corrector' 'QRS_detection'}); this_ECG_wrapper.ECGtaskHandle.payload = load(cached_filenames);”ubah$}”(h(]”j ah*]”h&]”h.]”jjh,]”uh¯h4h0jýh°Kmhhubh)}”’”}”(hjÚhŒ(and the output of your function must be:”h]”hŒ(and the output of your function must be:”…”}”’”}”(hjhhjjubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KnhhubjÃ)}”’”}”(hjÚhŒ.. _delineation_struct:”h]”h$}”(h(]”h*]”h&]”h.]”jÎŒdelineation-struct”h,]”uh¯h4h0jÂh°Kphhubjb)}”’”}”(hjÚhhh]”(h)}”’”}”(hj„hŒ”**positions\_single\_lead**, is an **structure array** of ``ECG_header.nsig`` elements with *at least* the following wave fiducial points as fields:”h]”(j-)}”’”}”(hjˆhŒ**positions\_single\_lead**”h]”hŒpositions_single_lead”…”}”’”}”(hj�hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j,ubhŒ, is an ”…”}”’”}”(hjˆhŒ, is an ”ubj-)}”’”}”(hjˆhŒ**structure array**”h]”hŒstructure array”…”}”’”}”(hj£hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j,ubhŒ of ”…”}”’”}”(hjˆhŒ of ”ubj4)}”’”}”(hjˆhŒ``ECG_header.nsig``”h]”hŒECG_header.nsig”…”}”’”}”(hj¹hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ elements with ”…”}”’”}”(hjˆhŒ elements with ”ubj\)}”’”}”(hjˆhŒ *at least*”h]”hŒat least”…”}”’”}”(hjÏhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j[ubhŒ. the following wave fiducial points as fields:”…”}”’”}”(hjˆhŒ. the following wave fiducial points as fields:”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Krubj<)}”’”}”(hj„h$}”(h(]”jBjCh*]”h&]”h.]”h,]”uhhh]”(jJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ``'Pon'`` P wave onset”h]”h)}”’”}”(hjõhjýh]”(j4)}”’”}”(hjhŒ ``'Pon'``”h]”hŒ'Pon'”…”}”’”}”(hjhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ P wave onset”…”}”’”}”(hjhŒ P wave onset”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Ktubah0jIubjJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ``'P'`` P wave peak”h]”h)}”’”}”(hj hj(h]”(j4)}”’”}”(hj+hŒ``'P'``”h]”hŒ'P'”…”}”’”}”(hj/hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ P wave peak”…”}”’”}”(hj+hŒ P wave peak”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Kuubah0jIubjJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ``'Poff'`` P wave offset”h]”h)}”’”}”(hjKhjSh]”(j4)}”’”}”(hjVhŒ ``'Poff'``”h]”hŒ'Poff'”…”}”’”}”(hjZhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ P wave offset”…”}”’”}”(hjVhŒ P wave offset”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Kvubah0jIubjJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ``'QRSon'`` QRS complex onset”h]”h)}”’”}”(hjvhj~h]”(j4)}”’”}”(hj�hŒ ``'QRSon'``”h]”hŒ'QRSon'”…”}”’”}”(hj…hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ QRS complex onset”…”}”’”}”(hj�hŒ QRS complex onset”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Kwubah0jIubjJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ:``'qrs'`` QRS fiducial point, obtained from QRS detection.”h]”h)}”’”}”(hj¡hj©h]”(j4)}”’”}”(hj¬hŒ ``'qrs'``”h]”hŒ'qrs'”…”}”’”}”(hj°hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ1 QRS fiducial point, obtained from QRS detection.”…”}”’”}”(hj¬hŒ1 QRS fiducial point, obtained from QRS detection.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Kxubah0jIubjJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ``'Q'`` Q wave peak”h]”h)}”’”}”(hjÌhjÔh]”(j4)}”’”}”(hj×hŒ``'Q'``”h]”hŒ'Q'”…”}”’”}”(hjÛhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ Q wave peak”…”}”’”}”(hj×hŒ Q wave peak”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Kyubah0jIubjJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ``'R'`` R wave peak”h]”h)}”’”}”(hj÷hjÿh]”(j4)}”’”}”(hjhŒ``'R'``”h]”hŒ'R'”…”}”’”}”(hjhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ R wave peak”…”}”’”}”(hjhŒ R wave peak”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Kzubah0jIubjJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ``'S'`` S wave peak”h]”h)}”’”}”(hj"hj*h]”(j4)}”’”}”(hj-hŒ``'S'``”h]”hŒ'S'”…”}”’”}”(hj1hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ S wave peak”…”}”’”}”(hj-hŒ S wave peak”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K{ubah0jIubjJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ``'QRSoff'`` QRS complex offset”h]”h)}”’”}”(hjMhjUh]”(j4)}”’”}”(hjXhŒ ``'QRSoff'``”h]”hŒ'QRSoff'”…”}”’”}”(hj\hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ QRS complex offset”…”}”’”}”(hjXhŒ QRS complex offset”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K|ubah0jIubjJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ``'Ton'`` T wave onset”h]”h)}”’”}”(hjxhj€h]”(j4)}”’”}”(hjƒhŒ ``'Ton'``”h]”hŒ'Ton'”…”}”’”}”(hj‡hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ T wave onset”…”}”’”}”(hjƒhŒ T wave onset”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K}ubah0jIubjJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ``'T'`` T wave peak”h]”h)}”’”}”(hj£hj«h]”(j4)}”’”}”(hj®hŒ``'T'``”h]”hŒ'T'”…”}”’”}”(hj²hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ T wave peak”…”}”’”}”(hj®hŒ T wave peak”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K~ubah0jIubjJ)}”’”}”(hjëh$}”(h&]”h(]”h*]”h,]”h.]”uhŒ``'Toff'`` T wave offset ”h]”h)}”’”}”(hjÎhŒ``'Toff'`` T wave offset”h]”(j4)}”’”}”(hjÙhŒ ``'Toff'``”h]”hŒ'Toff'”…”}”’”}”(hjÞhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ T wave offset”…”}”’”}”(hjÙhŒ T wave offset”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Kubah0jIubeh0j;ubh)}”’”}”(hj„hŒò**position\_multilead**, is a single structure with *at least* the wave fiducial points described above. This delineation is commonly calculated from the single lead delineations, in order to obtain a unique wave fiducial point per heartbeat.”h]”(j-)}”’”}”(hjúhŒ**position\_multilead**”h]”hŒposition_multilead”…”}”’”}”(hjÿhhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j,ubhŒ, is a single structure with ”…”}”’”}”(hjúhŒ, is a single structure with ”ubj\)}”’”}”(hjúhŒ *at least*”h]”hŒat least”…”}”’”}”(hj hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j[ubhŒ´ the wave fiducial points described above. This delineation is commonly calculated from the single lead delineations, in order to obtain a unique wave fiducial point per heartbeat.”…”}”’”}”(hjúhŒ´ the wave fiducial points described above. This delineation is commonly calculated from the single lead delineations, in order to obtain a unique wave fiducial point per heartbeat.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K�ubeh$}”(h&]”j�ah(]”h*]”h,]”Œdelineation_struct”ah.]”uh¯h4jx}”j�jxsjz}”j5 jxsh0jah°Nhhubeh$}”(h&]”(jÏŒid1”eh(]”h*]”h,]”(Œ%adding a custom delineation algorithm”Œ%adding_a_custom_delineation_algorithm”eh.]”uh¯h4jx}”jÏjÅsjz}”j@ jÅsh0h—h°K8hhubh˜)}”’”}”(hhšhhh]”(hž)}”’”}”(hjE hŒExamples”h$}”(h&]”h(]”h*]”h,]”h.]”uh]”hŒExamples”…”}”’”}”(hjI hjK ubah¯h4h0h�h°K‡hhubh)}”’”}”(hjE hŒ.Create the *ECGtask\_ECG\_delineation* object.”h]”(hŒ Create the ”…”}”’”}”(hjY hŒ Create the ”ubj\)}”’”}”(hjY hŒ*ECGtask\_ECG\_delineation*”h]”hŒECGtask_ECG_delineation”…”}”’”}”(hjd hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j[ubhŒ object.”…”}”’”}”(hjY hŒ object.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K‰hhubjþ)}”’”}”(hjE hŒ›% with the task name ECG_w.ECGtaskHandle = 'ECG_delineation'; % or create an specific handle to have more control ECGt = ECGtask_ECG_delineation();”h]”hŒ›% with the task name ECG_w.ECGtaskHandle = 'ECG_delineation'; % or create an specific handle to have more control ECGt = ECGtask_ECG_delineation();”…”}”’”}”(hj€ hŒ›% with the task name ECG_w.ECGtaskHandle = 'ECG_delineation'; % or create an specific handle to have more control ECGt = ECGtask_ECG_delineation();”ubah$}”(h(]”j ah*]”h&]”h.]”jjh,]”uh¯h4h0jýh°K‘hhubh)}”’”}”(hjE hŒpand then you are ready to set the algorithms to use. In the following example you have several possible set-ups.”h]”hŒpand then you are ready to set the algorithms to use. In the following example you have several possible set-ups.”…”}”’”}”(hj‘ hj“ ubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K’hhubjþ)}”’”}”(hjE hXi% select an specific algorithm. Default: Run all detectors         ECGt.delineators = 'wavedet'; % Wavedet algorithm based on         % "your_delineator_func_name" can be your own delineator. ECGt.delineators = 'user:your_delineator_func_name';         ECGt.delineators = {'wavedet' 'user:your_delineator_func_name'};”h]”hXi% select an specific algorithm. Default: Run all detectors         ECGt.delineators = 'wavedet'; % Wavedet algorithm based on         % "your_delineator_func_name" can be your own delineator. ECGt.delineators = 'user:your_delineator_func_name';         ECGt.delineators = {'wavedet' 'user:your_delineator_func_name'};”…”}”’”}”(hj¡ hXi% select an specific algorithm. Default: Run all detectors         ECGt.delineators = 'wavedet'; % Wavedet algorithm based on         % "your_delineator_func_name" can be your own delineator. ECGt.delineators = 'user:your_delineator_func_name';         ECGt.delineators = {'wavedet' 'user:your_delineator_func_name'};”ubah$}”(h(]”j ah*]”h&]”h.]”jjh,]”uh¯h4h0jýh°K�hhubh)}”’”}”(hjE hŒAFinally set the task to the wrapper object, and execute the task.”h]”hŒAFinally set the task to the wrapper object, and execute the task.”…”}”’”}”(hj² hj´ ubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Kžhhubjþ)}”’”}”(hjE hŒ:ECG_w.ECGtaskHandle= ECGt; % set the ECG task ECG_w.Run();”h]”hŒ:ECG_w.ECGtaskHandle= ECGt; % set the ECG task ECG_w.Run();”…”}”’”}”(hj hŒ:ECG_w.ECGtaskHandle= ECGt; % set the ECG task ECG_w.Run();”ubah$}”(h(]”j ah*]”h&]”h.]”jjh,]”uh¯h4h0jýh°K¤hhubh)}”’”}”(hjE hŒ¦You can check the result of this task, with either the :doc:`delineator corrector ` or the :doc:`visualization functions `.”h]”(hŒ7You can check the result of this task, with either the ”…”}”’”}”(hjÓ hŒ7You can check the result of this task, with either the ”ubjt)}”’”}”(hjÓ hŒ7:doc:`delineator corrector `”h]”j4)}”’”}”(hjÞ hjà h]”hŒdelineator corrector”…”}”’”}”(hjã hhubah$}”(h&]”h(]”(j†Œdoc”eh*]”h,]”h.]”uh0j3ubah$}”(jŒj�h(]”j�ŒECG_delineation_corrector”h*]”Œreftype”jî h&]”h.]”Œ refdomain”hj–ˆŒ refexplicit”ˆh,]”uh¯h4h0jsh°K¥ubhŒ or the ”…”}”’”}”(hjÓ hŒ or the ”ubjt)}”’”}”(hjÓ hŒ/:doc:`visualization functions `”h]”j4)}”’”}”(hj hj h]”hŒvisualization functions”…”}”’”}”(hj hhubah$}”(h&]”h(]”(j†Œdoc”eh*]”h,]”h.]”uh0j3ubah$}”(jŒj�h(]”j�Œplot_ecg_strip”h*]”Œreftype”j h&]”h.]”Œ refdomain”hj–ˆŒ refexplicit”ˆh,]”uh¯h4h0jsh°K¥ubhŒ.”…”}”’”}”(hjÓ hjµubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K¥hhubh)}”’”}”(hjE hŒSAlso check this :ref:`example ` for further information.”h]”(hŒAlso check this ”…”}”’”}”(hj- hŒAlso check this ”ubjt)}”’”}”(hj- hŒ*:ref:`example `”h]”j“)}”’”}”(hj8 hj: h]”hŒexample”…”}”’”}”(hj= hhubah$}”(h&]”h(]”(j†Œstd”Œstd-ref”eh*]”h,]”h.]”uh0j’ubah$}”(jŒj�h(]”j�Œecg_automatic_delineation”h*]”Œreftype”Œref”h&]”h.]”Œ refdomain”jH j–ˆŒ refexplicit”ˆh,]”uh¯h4h0jsh°K©ubhŒ for further information.”…”}”’”}”(hj- hŒ for further information.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K©hhubjÃ)}”’”}”(hjE hŒ.. _Delineation_result_format:”h]”h$}”(h(]”h*]”h&]”h.]”jÎŒdelineation-result-format”h,]”uh¯h4h0jÂh°K¬hhubeh$}”(h&]”Œexamples”ah(]”h*]”h,]”Œexamples”ah.]”uh¯h4h0h—h°K‡hhubh˜)}”’”}”(hhšhhh]”(hž)}”’”}”(hjy hŒResults format”h$}”(h&]”h(]”h*]”h,]”h.]”uh]”hŒResults format”…”}”’”}”(hj} hj ubah¯h4h0h�h°K¯hhubh)}”’”}”(hjy hXjThe result file will have a ``struct`` variable with the name of the algorithm (only *wavedet* at the time of writing this). Inside this, it will contain one :ref:`delineation struct ` per ECG lead in the ``ECG_header.desc`` field, plus another called ``multilead`` which is a delineation accounting with the information present in all leads.”h]”(hŒThe result file will have a ”…”}”’”}”(hj� hŒThe result file will have a ”ubj4)}”’”}”(hj� hŒ ``struct``”h]”hŒstruct”…”}”’”}”(hj˜ hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ/ variable with the name of the algorithm (only ”…”}”’”}”(hj� hŒ/ variable with the name of the algorithm (only ”ubj\)}”’”}”(hj� hŒ *wavedet*”h]”hŒwavedet”…”}”’”}”(hj® hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j[ubhŒ@ at the time of writing this). Inside this, it will contain one ”…”}”’”}”(hj� hŒ@ at the time of writing this). Inside this, it will contain one ”ubjt)}”’”}”(hj� hŒ.:ref:`delineation struct `”h]”j“)}”’”}”(hjÄ hjÆ h]”hŒdelineation struct”…”}”’”}”(hjÉ hhubah$}”(h&]”h(]”(j†Œstd”Œstd-ref”eh*]”h,]”h.]”uh0j’ubah$}”(jŒj�h(]”j�Œdelineation_struct”h*]”Œreftype”Œref”h&]”h.]”Œ refdomain”jÔ j–ˆŒ refexplicit”ˆh,]”uh¯h4h0jsh°K±ubhŒ per ECG lead in the ”…”}”’”}”(hj� hŒ per ECG lead in the ”ubj4)}”’”}”(hj� hŒ``ECG_header.desc``”h]”hŒECG_header.desc”…”}”’”}”(hjë hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒ field, plus another called ”…”}”’”}”(hj� hŒ field, plus another called ”ubj4)}”’”}”(hj� hŒ ``multilead``”h]”hŒ multilead”…”}”’”}”(hj hhubah$}”(h&]”h(]”h*]”h,]”h.]”uh0j3ubhŒM which is a delineation accounting with the information present in all leads.”…”}”’”}”(hj� hŒM which is a delineation accounting with the information present in all leads.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°K±hhubeh$}”(h&]”(Œresults-format”jn eh(]”h*]”h,]”(Œresults format”Œdelineation_result_format”eh.]”uh¯h4jx}”jn je sjz}”j# je sh0h—h°K¯hhubh˜)}”’”}”(hhšhhh]”(hž)}”’”}”(hj( hŒ More About”h$}”(h&]”h(]”h*]”h,]”h.]”uh]”hŒ More About”…”}”’”}”(hj, hj. ubah¯h4h0h�h°K¸hhubh)}”’”}”(hj( hŒThis publication describes the `wavedet `__ algorithm.”h]”(hŒThis publication describes the ”…”}”’”}”(hj< hŒThis publication describes the ”ubhá)}”’”}”(hj< h$}”(h(]”Œname”Œwavedet”h*]”h&]”h.]”h,]”híŒGhttp://diec.unizar.es/~laguna/personal/publicaciones/wavedet_tbme04.pdf”uhŒU`wavedet `__”h]”hŒwavedet”…”}”’”}”(hjG hhubah0hàubhŒ algorithm.”…”}”’”}”(hj< hŒ algorithm.”ubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°Kºhhubeh$}”(h&]”Œ more-about”ah(]”h*]”h,]”Œ more about”ah.]”uh¯h4h0h—h°K¸hhubh˜)}”’”}”(hhšhhh]”(hž)}”’”}”(hjn hŒSee Also”h$}”(h&]”h(]”h*]”h,]”h.]”uh]”hŒSee Also”…”}”’”}”(hjr hjt ubah¯h4h0h�h°K¿hhubjb)}”’”}”(hjn hhh]”h)}”’”}”(hj‚ hŒ^:doc:`ECGtask ` \| :doc:`QRS detection ` \| :doc:`examples `”h]”(jt)}”’”}”(hj† hŒ:doc:`ECGtask `”h]”j4)}”’”}”(hj‹ hj� h]”hŒECGtask”…”}”’”}”(hj� hhubah$}”(h&]”h(]”(j†Œdoc”eh*]”h,]”h.]”uh0j3ubah$}”(jŒj�h(]”j�ŒECGtask”h*]”Œreftype”j› h&]”h.]”Œ refdomain”hj–ˆŒ refexplicit”ˆh,]”uh¯h4h0jsh°KÁubhŒ | ”…”}”’”}”(hj† hŒ \| ”ubjt)}”’”}”(hj† hŒ$:doc:`QRS detection `”h]”j4)}”’”}”(hj° hj² h]”hŒ QRS detection”…”}”’”}”(hjµ hhubah$}”(h&]”h(]”(j†Œdoc”eh*]”h,]”h.]”uh0j3ubah$}”(jŒj�h(]”j�Œ QRS_detection”h*]”Œreftype”jÀ h&]”h.]”Œ refdomain”hj–ˆŒ refexplicit”ˆh,]”uh¯h4h0jsh°KÁubhŒ | ”…”}”’”}”(hj† hŒ \| ”ubjt)}”’”}”(hj† hŒ:doc:`examples `”h]”j4)}”’”}”(hjÕ hj× h]”hŒexamples”…”}”’”}”(hjÚ hhubah$}”(h&]”h(]”(j†Œdoc”eh*]”h,]”h.]”uh0j3ubah$}”(jŒj�h(]”j�Œexamples”h*]”Œreftype”jå h&]”h.]”Œ refdomain”hj–ˆŒ refexplicit”ˆh,]”uh¯h4h0jsh°KÁubeh$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0hh°KÁubah$}”(h&]”h(]”h*]”h,]”h.]”uh¯h4h0jah°Nhhubeh$}”(h&]”Œsee-also”ah(]”h*]”h,]”Œsee also”ah.]”uh¯h4h0h—h°K¿hhubeh$}”(h&]”Œecg-delineation”ah(]”h*]”h,]”Œecg delineation”ah.]”uh¯h4h0h—h°KhhubaŒautofootnote_refs”]”Œsettings”Œdocutils.frontend”ŒValues”“”)}”’”}”(Œenv”Nh�NŒ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”jG Œfile_insertion_enabled”ˆŒexpose_internals”NŒrecord_dependencies”NŒ_source”h4Œdump_internals”NŒembed_stylesheet”‰Œdoctitle_xform”‰Œ source_link”NubŒ current_line”NŒ citation_refs”}”Œparse_messages”]”Œsubstitution_names”}”h$}”(h(]”Œsource”h4h*]”h&]”h.]”h,]”uŒ citations”]”hhŒids”}”(j jy jTjWj�j„j; jÚj jn jg j( jn jy jÓj j hšjhÂjÏjÚjr jE uŒrefnames”}”Œrefids”}”(jT]”jKajÏ]”jÅajn ]”je aj�]”jxauŒsymbol_footnote_refs”]”Œsymbol_footnotes”]”Œsubstitution_defs”}”Œid_start”KŒnameids”}”(j j j# jn j" j jjj×jÓj@ jÏj? j; j5 j�j j jvjTjk jg jv jr uŒ nametypes”}”(j Nj# ˆj" NjNj×Nj@ ˆj? Nj5 ˆj Njvˆjk Njv NuŒautofootnote_start”KŒindirect_targets”]”Œ autofootnotes”]”Œ footnotes”]”ub.