docutils.nodesdocument)}}(reporterNsymbol_footnote_startKcurrent_sourceN footnote_refs}transform_messages](hsystem_message)}}( rawsourcechildren]h paragraph)}}(parenthhhh]hText1Hyperlink target "ecg-formats" is not referenced.}}(hhhhuba attributes}(ids]classes]backrefs]names]dupnames]utagnamehubah$}(h(]source9D:\Mariano\misc\ecg-kit\help\sphinx\source\ECGwrapper.rstlevelKh*]h&]h.]typeINFOh,]lineKTuh0h ubh)}}(hhh]h)}}(hh>hhh]h` and length.h](h:This class allows the access to ECG recordings of several }}(hhh:This class allows the access to ECG recordings of several ubh} pending_xref)}}(hhh:ref:`formats `h]hinline)}}(hhhhh]hformats}}(hhhhubah$}(h&]h(](xrefstdstd-refeh*]h,]h.]uh0hubah$}(refdochh(] reftarget ecg_formatsh*]reftyperefh&]h.] refdomainhČrefwarn refexplicith,]uhuh4h0hhvK ubh and length.}}(hhh and length.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvK hhubh^)}}(hh`hhh](hd)}}(hhhSyntaxh$}(h&]h(]h*]h,]h.]uh]hSyntax}}(hhhhubahuh4h0hchvKhhubh)}}(hhhYou can create an object without arguments, configuring its properties later. Or you can create it via pairs of PropertyName-PropertyValue pairs.h]hYou can create an object without arguments, configuring its properties later. Or you can create it via pairs of PropertyName-PropertyValue pairs.}}(hhhhubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubh literal_block)}}(hhhGECGw = ECGwrapper() ECGw = ECGwrapper( 'PropertyName', PropertyValue )h]hGECGw = ECGwrapper() ECGw = ECGwrapper( 'PropertyName', PropertyValue )}}(hj hGECGw = ECGwrapper() ECGw = ECGwrapper( 'PropertyName', PropertyValue )ubah$}(h(]codeah*]h&]h.] xml:spacepreserveh,]uhuh4h0jhvKhhubeh$}(h&]syntaxah(]h*]h,]syntaxah.]uhuh4h0h]hvKhhubh^)}}(hh`hhh](hd)}}(hj&h Descriptionh$}(h&]h(]h*]h,]h.]uh]h Description}}(hj*hj,ubahuh4h0hchvKhhubh)}}(hj&hXThis is the main class of the toolbox since it allows access to cardiovascular signal recordings of several formats (`MIT `__, `ISHNE `__, `AHA `__, HES, :doc:`MAT `) and lengths, from seconds to days. The objective of this class is to provide :doc:`ECGtask `  class, a common interface to access data and perform specific tasks. Briefly, this class sequentially reads data and passes to the Process method of the :doc:`ECGtask ` plugged in the `ECGtaskHandle <#inputarg_ECGtask>`__ property. Some common tasks, such as `QRS detection `__ and `ECG delineation `__, can be easily invoked. Also other predefined tasks or your own code can be adapted as is shown in the :doc:`examples `.h](huThis is the main class of the toolbox since it allows access to cardiovascular signal recordings of several formats (}}(hj:huThis is the main class of the toolbox since it allows access to cardiovascular signal recordings of several formats (ubh reference)}}(hj:h$}(h(]nameMITh*]h&]h.]h,]refuri5http://www.physionet.org/physiotools/wag/signal-5.htmuh?`MIT `__h]hMIT}}(hjGhhubah0jDubh, }}(hj:h, ubjE)}}(hj:h$}(h(]nameISHNEh*]h&]h.]h,]jQ*http://thew-project.org/THEWFileFormat.htmuh6`ISHNE `__h]hISHNE}}(hjahhubah0jDubh, }}(hj:h, ubjE)}}(hj:h$}(h(]nameAHAh*]h&]h.]h,]jQ4https://www.ecri.org/Products/Pages/AHA_ECG_DVD.aspxuh>`AHA `__h]hAHA}}(hjzhhubah0jDubh, HES, }}(hj:h, HES, ubh)}}(hj:h:doc:`MAT `h]hliteral)}}(hjhjh]hMAT}}(hjhhubah$}(h&]h(](hÌdoceh*]h,]h.]uh0jubah$}(hhh(]ȟ Matlab_formath*]reftypejh&]h.] refdomainhhԈ refexplicith,]uhuh4h0hhvKubhO) and lengths, from seconds to days. The objective of this class is to provide }}(hj:hO) and lengths, from seconds to days. The objective of this class is to provide ubh)}}(hj:h:doc:`ECGtask `h]j)}}(hjhjh]hECGtask}}(hjhhubah$}(h&]h(](hÌdoceh*]h,]h.]uh0jubah$}(hhh(]ȟECGtaskh*]reftypejh&]h.] refdomainhhԈ refexplicith,]uhuh4h0hhvKubh  class, a common interface to access data and perform specific tasks. Briefly, this class sequentially reads data and passes to the Process method of the }}(hj:h  class, a common interface to access data and perform specific tasks. Briefly, this class sequentially reads data and passes to the Process method of the ubh)}}(hj:h:doc:`ECGtask `h]j)}}(hjhjh]hECGtask}}(hjhhubah$}(h&]h(](hÌdoceh*]h,]h.]uh0jubah$}(hhh(]ȟECGtaskh*]reftypejh&]h.] refdomainhhԈ refexplicith,]uhuh4h0hhvKubh plugged in the }}(hj:h plugged in the ubjE)}}(hj:h$}(h(]name ECGtaskHandleh*]h&]h.]h,]jQ#inputarg_ECGtaskuh%`ECGtaskHandle <#inputarg_ECGtask>`__h]h ECGtaskHandle}}(hjhhubah0jDubh& property. Some common tasks, such as }}(hj:h& property. Some common tasks, such as ubjE)}}(hj:h$}(h(]name QRS detectionh*]h&]h.]h,]jQ%examples.html#QRS_automatic_detectionuh9`QRS detection `__h]h QRS detection}}(hjhhubah0jDubh and }}(hj:h and ubjE)}}(hj:h$}(h(]nameECG delineationh*]h&]h.]h,]jQ'examples.html#ECG_automatic_delineationuh=`ECG delineation `__h]hECG delineation}}(hj6hhubah0jDubhh, can be easily invoked. Also other predefined tasks or your own code can be adapted as is shown in the }}(hj:hh, can be easily invoked. Also other predefined tasks or your own code can be adapted as is shown in the ubh)}}(hj:h:doc:`examples `h]j)}}(hjOhjQh]hexamples}}(hjThhubah$}(h&]h(](hÌdoceh*]h,]h.]uh0jubah$}(hhh(]ȟexamplesh*]reftypej_h&]h.] refdomainhhԈ refexplicith,]uhuh4h0hhvKubh.}}(hj:h.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubh)}}(hj&hA more detailed description of this class, together with an explanation of how you can easily hook your algorithms to this class is :doc:`here `.h](hA more detailed description of this class, together with an explanation of how you can easily hook your algorithms to this class is }}(hjzhA more detailed description of this class, together with an explanation of how you can easily hook your algorithms to this class is ubh)}}(hjzh:doc:`here `h]j)}}(hjhjh]hhere}}(hjhhubah$}(h&]h(](hÌdoceh*]h,]h.]uh0jubah$}(hhh(]ȟ extensionsh*]reftypejh&]h.] refdomainhhԈ refexplicith,]uhuh4h0hhvK.ubh.}}(hjzhjrubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvK.hhubh)}}(hj&hFinally the results produced by the :doc:`ECGtask ` are stored in order to ease reproducibility and backup of your experiments, or to be used of subsequent tasks as shown in the `examples `__.h](h$Finally the results produced by the }}(hjh$Finally the results produced by the ubh)}}(hjh:doc:`ECGtask `h]j)}}(hjhjh]hECGtask}}(hjhhubah$}(h&]h(](hÌdoceh*]h,]h.]uh0jubah$}(hhh(]ȟECGtaskh*]reftypejh&]h.] refdomainhhԈ refexplicith,]uhuh4h0hhvK2ubh are stored in order to ease reproducibility and backup of your experiments, or to be used of subsequent tasks as shown in the }}(hjh are stored in order to ease reproducibility and backup of your experiments, or to be used of subsequent tasks as shown in the ubjE)}}(hjh$}(h(]nameexamplesh*]h&]h.]h,]jQ examples.htmluh`examples `__h]hexamples}}(hjhhubah0jDubh.}}(hjhjrubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvK2hhubeh$}(h&] descriptionah(]h*]h,] descriptionah.]uhuh4h0h]hvKhhubh^)}}(hh`hhh](hd)}}(hjhInput Argumentsh$}(h&]h(]h*]h,]h.]uh]hInput Arguments}}(hj hj ubahuh4h0hchvK:hhubh)}}(hjhX7Specify optional comma-separated pairs of ``'Name', Value`` arguments. ``'Name'`` is the argument/property name and ``Value`` is the corresponding value. ``'Name'`` must appear inside single quotes ``' '``. You can specify several name and value pair arguments in any order as ``Name1,Value1,...,NameN,ValueN``.h](h*Specify optional comma-separated pairs of }}(hjh*Specify optional comma-separated pairs of ubj)}}(hjh``'Name', Value``h]h 'Name', Value}}(hj$hhubah$}(h&]h(]h*]h,]h.]uh0jubh arguments. }}(hjh arguments. ubj)}}(hjh ``'Name'``h]h'Name'}}(hj:hhubah$}(h&]h(]h*]h,]h.]uh0jubh# is the argument/property name and }}(hjh# is the argument/property name and ubj)}}(hjh ``Value``h]hValue}}(hjPhhubah$}(h&]h(]h*]h,]h.]uh0jubh is the corresponding value. }}(hjh is the corresponding value. ubj)}}(hjh ``'Name'``h]h'Name'}}(hjfhhubah$}(h&]h(]h*]h,]h.]uh0jubh" must appear inside single quotes }}(hjh" must appear inside single quotes ubj)}}(hjh``' '``h]h' '}}(hj|hhubah$}(h&]h(]h*]h,]h.]uh0jubhH. You can specify several name and value pair arguments in any order as }}(hjhH. You can specify several name and value pair arguments in any order as ubj)}}(hjh!``Name1,Value1,...,NameN,ValueN``h]hName1,Value1,...,NameN,ValueN}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh.}}(hjhjrubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvK`h]h)}}(hj_hjah]j)}}(hjdhjah]hMatlab file format}}(hjhhhubah$}(h&]h(](hÌdoceh*]h,]h.]uh0jubah$}(hhh(]ȟ Matlab_formath*]reftypejsh&]h.] refdomainhhԈ refexplicith,]uhuh4h0hhvKdubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKcubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uh0jubj)}}(hjhhh](j)}}(hjhhh]h)}}(hjhMortarah]hMortara}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKeubah$}(h&]h(]h*]h,]h.]uh0jubj)}}(hjhhh]h)}}(hjhMortara SuperECG formath]hMortara SuperECG format}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKeubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uh0jubeh$}(h(]h*]h&]h.]colsKh,]uh0jubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]jtah(]h*]h,] ecg_formatsah.]uhuh4expect_referenced_by_id}jtjjsexpect_referenced_by_name}jjjsh0jhvNhhubh)}}(hjh[``'this_pid'`` — Process identification for multiprocess batch jobs. ``'1/1' (default)``h](j)}}(hjh``'this_pid'``h]h 'this_pid'}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh9 — Process identification for multiprocess batch jobs. }}(hjh9 — Process identification for multiprocess batch jobs. ubj)}}(hjh``'1/1' (default)``h]h'1/1' (default)}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhhubj)}}(hjhhh]h)}}(hj!hIn case working in a multiprocess environment, this value will identify the current process. Can be a numeric value, or a string of the form 'N/M'. This pid is N and the total amount of pid's to divide the whole work is M.h]hIn case working in a multiprocess environment, this value will identify the current process. Can be a numeric value, or a string of the form 'N/M'. This pid is N and the total amount of pid's to divide the whole work is M.}}(hj%hj'ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKjubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjhM``'tmp_path'`` — The path to store temporary data. ``tempdir() (default)``h](j)}}(hj;h``'tmp_path'``h]h 'tmp_path'}}(hj@hhubah$}(h&]h(]h*]h,]h.]uh0jubh' — The path to store temporary data. }}(hj;h' — The path to store temporary data. ubj)}}(hj;h``tempdir() (default)``h]htempdir() (default)}}(hjVhhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKphhubj)}}(hjhhh]h)}}(hjlh/Full path to a directory with write privileges.h]h/Full path to a directory with write privileges.}}(hjphjrubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKrubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjh```'output_path'`` — The output path to store results. ``fileparts(recording_name) (default)``h](j)}}(hjh``'output_path'``h]h 'output_path'}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh' — The output path to store results. }}(hjh' — The output path to store results. ubj)}}(hjh(``fileparts(recording_name) (default)``h]h$fileparts(recording_name) (default)}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKthhubj)}}(hjhhh]h)}}(hjhcFull path to a directory with write privileges. By default will be the same path of the recordings.h]hcFull path to a directory with write privileges. By default will be the same path of the recordings.}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKvubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjh=``'ECGtaskHandle'`` — The task to perform. ``'' (default)``h](j)}}(hjh``'ECGtaskHandle'``h]h'ECGtaskHandle'}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh — The task to perform. }}(hjh — The task to perform. ubj)}}(hjh``'' (default)``h]h '' (default)}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKyhhubj)}}(hjhhh]h)}}(hjhThe task to perform, can be the name of the task, or an ECGtask object. Available ECGtasks can be listed with ```list_all_ECGtask()`` command.h](hnThe task to perform, can be the name of the task, or an ECGtask object. Available ECGtasks can be listed with }}(hjhnThe task to perform, can be the name of the task, or an ECGtask object. Available ECGtasks can be listed with ubj)}}(hjh```list_all_ECGtask()``h]h`list_all_ECGtask()}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh command.}}(hjh command.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvK{ubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjhp``'partition_mode'`` — The way that this object will partition lengthy signals. ``'ECG_overlapped' (default)``h](j)}}(hj3h``'partition_mode'``h]h'partition_mode'}}(hj8hhubah$}(h&]h(]h*]h,]h.]uh0jubh> — The way that this object will partition lengthy signals. }}(hj3h> — The way that this object will partition lengthy signals. ubj)}}(hj3h``'ECG_overlapped' (default)``h]h'ECG_overlapped' (default)}}(hjNhhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvK~hhubj)}}(hjhhh](h)}}(hjdh1The way to do batch partition in lengthy signals:h]h1The way to do batch partition in lengthy signals:}}(hjhhjjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubh bullet_list)}}(hjdh$}(h(]bullet-h*]h&]h.]h,]uhhh](h list_item)}}(hjzh$}(h&]h(]h*]h,]h.]uh0'ECG\_contiguous' no overlapp between segments. h]h)}}(hjh/'ECG\_contiguous' no overlapp between segments.h]h.'ECG_contiguous' no overlapp between segments.}}(hjh/'ECG\_contiguous' no overlapp between segments.ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah0jubj)}}(hjzh$}(h&]h(]h*]h,]h.]uh'ECG\_overlapped' overlapp of 'overlapping\_time' among segments. This can be useful if your task have a transient period to avoid. h]h)}}(hjh'ECG\_overlapped' overlapp of 'overlapping\_time' among segments. This can be useful if your task have a transient period to avoid.h]h'ECG_overlapped' overlapp of 'overlapping_time' among segments. This can be useful if your task have a transient period to avoid.}}(hjh'ECG\_overlapped' overlapp of 'overlapping\_time' among segments. This can be useful if your task have a transient period to avoid.ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah0jubj)}}(hjzh$}(h&]h(]h*]h,]h.]uhX.'QRS' do the partition based on the annotations provided in ECG\_annotations.time property. This option is useful if your task works in the boundaries of a fiducial point (commonly a heartbeat), and not in the whole signal. This partition mode ignores those parts of the recording without annotations. h]h)}}(hjhX-'QRS' do the partition based on the annotations provided in ECG\_annotations.time property. This option is useful if your task works in the boundaries of a fiducial point (commonly a heartbeat), and not in the whole signal. This partition mode ignores those parts of the recording without annotations.h]hX,'QRS' do the partition based on the annotations provided in ECG_annotations.time property. This option is useful if your task works in the boundaries of a fiducial point (commonly a heartbeat), and not in the whole signal. This partition mode ignores those parts of the recording without annotations.}}(hjhX-'QRS' do the partition based on the annotations provided in ECG\_annotations.time property. This option is useful if your task works in the boundaries of a fiducial point (commonly a heartbeat), and not in the whole signal. This partition mode ignores those parts of the recording without annotations.ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah0jubeh0jwubeh$}(h&]h(]h*]h,]h.]uhuNh0jhvNhhubh)}}(hjhd``'overlapping_time'`` — Time in seconds of overlapp among consequtive segments. ``30 (default)``h](j)}}(hjh``'overlapping_time'``h]h'overlapping_time'}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh= — Time in seconds of overlapp among consequtive segments. }}(hjh= — Time in seconds of overlapp among consequtive segments. ubj)}}(hjh``30 (default)``h]h 30 (default)}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hjhhh]h)}}(hj hTime in seconds of overlapp among consequtive segments. This segment is useful for ensuring the end of all transients within a task.h]hTime in seconds of overlapp among consequtive segments. This segment is useful for ensuring the end of all transients within a task.}}(hj hj ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjhb``'cacheResults'`` — Save intermediate results to recover in case of failure. ``true (default)``h](j)}}(hj- h``'cacheResults'``h]h'cacheResults'}}(hj2 hhubah$}(h&]h(]h*]h,]h.]uh0jubh> — Save intermediate results to recover in case of failure. }}(hj- h> — Save intermediate results to recover in case of failure. ubj)}}(hj- h``true (default)``h]htrue (default)}}(hjH hhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hjhhh]h)}}(hj^ h[Save intermediate results to recover in case of errors. Useful for long jobs or recordings.h]h[Save intermediate results to recover in case of errors. Useful for long jobs or recordings.}}(hjb hjd ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjhk```'syncSlavesWithMaster'`` — Time in seconds of overlapp among consequtive segments. ``false (default)``h](j)}}(hjx h```'syncSlavesWithMaster'``h]h`'syncSlavesWithMaster'}}(hj} hhubah$}(h&]h(]h*]h,]h.]uh0jubh= — Time in seconds of overlapp among consequtive segments. }}(hjx h= — Time in seconds of overlapp among consequtive segments. ubj)}}(hjx h``false (default)``h]hfalse (default)}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hjhhh]h)}}(hj hIn multiprocess environments sometimes it is useful to terminate all pid's together in order to start subsequent tasks synchronously. This value forces all parts of a multipart process to wait until all other parts finish.h]hIn multiprocess environments sometimes it is useful to terminate all pid's together in order to start subsequent tasks synchronously. This value forces all parts of a multipart process to wait until all other parts finish.}}(hj hj ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjhB``'repetitions'`` — Times to repeat the ECGtask. ``1 (default)``h](j)}}(hj h``'repetitions'``h]h 'repetitions'}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0jubh" — Times to repeat the ECGtask. }}(hj h" — Times to repeat the ECGtask. ubj)}}(hj h``1 (default)``h]h 1 (default)}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hjhhh]h)}}(hj hjIn case the ECGtask is not deterministic, the repetition property allows to repeat the task several times.h]hjIn case the ECGtask is not deterministic, the repetition property allows to repeat the task several times.}}(hj hj ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjhSOther public properties to configure the object, or to access recording's data are:h]hSOther public properties to configure the object, or to access recording's data are:}}(hj hj ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubh)}}(hjhE``Error`` — Did the ECGtask produce any Error ? ``false (default)``h](j)}}(hj h ``Error``h]hError}}(hj# hhubah$}(h&]h(]h*]h,]h.]uh0jubh) — Did the ECGtask produce any Error ? }}(hj h) — Did the ECGtask produce any Error ? ubj)}}(hj h``false (default)``h]hfalse (default)}}(hj9 hhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hjhhh]h)}}(hjO h0You can check this value after executing a task.h]h0You can check this value after executing a task.}}(hjS hjU ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjhF``Processed`` — Was the task already processed ? ``false (default)``h](j)}}(hji h ``Processed``h]h Processed}}(hjn hhubah$}(h&]h(]h*]h,]h.]uh0jubh& — Was the task already processed ? }}(hji h& — Was the task already processed ? ubj)}}(hji h``false (default)``h]hfalse (default)}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hjhhh]h)}}(hj hTYou can check if you have already issued a Run method for the current configuration.h]hTYou can check if you have already issued a Run method for the current configuration.}}(hj hj ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjh+``NoWork2Do`` — Has this PID work to do ?h](j)}}(hj h ``NoWork2Do``h]h NoWork2Do}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0jubh — Has this PID work to do ?}}(hj h — Has this PID work to do ?ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hjhhh]h)}}(hj hIn a multi-PID environment, certain tasks are too short to provide work to all configured PIDs. You can check to this flag to deal with it in your code.h]hIn a multi-PID environment, certain tasks are too short to provide work to all configured PIDs. You can check to this flag to deal with it in your code.}}(hj hj ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubjh)}}(hjh.. _ECG_header_description:h]h$}(h(]h*]h&]h.]jsecg-header-descriptionh,]uhuh4h0jghvKhhubh)}}(hjhD``ECG_header`` — The gathered information about the ECG recording.h](j)}}(hj h``ECG_header``h]h ECG_header}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0jubh6 — The gathered information about the ECG recording.}}(hj h6 — The gathered information about the ECG recording.ubeh$}(h&]j ah(]h*]h,]ecg_header_descriptionah.]uhuh4j}j j sj}j j sh0hhvKhhubj)}}(hjhhh](h)}}(hj h<**ECG\_header**, is a struct with the following information:h](j)}}(hj# h**ECG\_header**h]h ECG_header}}(hj( hhubah$}(h&]h(]h*]h,]h.]uh0jubh-, is a struct with the following information:}}(hj# h-, is a struct with the following information:ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubjx)}}(hj h$}(h(]j~jh*]h&]h.]h,]uhhh](j)}}(hjD h$}(h&]h(]h*]h,]h.]uh9*freq*, is the sampling frequency of ECG\_matrix signal. h]h)}}(hjN h8*freq*, is the sampling frequency of ECG\_matrix signal.h](hemphasis)}}(hjY h*freq*h]hfreq}}(hj` hhubah$}(h&]h(]h*]h,]h.]uh0j] ubh1, is the sampling frequency of ECG_matrix signal.}}(hjY h2, is the sampling frequency of ECG\_matrix signal.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah0jubj)}}(hjD 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]hdesc}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0j] ubh6, description strings about each of the leads/signals.}}(hj h6, description strings about each of the leads/signals.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah0jubj)}}(hjD h$}(h&]h(]h*]h,]h.]uh1*nsamp* is the number of samples of ECG\_matrix. h]h)}}(hj h0*nsamp* is the number of samples of ECG\_matrix.h](j^ )}}(hj h*nsamp*h]hnsamp}}(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.]uhuh4h0hhvKubah0jubj)}}(hjD h$}(h&]h(]h*]h,]h.]uh9*nsig* is the amount of leads or signals of ECG\_matrix. h]h)}}(hj h8*nsig* is the amount of leads or signals of ECG\_matrix.h](j^ )}}(hj h*nsig*h]hnsig}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0j] ubh1 is the amount of leads or signals of ECG_matrix.}}(hj h2 is the amount of leads or signals of ECG\_matrix.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah0jubj)}}(hjD h$}(h&]h(]h*]h,]h.]uhS*gain* is a vector of [nsig × 1] with the gain of each lead ( ADCsamples / μV ). h]h)}}(hj hR*gain* is a vector of [nsig × 1] with the gain of each lead ( ADCsamples / μV ).h](j^ )}}(hj h*gain*h]hgain}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0j] ubhL is a vector of [nsig × 1] with the gain of each lead ( ADCsamples / μV ).}}(hj hL is a vector of [nsig × 1] with the gain of each lead ( ADCsamples / μV ).ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah0jubj)}}(hjD h$}(h&]h(]h*]h,]h.]uhR*adczero* is a vector of [nsig × 1] with the offset of each lead in ADC samples. h]h)}}(hj, hQ*adczero* is a vector of [nsig × 1] with the offset of each lead in ADC samples.h](j^ )}}(hj7 h *adczero*h]hadczero}}(hj< hhubah$}(h&]h(]h*]h,]h.]uh0j] ubhH is a vector of [nsig × 1] with the offset of each lead in ADC samples.}}(hj7 hH is a vector of [nsig × 1] with the offset of each lead in ADC samples.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah0jubeh0jwubh)}}(hj hiand others described in the `Physionet header `__.h](hand others described in the }}(hjX hand others described in the ubjE)}}(hjX h$}(h(]namePhysionet headerh*]h&]h.]h,]jQ5http://www.physionet.org/physiotools/wag/header-5.htmuhL`Physionet header `__h]hPhysionet header}}(hjc hhubah0jDubh.}}(hjX hjrubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubeh$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjh@``ECG_annotations`` — Annotations provided with the recording.h](j)}}(hj h``ECG_annotations``h]hECG_annotations}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0jubh- — Annotations provided with the recording.}}(hj h- — Annotations provided with the recording.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hjhhh]h)}}(hj hCommonly QRS detections, signal quality annotations or other type of measurements included with the recordings. Some documentation about annotations in `Physionet `__.h](hCommonly QRS detections, signal quality annotations or other type of measurements included with the recordings. Some documentation about annotations in }}(hj hCommonly QRS detections, signal quality annotations or other type of measurements included with the recordings. Some documentation about annotations in ubjE)}}(hj h$}(h(]name Physioneth*]h&]h.]h,]jQ5http://www.physionet.org/physiobank/annotations.shtmluhE`Physionet `__h]h Physionet}}(hj hhubah0jDubh.}}(hj hjrubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjhB``class_labeling`` — Class conversion for heartbeat annotations.h](j)}}(hj h``class_labeling``h]hclass_labeling}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0jubh0 — Class conversion for heartbeat annotations.}}(hj h0 — Class conversion for heartbeat annotations.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hjhhh]h)}}(hj hXIn case the annotations includes heartbeat types, this property indicates the class-labeling convention used. The `EC-57 AAMI recommendation `__ is de default value. The possible values are ``'AAMI'`` or ``AAMI2``. The ``AAMI2`` is equal to ``AAMI`` except that only consider three heartbeat classes, *normal* (N), *ventricular* (V) and *supraventricular* (S).h](hrIn case the annotations includes heartbeat types, this property indicates the class-labeling convention used. The }}(hj hrIn case the annotations includes heartbeat types, this property indicates the class-labeling convention used. The ubjE)}}(hj h$}(h(]nameEC-57 AAMI recommendationh*]h&]h.]h,]jQ\http://marketplace.aami.org/eseries/scriptcontent/docs/Preview%20Files/EC57_1212_preview.pdfuh|`EC-57 AAMI recommendation `__h]hEC-57 AAMI recommendation}}(hj hhubah0jDubh. is de default value. The possible values are }}(hj h. is de default value. The possible values are ubj)}}(hj h ``'AAMI'``h]h'AAMI'}}(hj$ hhubah$}(h&]h(]h*]h,]h.]uh0jubh or }}(hj h or ubj)}}(hj h ``AAMI2``h]hAAMI2}}(hj: hhubah$}(h&]h(]h*]h,]h.]uh0jubh. The }}(hj h. The ubj)}}(hj h ``AAMI2``h]hAAMI2}}(hjP hhubah$}(h&]h(]h*]h,]h.]uh0jubh is equal to }}(hj h is equal to ubj)}}(hj h``AAMI``h]hAAMI}}(hjf hhubah$}(h&]h(]h*]h,]h.]uh0jubh4 except that only consider three heartbeat classes, }}(hj h4 except that only consider three heartbeat classes, ubj^ )}}(hj h*normal*h]hnormal}}(hj| hhubah$}(h&]h(]h*]h,]h.]uh0j] ubh (N), }}(hj h (N), ubj^ )}}(hj h *ventricular*h]h ventricular}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0j] ubh (V) and }}(hj h (V) and ubj^ )}}(hj h*supraventricular*h]hsupraventricular}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0j] ubh (S).}}(hj h (S).ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hjhO``user_string`` — A string to individualize each experiment. ``'' (default)``h](j)}}(hj h``user_string``h]h user_string}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0jubh0 — A string to individualize each experiment. }}(hj h0 — A string to individualize each experiment. ubj)}}(hj h``'' (default)``h]h '' (default)}}(hj hhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubh)}}(hjhA``Result_files`` — The result filenames produced by an ECGtask.h](j)}}(hj h``Result_files``h]h Result_files}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh1 — The result filenames produced by an ECGtask.}}(hj h1 — The result filenames produced by an ECGtask.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hjhhh]h)}}(hjhOOnce the task is completed, this property records the filenames of the results.h]hOOnce the task is completed, this property records the filenames of the results.}}(hj hj"ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubeh$}(h&]input-argumentsah(]h*]h,]input argumentsah.]uhuh4h0h]hvK:hhubh^)}}(hh`hhh](hd)}}(hj>hMethodsh$}(h&]h(]h*]h,]h.]uh]hMethods}}(hjBhjDubahuh4h0hchvKhhubh)}}(hj>h(Some useful methods are described below.h]h(Some useful methods are described below.}}(hjRhjTubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubh)}}(hj>h ``Run`` — Execute the ECG taskh](j)}}(hjbh``Run``h]hRun}}(hjghhubah$}(h&]h(]h*]h,]h.]uh0jubh — Execute the ECG task}}(hjbh — Execute the ECG taskubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hj>hhh]h)}}(hjh-This method executes the configured ECG task.h]h-This method executes the configured ECG task.}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hj>h'``read_signal`` — Read signal samplesh](j)}}(hjh``read_signal``h]h read_signal}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh — Read signal samples}}(hjh — Read signal samplesubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hj>hhh](h)}}(hjh;This method allows to easily reads samples from a recordingh]h;This method allows to easily reads samples from a recording}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubj)}}(hjhK% function prototype function ECG = read_signal(ECG_start_idx, ECG_end_idx)h]hK% function prototype function ECG = read_signal(ECG_start_idx, ECG_end_idx)}}(hjhK% function prototype function ECG = read_signal(ECG_start_idx, ECG_end_idx)ubah$}(h(]jah*]h&]h.]jjh,]uh0jubh)}}(hjhwhere the arguments are:h]hwhere the arguments are:}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubj)}}(hjhhh](h)}}(hjhB**ECG\_start\_idx**, is the first sample to read. ``1 (default)``.h](j)}}(hjh**ECG\_start\_idx**h]h ECG_start_idx}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh, is the first sample to read. }}(hjh, is the first sample to read. ubj)}}(hjh``1 (default)``h]h 1 (default)}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh.}}(hjhjrubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubh)}}(hjhN**ECG\_end\_idx**, is the last sample to read. ``ECG\_header.nsamp (default)``h](j)}}(hj-h**ECG\_end\_idx**h]h ECG_end_idx}}(hj2hhubah$}(h&]h(]h*]h,]h.]uh0jubh, is the last sample to read. }}(hj-h, is the last sample to read. ubj)}}(hj-h``ECG\_header.nsamp (default)``h]hECG\_header.nsamp (default)}}(hjHhhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubeh$}(h&]h(]h*]h,]h.]uh0jubh)}}(hjhand as a result, it returns:h]hand as a result, it returns:}}(hjdhjfubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubj)}}(hjhhh]h)}}(hjthi**ECG**, which is a matrix of size ``[(ECG\_end\_idx - ECG\_start\_idx + 1) ECG\_header.nsig] (default)``h](j)}}(hjxh**ECG**h]hECG}}(hj}hhubah$}(h&]h(]h*]h,]h.]uh0jubh, which is a matrix of size }}(hjxh, which is a matrix of size ubj)}}(hjxhF``[(ECG\_end\_idx - ECG\_start\_idx + 1) ECG\_header.nsig] (default)``h]hB[(ECG\_end\_idx - ECG\_start\_idx + 1) ECG\_header.nsig] (default)}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubah$}(h&]h(]h*]h,]h.]uh0jubh)}}(hjhas it is exemplified belowh]has it is exemplified below}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvKubj)}}(hjh7% reads ECG 100 samples ECG = ECG_w.read_signal(1, 99);h]h7% reads ECG 100 samples ECG = ECG_w.read_signal(1, 99);}}(hjh7% reads ECG 100 samples ECG = ECG_w.read_signal(1, 99);ubah$}(h(]jah*]h&]h.]jjh,]uh0jubeh$}(h&]h(]h*]h,]h.]uhuNh0jhvNhhubh)}}(hj>hQ``ReportErrors`` — Display the error report generated during the task executionh](j)}}(hjh``ReportErrors``h]h ReportErrors}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubhA — Display the error report generated during the task execution}}(hjhA — Display the error report generated during the task executionubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvKhhubj)}}(hj>hhh]h)}}(hjh:This method reports error generated during task execution.h]h:This method reports error generated during task execution.}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvMubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubh)}}(hj>hN``GetCahchedFileName`` — Find the result files of an specific recording/taskh](j)}}(hjh``GetCahchedFileName``h]hGetCahchedFileName}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh8 — Find the result files of an specific recording/task}}(hjh8 — Find the result files of an specific recording/taskubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvMhhubj)}}(hj>hhh](h)}}(hj2hZThis method returns the cached filename for an specific recording, and task, if available.h]hZThis method returns the cached filename for an specific recording, and task, if available.}}(hj6hj8ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvMubj)}}(hj2h% Get result filename of previous QRS detection. % The corrected/audited version has precedence if available. cached_filenames = ECGw.GetCahchedFileName({'QRS_corrector' 'QRS_detection'});h]h% Get result filename of previous QRS detection. % The corrected/audited version has precedence if available. cached_filenames = ECGw.GetCahchedFileName({'QRS_corrector' 'QRS_detection'});}}(hjFh% Get result filename of previous QRS detection. % The corrected/audited version has precedence if available. cached_filenames = ECGw.GetCahchedFileName({'QRS_corrector' 'QRS_detection'});ubah$}(h(]jah*]h&]h.]jjh,]uh0jubeh$}(h&]h(]h*]h,]h.]uhuNh0jhvNhhubeh$}(h&]methodsah(]h*]h,]methodsah.]uhuh4h0h]hvKhhubh^)}}(hh`hhh](hd)}}(hjehExamplesh$}(h&]h(]h*]h,]h.]uh]hExamples}}(hjihjkubahuh4h0hchvMhhubh^)}}(hjehhh](hd)}}(hjyh&Create the simplest ECG wrapper objecth$}(h&]h(]h*]h,]h.]uh]h&Create the simplest ECG wrapper object}}(hj}hjubahuh4h0hchvMhhubh)}}(hjyhCreate the ECGwrapper object.h]hCreate the ECGwrapper object.}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvMhhubj)}}(hjyh>> ECG_w = ECGwrapper() ECG_w = ############################ # ECGwrapper object config # ############################ +ECG recording: None selected +PID: 1/1 +Repetitions: 1 +Partition mode: ECG_overlapped +Function name: Null task +Processed: falseh]h>> ECG_w = ECGwrapper() ECG_w = ############################ # ECGwrapper object config # ############################ +ECG recording: None selected +PID: 1/1 +Repetitions: 1 +Partition mode: ECG_overlapped +Function name: Null task +Processed: false}}(hjh>> ECG_w = ECGwrapper() ECG_w = ############################ # ECGwrapper object config # ############################ +ECG recording: None selected +PID: 1/1 +Repetitions: 1 +Partition mode: ECG_overlapped +Function name: Null task +Processed: falseubah$}(h(]jah*]h&]h.]jjh,]uhuh4h0jhvM%hhubh)}}(hjyh;Then, in your script or in the command window you can type:h]h;Then, in your script or in the command window you can type:}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvM&hhubj)}}(hjyhXA>> ECG_w.recording_name = 'some_path\100'; >> ECG_w.ECGtaskHandle = 'QRS_detection' ECG_w = ############################ # ECGwrapper object config # ############################ +ECG recording: some_path\100 (auto) +PID: 1/1 +Repetitions: 1 +Partition mode: ECG_overlapped +Function name: QRS_detection +Processed: falseh]hXA>> ECG_w.recording_name = 'some_path\100'; >> ECG_w.ECGtaskHandle = 'QRS_detection' ECG_w = ############################ # ECGwrapper object config # ############################ +ECG recording: some_path\100 (auto) +PID: 1/1 +Repetitions: 1 +Partition mode: ECG_overlapped +Function name: QRS_detection +Processed: false}}(hjhXA>> ECG_w.recording_name = 'some_path\100'; >> ECG_w.ECGtaskHandle = 'QRS_detection' ECG_w = ############################ # ECGwrapper object config # ############################ +ECG recording: some_path\100 (auto) +PID: 1/1 +Repetitions: 1 +Partition mode: ECG_overlapped +Function name: QRS_detection +Processed: falseubah$}(h(]jah*]h&]h.]jjh,]uhuh4h0jhvM7hhubh)}}(hjyh0Now, you just want to run the task by executing:h]h0Now, you just want to run the task by executing:}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvM8hhubj)}}(hjyh>> ECG_w.Run();h]h>> ECG_w.Run();}}(hjhjubah$}(h(]jah*]h&]h.]jjh,]uhuh4h0jhvM>hhubeh$}(h&]&create-the-simplest-ecg-wrapper-objectah(]h*]h,]&create the simplest ecg wrapper objectah.]uhuh4h0h]hvMhhubh^)}}(hjehhh](hd)}}(hjh>Create an ECGwrapper object for an specific recording and taskh$}(h&]h(]h*]h,]h.]uh]h>Create an ECGwrapper object for an specific recording and task}}(hjhjubahuh4h0hchvM@hhubh)}}(hjhZIn this case, we create the same object of the previous example but using the name-value .h]hZIn this case, we create the same object of the previous example but using the name-value .}}(hj hj ubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvMBhhubj)}}(hjhX>> ECG_w = ECGwrapper( ... 'recording_name', 'some_path\100', ... 'recording_format', 'MIT', ... 'ECGtaskHandle', 'QRS_detection', ... ) ECG_w = ############################ # ECGwrapper object config # ############################ +ECG recording: some_path\100 (auto) +PID: 1/1 +Repetitions: 1 +Partition mode: ECG_overlapped +Function name: QRS_detection +Processed: false >> ECG_w.Run();h]hX>> ECG_w = ECGwrapper( ... 'recording_name', 'some_path\100', ... 'recording_format', 'MIT', ... 'ECGtaskHandle', 'QRS_detection', ... ) ECG_w = ############################ # ECGwrapper object config # ############################ +ECG recording: some_path\100 (auto) +PID: 1/1 +Repetitions: 1 +Partition mode: ECG_overlapped +Function name: QRS_detection +Processed: false >> ECG_w.Run();}}(hjhX>> ECG_w = ECGwrapper( ... 'recording_name', 'some_path\100', ... 'recording_format', 'MIT', ... 'ECGtaskHandle', 'QRS_detection', ... ) ECG_w = ############################ # ECGwrapper object config # ############################ +ECG recording: some_path\100 (auto) +PID: 1/1 +Repetitions: 1 +Partition mode: ECG_overlapped +Function name: QRS_detection +Processed: false >> ECG_w.Run();ubah$}(h(]jah*]h&]h.]jjh,]uhuh4h0jhvMYhhubeh$}(h&]>create-an-ecgwrapper-object-for-an-specific-recording-and-taskah(]h*]h,]>create an ecgwrapper object for an specific recording and taskah.]uhuh4h0h]hvM@hhubh^)}}(hjehhh](hd)}}(hj4h2Create an ECGwrapper and access the recording datah$}(h&]h(]h*]h,]h.]uh]h2Create an ECGwrapper and access the recording data}}(hj8hj:ubahuh4h0hchvM[hhubh)}}(hj4hLIn this case, we create an object and access to the ``ECG_header`` property.h](h4In this case, we create an object and access to the }}(hjHh4In this case, we create an object and access to the ubj)}}(hjHh``ECG_header``h]h ECG_header}}(hjShhubah$}(h&]h(]h*]h,]h.]uh0jubh property.}}(hjHh property.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvM]hhubj)}}(hj4hX>> ECGw = ECGwrapper( 'recording_name', 'd:\mariano\misc\ecg-kit\recordings\208') ECGw = ############################ # ECGwrapper object config # ############################ +ECG recording: d:\mariano\misc\ecg-kit\recordings\208 (auto) +PID: 1/1 +Repetitions: 1 +Partition mode: ECG_overlapped +Function name: Null task +Processed: false >> ECGw.ECG_header ans = recname: '208' nsig: 2 freq: 360 nsamp: 650000 btime: '00:00:00' bdate: '01/01/2000' spf: [2x1 double] baseline: [2x1 double] units: [2x2 char] fname: [2x7 char] group: [2x1 double] fmt: [2x1 double] gain: [2x1 double] adcres: [2x1 double] adczero: [2x1 double] initval: [2x1 double] cksum: [2x1 double] bsize: [2x1 double] desc: [2x5 char]h]hX>> ECGw = ECGwrapper( 'recording_name', 'd:\mariano\misc\ecg-kit\recordings\208') ECGw = ############################ # ECGwrapper object config # ############################ +ECG recording: d:\mariano\misc\ecg-kit\recordings\208 (auto) +PID: 1/1 +Repetitions: 1 +Partition mode: ECG_overlapped +Function name: Null task +Processed: false >> ECGw.ECG_header ans = recname: '208' nsig: 2 freq: 360 nsamp: 650000 btime: '00:00:00' bdate: '01/01/2000' spf: [2x1 double] baseline: [2x1 double] units: [2x2 char] fname: [2x7 char] group: [2x1 double] fmt: [2x1 double] gain: [2x1 double] adcres: [2x1 double] adczero: [2x1 double] initval: [2x1 double] cksum: [2x1 double] bsize: [2x1 double] desc: [2x5 char]}}(hjohhubah$}(h(]h*]linenosh&]h.]highlight_args}jjh,]languagenoneuhuh4h0jhvM_hhubh)}}(hj4hKThen we get the first 1000 signal samples using the ``read_signal`` method.h](h4Then we get the first 1000 signal samples using the }}(hjh4Then we get the first 1000 signal samples using the ubj)}}(hjh``read_signal``h]h read_signal}}(hjhhubah$}(h&]h(]h*]h,]h.]uh0jubh method.}}(hjh method.ubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvMhhubj)}}(hj4h!>> plot(ECGw.read_signal(1,1000))h]h!>> plot(ECGw.read_signal(1,1000))}}(hjhhubah$}(h(]h*]j{h&]h.]j~}jjh,]jnoneuhuh4h0jhvMhhubh)}}(hj4h&as result we obtain the following ploth]h&as result we obtain the following plot}}(hjhjubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvMhhubhimage)}}(hj4h$.. image:: read_signal_example.png h]h$}(h(]uriread_signal_example.pngh*]h&]h.] candidates}*jsh,]uhuh4h0jhvMhhubeh$}(h&]2create-an-ecgwrapper-and-access-the-recording-dataah(]h*]h,]2create an ecgwrapper and access the recording dataah.]uhuh4h0h]hvM[hhubeh$}(h&]examplesah(]h*]h,]examplesah.]uhuh4h0h]hvMhhubh^)}}(hh`hhh](hd)}}(hjhOther resourcesh$}(h&]h(]h*]h,]h.]uh]hOther resources}}(hjhjubahuh4h0hchvMhhubjx)}}(hjhhh$}(h(]j~jh*]h&]h.]h,]uh](j)}}(hjh)`Physionet.org `__h$}(h&]h(]h*]h,]h.]uh]h)}}(hj hjh]jE)}}(hjh$}(h(]name Physionet.orgh*]h&]h.]h,]jQhttp://physionet.org/uhjh]h Physionet.org}}(hjhhubah0jDubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvMubahuh4h0jhvNhhubj)}}(hjhI`Telemetric and Holter ECG Warehouse (THEW) `__h$}(h&]h(]h*]h,]h.]uh]h)}}(hj4hI`Telemetric and Holter ECG Warehouse (THEW) `__h]jE)}}(hj?h$}(h(]name*Telemetric and Holter ECG Warehouse (THEW)h*]h&]h.]h,]jQhttp://thew-project.org/uhjAh]h*Telemetric and Holter ECG Warehouse (THEW)}}(hjDhhubah0jDubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvMubahuh4h0jhvNhhubj)}}(hjh`Pablo Laguna research group at University of Zaragoza `__h$}(h&]h(]h*]h,]h.]uh]h)}}(hj\h`Pablo Laguna research group at University of Zaragoza `__h]jE)}}(hjgh$}(h(]name5Pablo Laguna research group at University of Zaragozah*]h&]h.]h,]jQFhttp://diec.unizar.es/~laguna/personal/publicaciones/publicaciones.htmuhjih]h5Pablo Laguna research group at University of Zaragoza}}(hjlhhubah0jDubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvMubahuh4h0jhvNhhubj)}}(hjh0`Computing in Cardiology `__ h$}(h&]h(]h*]h,]h.]uh]h)}}(hjh.`Computing in Cardiology `__h]jE)}}(hjh$}(h(]nameComputing in Cardiologyh*]h&]h.]h,]jQhttp://cinc.org/uhjh]hComputing in Cardiology}}(hjhhubah0jDubah$}(h&]h(]h*]h,]h.]uhuh4h0hhvMubahuh4h0jhvNhhubehuh4h0jwhvMhhubeh$}(h&]other-resourcesah(]h*]h,]other resourcesah.]uhuh4h0h]hvMhhubh^)}}(hh`hhh](hd)}}(hjhSee Alsoh$}(h&]h(]h*]h,]h.]uh]hSee Also}}(hjhjubahuh4h0hchvMhhubj)}}(hjhhh]h)}}(hjh6:doc:`ECGtask ` \| :doc:`Examples `h](h)}}(hjh:doc:`ECGtask `h]j)}}(hjhjh]hECGtask}}(hjhhubah$}(h&]h(](hÌdoceh*]h,]h.]uh0jubah$}(hhh(]ȟECGtaskh*]reftypejh&]h.] refdomainhhԈ refexplicith,]uhuh4h0hhvMubh | }}(hjh \| ubh)}}(hjh:doc:`Examples `h]j)}}(hjhjh]hExamples}}(hjhhubah$}(h&]h(](hÌdoceh*]h,]h.]uh0jubah$}(hhh(]ȟexamplesh*]reftypejh&]h.] refdomainhhԈ refexplicith,]uhuh4h0hhvMubeh$}(h&]h(]h*]h,]h.]uhuh4h0hhvMubah$}(h&]h(]h*]h,]h.]uhuh4h0jhvNhhubjh)}}(hjhG.. _`MIT format`: http://www.physionet.org/physiotools/wag/signal-5.htmh] referencedKh$}(h(]jQj4h*]h&] mit-formatah.]h,] mit formatauhuh4h0jghvMhhubjh)}}(hjh>.. _`ISHNE format`: http://thew-project.org/THEWFileFormat.htmh]j%Kh$}(h(]jQjh*]h&] ishne-formatah.]h,] ishne formatauhuh4h0jghvMhhubjh)}}(hjhc.. _`American Heart Association ECG Database`: https://www.ecri.org/Products/Pages/AHA_ECG_DVD.aspxh]j%Kh$}(h(]jQjh*]h&]'american-heart-association-ecg-databaseah.]h,]'american heart association ecg databaseauhuh4h0jghvMhhubjh)}}(hjhP.. _`AHA in Physionet`: http://www.physionet.org/physiotools/old/dbpg/dbu_84.htmh]j%Kh$}(h(]jQjh*]h&]aha-in-physionetah.]h,]aha in physionetauhuh4h0jghvMhhubeh$}(h&]see-alsoah(]h*]h,]see alsoah.]uhuh4h0h]hvMhhubeh$}(h&] ecgwrapperah(]h*]h,] ecgwrapperah.]uhuh4h0h]hvKhhubaautofootnote_refs]settingsdocutils.frontendValues)}}(envNhcNconfigN source_urlNauto_id_prefixid generatorNtrim_footnote_reference_space toc_backlinksjexit_status_levelKdump_pseudo_xmlNgettext_compactwarning_streamN _destinationNoutput_encodingutf-8 language_codeenstrip_commentsN sectnum_xformKsyntax_highlightlong docinfo_xformKpep_referencesN rfc_base_urlhttps://tools.ietf.org/html/error_encoding_error_handlerbackslashreplacesectsubtitle_xform dump_settingsN datestampNdump_transformsNrfc_referencesN pep_base_url https://www.python.org/dev/peps/debugN strip_classesN halt_levelK smart_quotesstrict_visitorN raw_enabledKpep_file_url_templatepep-%04d _config_files]strip_elements_with_classesNinput_encoding_error_handlerstrictfootnote_backlinksKerror_encodingcp850 report_levelKinput_encoding utf-8-sig_disable_configN traceback id_prefixhcloak_email_addresses tab_widthKoutput_encoding_error_handlerjfile_insertion_enabledexpose_internalsNrecord_dependenciesN_sourceh4dump_internalsNembed_stylesheetdoctitle_xform source_linkNub current_lineN citation_refs}parse_messages]substitution_names}h$}(h(]sourceh4h*]h&]h.]h,]u citations]hhids}(j-jj*j!jjyj j jhj^j>jDj<jWjjtjwj7j/jj&j7jj_h`jQjIjj4jjjjeurefnames}('american heart association ecg database]jaaha in physionet]ja ishne format]jva mit format]j*aurefids}(jt]jjaj ]j ausymbol_footnote_refs]symbol_footnotes]substitution_defs}id_startKnameids}(j[jWjGjDj:j7j#jjjjbj^jjjjj;j7jTjQjcj_jjtjjj1j-j j jjj-j*u nametypes}(j[NjGj:j#NjNjbNjNjNj;NjTjcNjjNj1Nj jNj-uautofootnote_startKindirect_targets] autofootnotes] footnotes]ub.